代理客户端协议 (ACP) 标准化了编码代理与代码编辑器或 IDE 之间的通信。 通过 ACP 协议,您可以将自定义深层代理与任何 ACP 兼容的客户端配合使用,让您的代码编辑器提供项目上下文并接收丰富的更新。
ACP 专为代理-编辑器集成而设计。如果您希望代理调用外部服务器托管的工具,请参阅模型上下文协议 (MCP)

快速开始

安装 ACP 集成包:
pip install deepagents-acp
然后通过 ACP 暴露一个 Deep Agent。 这会启动一个 ACP 服务器在 stdio 模式下运行(它从 stdin 读取请求并向 stdout 写入响应)。实际上,您通常将其作为 ACP 客户端(例如您的编辑器)启动的命令来运行,然后通过 stdio 与服务器通信。
import asyncio

from acp import run_agent
from deepagents import create_deep_agent
from langgraph.checkpoint.memory import MemorySaver

from deepagents_acp.server import AgentServerACP


async def main() -> None:
    agent = create_deep_agent(
        # 您可以在此处自定义 Deep Agent:设置自定义提示,
        # 添加您自己的工具,附加中间件,或组合子代理。
        system_prompt="您是一个乐于助人的编码助手",
        checkpointer=MemorySaver(),
    )

    server = AgentServerACP(agent)
    await run_agent(server)


if __name__ == "__main__":
    asyncio.run(main())

示例编码代理

deepagents-acp 包包含一个带文件系统和 shell 的示例编码代理,您可以开箱即用地运行。

客户端

Deep Agents 可以在任何可以运行 ACP 代理服务器的地方工作。一些值得注意的 ACP 客户端包括:

Zed

deepagents 仓库包含一个演示 ACP 入口点,您可以将其注册到 Zed
  1. 克隆 deepagents 仓库并安装依赖:
git clone https://github.com/langchain-ai/deepagents.git
cd deepagents/libs/acp
uv sync --all-groups
chmod +x run_demo_agent.sh
  1. 为演示代理配置凭据:
cp .env.example .env
然后在 .env 中设置 ANTHROPIC_API_KEY
  1. 在 Zed 的 settings.json 中配置您的 ACP 代理服务器命令:
{
  "agent_servers": {
    "DeepAgents": {
      "type": "custom",
      "command": "/your/absolute/path/to/deepagents/libs/acp/run_demo_agent.sh"
    }
  }
}
  1. 打开 Zed 的代理面板并启动一个 DeepAgents 线程。

Toad

如果您想将 ACP 代理服务器作为本地开发工具运行,可以使用 Toad 来管理进程。
uv tool install -U batrachian-toad

toad acp "python path/to/your_server.py" .
# 或者
toad acp "uv run python path/to/your_server.py" .
请参阅上游 ACP 文档了解协议详情和编辑器支持: