ACP Agents
FylloCode 通过 Agent Client Protocol 接入不同 Coding Agent。设置中的 ACP Agents 页面位于 /settings/acp-agents,负责展示 registry 中可用的 Agent,并管理安装、更新和本地识别状态。

主要能力
- 查看支持 ACP 的 Agent 列表
- 搜索 Agent
- 安装和更新由 FylloCode 管理的 Agent
- 识别用户已经安装的 Agent
- 展示版本、许可证、作者和安装状态
- 按 FylloCode 语义标注 Agent 类型
- 配置不在 registry 中的自定义 Agent
页面提供「全部」「已安装」「自定义」三个筛选:前两者浏览 ACP Registry 中的 Agent,「自定义」是一个独立的 JSON 编辑区域。
精选目录与安装
FylloCode 只从精选 ACP Agent 目录加载可发现和可管理的 registry Agent,不再合并或回退到官方 Registry。旧来源缓存不会继续作为精选列表显示;只存在于历史安装记录、但已经不在当前精选目录中的 Agent,也不会重新进入列表或连接预热。自定义 Agent 不受精选目录成员变化影响。
FylloCode 管理的 binary Agent 可以使用 ZIP、TAR、TAR.GZ/TGZ 和 TAR.BZ2/TBZ2 归档,无需依赖系统安装的 unzip、tar 或 bzip2。目录提供 SHA-256 摘要时,安装会在解压前校验下载内容;未提供摘要时仍可安装,但不会被标记为已验证。升级会先在临时 staging 目录完成校验和解压,提交失败时保留原有安装与记录。
Agent 类型
FylloCode 会把 ACP Agent 标注为三类:
| 类型 | 含义 |
|---|---|
native | 原生 ACP agent,自带完整实现,无外部命令行工具依赖 |
adapter | 独立适配层,自带完整实现,可与对应官方 CLI 共享配置或环境变量 |
bridge | 桥接层,运行时通过本地命令行工具完成工作 |
详细判定标准见 ACP Agent 分类。
自定义 Agent
如果一个 Coding Agent 支持 ACP 但还没有进入 registry,可以在「自定义」tab 里手动登记,让它和 registry 里的 Agent 一样出现在 Agent 选择器中。
配置以 JSON 形式编辑,结构是一个 agent_servers 映射:
{
"agent_servers": {
"Kimi Code CLI": {
"command": "~/.local/bin/kimi",
"args": ["acp"],
"env": {}
}
}
}| 字段 | 说明 |
|---|---|
command | Agent 可执行文件路径,支持 ~ 展开和 PATH 查找(必填) |
args | 启动参数数组,例如 ["acp"](可选) |
env | 额外环境变量,会合并到系统环境变量之上(可选) |
保存后,配置写入本地的 custom-agents.json,不会同步到 registry,也不属于 FylloCode 管理安装/更新的范围。命令本身的安装和升级仍由你自己维护。
连接预热与复用
应用完成主进程启动后,会在后台预热所有已安装的 registry Agent 和有效的自定义 Agent。预热只启动 ACP 进程并完成 initialize,不会创建 Chat session,也不会提前取得 Workspace 级配置或命令;打开 Launcher 而尚未进入 Project 或 Workspace 时同样会执行。
安装、升级或保存自定义 Agent 后,FylloCode 会增量预热受影响的连接。升级、卸载或修改自定义 Agent 的 command、args、env 前,旧进程会先被主动停止;后续连接使用新的运行时配置。单个 Agent 预热失败不会阻塞窗口启动或其他 Agent,用户实际选择正在预热的 Agent 时会复用同一条在途连接,不会重复启动进程。
Agent 成功初始化后,FylloCode 会缓存认证方式以及 prompt、MCP、session 的完整 capability snapshot。旧版只包含 prompt 能力的缓存仍可读取;Agent 后续成功初始化时会逐步刷新为新格式,不需要手动迁移。
多根 ACP Session
Workspace 最多可以包含 16 个 Project。Agent 如果声明支持额外目录,FylloCode 会在创建 ACP Session 时把主 Project 与授权的其他 Project 目录一起传入;Session 使用创建时固定的 Workspace 快照,之后增删或移动 Workspace 成员不会静默改变已运行 Session 的上下文。Chat header 的 scope popover 会区分当前快照中的成员、只存在于最新 Workspace 的成员和已经失效的成员。完整的产品定位和跨 Project 使用边界见多根 Workspace。
跨 Agent 委派
在 FylloCode 会话模式中,如果当前 Agent 支持 HTTP MCP,Agent 可以通过 fyllo-spawn 查询已安装 Agent,并把聚焦任务同步或后台委派给另一个 ACP Agent。Spawned Session 复用目标 Agent 的现有进程池与父 Chat Session 固定的 Workspace scope,不会创建第二套授权或自动扩大到后来加入的 Project。
委派不是从 ACP Agents 设置页手动启动的功能;由当前 Chat Agent 根据任务边界调用。用户可以在 Chat 中查看 spawned Session 的可信状态与输出,但当前检查界面只读。
Session 配置恢复
FylloCode 会把 Agent 最后确认的 model、mode、thought level 和其他 session configOptions 随会话元数据保存。应用重启或 Agent 连接重建后,续聊首个 prompt 发送前会先恢复仍受当前 Agent schema 支持的选值;已经删除、type 变化或 value 失效的选项会保留 Agent 当前合法值,同时继续恢复其他兼容项。
如果一个仍兼容的配置无法被 Agent 确认,当前 prompt 会以现有 ACP 错误结束,而不会静默使用默认值。没有持久化配置的旧会话继续沿用原有恢复流程,不需要迁移。