Agent 底座
Agent 底座(英文为 Harness,英文客户端界面里叫 Runtime,两者含义相同)是实际干活的程序:它读文件、运行命令、调用工具,并用模型来决定怎么做。SoduWork 通过同一个接口运行多种底座,所以需求、插件和审查都不依赖某一个底座。
底座不是模型。同一个底座可以使用不同的模型,同一个模型也可以被不同的底座使用。
内置底座
列表来自 hub-backend/app/agent_catalog.json,客户端、Hub 和 Runner 都读取这一份文件。
| 底座 | 使用的模型 | 接入方式 | 安装 |
|---|---|---|---|
| Pi | SoduWork 模型 | 内置桌面适配器 | 随客户端内置 |
| OpenCode | SoduWork 模型 | 原生适配器 | 托管安装官方发行版 |
| DeepSeek Harness | SoduWork 模型,或个人 DeepSeek Key | ACP | npm @openma/deepseek-harness-acp |
| Qwen Code | SoduWork 模型 | ACP | npm @qwen-code/qwen-code |
| Kimi Code | SoduWork 模型 | ACP | npm @moonshot-ai/kimi-code |
| Codex Harness | SoduWork 模型 | ACP | npm @agentclientprotocol/codex-acp |
| Codex | 它自己的 OpenAI 账号 | 原生适配器 | npm @openai/codex |
| Claude Code | 它自己的 Anthropic 账号 | ACP 适配器 | 官方安装程序 |
| Harness²(Google Research) | SoduWork 模型 | 原生适配器 | 核心随包内置,首次使用时准备 |
在 设置 → Agent 管理 里安装底座。客户端发现底座或发送消息时,不会自动安装任何东西。你自己安装、并且在 PATH 里的底座可以继续使用。
模型来源
modelMode | 含义 |
|---|---|
managed | 底座使用 SoduWork 模型目录里的模型。每次执行时,SoduWork 只向这个进程注入模型、网关和短期凭据,密钥不会以明文写入底座的配置文件 |
account | 底座用它自己的账号登录(例如 codex login)。它不会收到组织的模型配置,个人登录与托管模型的底座互相隔离 |
权限模式
所有内置底座都支持每个对话可选的三种权限模式:
| 模式 | Agent 能做什么 |
|---|---|
| 默认权限 | 常规操作自动执行,敏感操作先询问 |
| 只读 | 只读取和分析,不修改文件 |
| 完全访问 | 读写文件、运行命令、访问网络 |
底座自己的登录和会话数据按执行环境分别保存。
切换底座
可以在同一个对话里切换底座,对话记录和工作目录都会保留。在工作流里,每个 AI 步骤都可以使用不同的底座(见交接与路由)。
底座在哪里运行
- 本机:客户端里的本机 Runner 启动底座。
- 云端:云端 Runner 在共享服务器上启动底座(见 Runner 与云端环境)。每台执行机各自安装底座。
不支持远程安装底座。底座目录也不是远程插件系统,它不能从网络下载并运行程序。
接入其他底座
支持 Agent Client Protocol(ACP)的程序,可以通过底座目录里的一条声明接入,见接入 ACP 底座。
Claude Code、Codex、Kimi Code、OpenCode、Pi、Qwen Code、DeepSeek Harness 和 Harness² 为其各自所有者的商标,此处提及仅用于说明兼容性。见商标声明。
harness harnesses runtime runtimes 底座