Salmon Egg 是一款依托 ACP 协议打造的桌面端智能体客户端。
它将智能对话交互、本地实用工具、终端指令操作以及远程智能体服务整合在同一界面中,尽量减少在多个软件和窗口之间来回切换的成本。
你可以连接本地或远程 ACP 服务,新建和恢复会话,查看完整对话记录与工具调用反馈,并在需要时直接在应用内完成终端相关工作流。针对日常使用场景,应用还提供语音输入、个性化设置与诊断支持。
- 在 Windows 桌面上稳定使用 ACP 智能体能力
- 把智能体交互和本地工具工作流放进同一个工作区
- 统一查看会话、工具调用结果和终端反馈
- 连接本地或远程 ACP 服务
- 创建、恢复和管理会话
- 展示对话、工具调用与结果反馈
- 支持本地终端与子进程工作流
- 支持语音输入
- 提供设置、日志与诊断能力
- Uno Platform 6.6+(仓库锁定
Uno.Sdk6.6.29) - .NET 10(仓库锁定 SDK 10.0.302,允许 10.0.3xx patch 前滚)
- WinUI 3(Windows)
- Clean Architecture + MVVM
SalmonEgg/
├── SalmonEgg/SalmonEgg/ # Uno Platform 主项目
├── src/
│ ├── SalmonEgg.Domain/ # 领域层
│ ├── SalmonEgg.Application/ # 应用层
│ ├── SalmonEgg.Infrastructure/ # 基础设施层
│ ├── SalmonEgg.Infrastructure.Desktop/
│ ├── SalmonEgg.Presentation.Core/
│ ├── SalmonEgg.Acp/ # 独立 ACP 协议 SDK
│ └── SalmonEgg.Cli/ # 配置管理 CLI
├── tests/
└── docs/
环境和构建细节请优先参考 BUILD_GUIDE.md。
- .NET SDK 10.0.302 或兼容的 10.0.3xx patch(见
global.json) - Windows 10 1809+ / Windows 11(WinUI 3 / MSIX);Windows 建议 Visual Studio 18.8+
- 或等效命令行工具链(Linux/macOS 可构建 Desktop / WASM)
# 恢复依赖
dotnet restore SalmonEgg.sln
# 构建解决方案
dotnet build SalmonEgg.sln --configuration Release
# 运行测试
dotnet test --solution SalmonEgg.sln
# Windows 原生 MSIX 验证
build.bat msix仓库包含一个跨平台桌面 CLI,用于管理服务器配置与凭据。发布产物是 self-contained 单文件,用户无需预装 .NET。安装 GUI 不会注册 salmon-egg 命令,全局命令只来自 CLI 安装包。
| 平台 | 安装方式 | PATH |
|---|---|---|
| Linux x64 | sudo dpkg -i salmon-egg-cli_<版本>_amd64.deb |
dpkg 安装到 /usr/bin/salmon-egg,卸载时移除 |
| Windows x64 | 运行 salmon-egg-cli-<版本>-win-x64.msi(per-user) |
MSI 追加安装目录到用户 PATH,卸载时移除 |
| macOS Apple Silicon | brew install --formula ./salmon-egg-cli.rb |
Homebrew 链接到其 bin,已在 PATH 上 |
也提供 .tar.gz / .zip 压缩包供自行放入 PATH。win-arm64、linux-arm64、osx-x64 等不属于正式支持范围:可交叉编译,但没有真实机器验证。
salmon-egg --help
salmon-egg config server list
# 凭据写入默认 fail-closed:平台安全存储不可用时写入失败,而非静默降级为明文
printf '%s\n' "$AGENT_TOKEN" | salmon-egg set-credential <server-id> --token-stdin
# 需要明文降级时必须显式声明
printf '%s\n' "$AGENT_TOKEN" | salmon-egg --allow-insecure-storage set-credential <server-id> --token-stdin凭据值只从 stdin 读取,不会进入进程参数、YAML 或 has-credential 输出。非凭据配置操作不受该策略影响。该策略针对 Linux Secret Service 与 macOS Keychain;Windows DPAPI 始终可用,该 flag 在 Windows 上无实际作用。完整命令示例见 README.en.md,发布与安装细节见 发布指南。
Windows Store / MSIX 提交以仓库中的 WinUI 3 MSIX 打包链为准;纯 dotnet build 不是 Windows 原生包的权威验证口径。