Skip to content

ACP Agents ​

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

ACP Agents 页面截图

主要能力 ​

  • 查看支持 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 映射:

json
{
  "agent_servers": {
    "Kimi Code CLI": {
      "command": "~/.local/bin/kimi",
      "args": ["acp"],
      "env": {}
    }
  }
}
字段说明
commandAgent 可执行文件路径,支持 ~ 展开和 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 错误结束,而不会静默使用默认值。没有持久化配置的旧会话继续沿用原有恢复流程,不需要迁移。

基于 MIT 发布