本页介绍构建可在 Devin Desktop 中运行的自定义 ACP Agent 需要实现的内容。 如需查看完整的协议规范,请参见 agentclientprotocol.com。官方客户端库提供了 Rust、TypeScript、Python、Kotlin 和 Java 版本。Documentation Index
Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
Use this file to discover all available pages before exploring further.
基础
你必须实现的方法
initialize— 协商协议版本,声明 Agent 的能力,并返回 Agent 信息 (名称、版本) 。session/new— 为工作目录创建一个新会话,并返回会话 ID。Devin Desktop 会传入cwd以及所有已配置的 MCP 服务器。session/prompt— 接收用户消息,推进提示轮次,并在完成时返回stopReason。session/cancel— 当用户取消时,中止该会话中所有正在进行的工作。
提示轮次生命周期
session/prompt 轮次期间,你的 Agent 会以 JSON-RPC 通知的形式,将更新流式发送回 Devin Desktop:
- 带有
agent_message_chunk的session/update,用于流式传输助手文本。 - 带有
tool_call和tool_call_update的session/update,用于在 Devin Desktop UI 中显示工具调用及其状态。 session/request_permission,用于在运行敏感工具调用前征求用户许可。- 如果你的 Agent 维护了agent plan,则会发送带有
plan的session/update。
stopReason (例如 end_turn、cancelled、max_tokens) 的 session/prompt 响应时,该轮次结束。
测试
- 在你的本地 registry 配置中为你的 Agent 添加一个条目,将
cmd指向本地 Agent 二进制文件 (或封装脚本) 的路径。 - 修改你的 Agent,并按需重建。
- 在 Command Palette 中运行
Reload ACP Connections以加载最新版本——每次迭代之间都无需重启 Devin Desktop。
