Claude Agent SDK的ACP适配器
该工具通过使用官员执行非加太代理 克劳德探员SDK,支持:
- 上下文@-mentions
- 图像
- 工具调用( 有许可请求)
- 通过谈判达成的压缩文件更改 AIR diff 补丁扩展
- 跟踪
- 编辑审查
- TODO 列表
- 嵌入子剂记录
- 交互式(和背景)终端
- 自定义 斜线命令
- 客户端 MCP 服务器
- 一个Ultracode会话配置选项,它开启了克洛德代码对每项任务的动态工作流程. 当动态工作流程被启用,且模型支持超码(任何模型都带有
xhigh(单位:千美元) /mcp在聊天中:作为列表的 MCP 服务器状态。 适配器运行/mcp reconnect, (中文(简体) ),/mcp enable,以及/mcp disable通过SDK控制API,因为Claude Code在SDK模式中拒绝. 需要认证的 ACP 服务器通过 URL 引出启动 MCP OAuth 重联- AIR的会话范围长期目标 目标扩展 下级
_meta.jetbrains.air.goal - 背景任务生命周期和每个任务停止控制通过选入 代理任务扩展,包括中性供应商
clientCapabilities._meta["async-tasks"]: true谈判 - 通过选入结构化错误、恢复和警告 会话失败扩展
- 具体的模型和工作默认通过选入 建议的配置值扩展
- 工具权限演示、可编辑的选择和通过 权限扩展
- 每个工具调用报告中每个字段一个事实 非加太工具呼叫合同 定义
- 所有航空延伸、能力以及
_meta键 : 空中扩展
学习更多关于 代理客户协议。 。 。 .
尝试已登陆的更改 main ,但尚未发布,从
preview 频道——每次推到 main 发布一个。 见
docs/RELEASES.md。 。 。 .
npm install @agentclientprotocol/claude-agent-acp@preview
独立的可执行文件
每次发行都附加了Linux(glibc和musl)、macOS和Windows的档案,在
x64和arm64,改为 GitHub 发布。 。 。 .
他们不需要安装节点.js. 每个文件有两个: claude-agent-acp,则
克劳德·克里(Claude CLI)claude它运行。 将它们保存在同一目录中; 链接到
claude-agent-acp 别的地方也行 要用克洛德的CLI 你已经有了
相反,设置 CLAUDE_CODE_EXECUTABLE在高山上,安装 libgcc 财务报告和审定财务报表
libstdc++ 先说.
为您的机器建造一个( 需要) 阿宝)并检查它:
npm run build:binary
npm run smoke:binary # add `-- --full` to drive a real session; needs a Claude login
副代理人会议
客户端声明 clientCapabilities.subagents除了JetBrains AIR, 得到每个特工或
任务子代理作为它自己的子会话,从 rFD 亚剂数字 :
subagent_update父母在任何交通之前向子女申报,并通知 亲子关系title财务报告和审定财务报表description并报告其工作情况:running, (中文(简体) ),requires_action其一项请求是开放的(和running当最后一个结束的时候, 除非被取消,否则,儿童将停止学业idle当其工作结束时end_turn或者说cancelled当SDK给出理由。 失败是idle与error停止理性和 SDK 错误文本作为其error儿童为每一儿童保留其届会 代表团参加.- 在父母工作目录之外运行的孩子,例如Agent呼叫
isolation: "worktree",获取其cwd打开subagent_update在第一个工具呼叫之前 这个 适配器从cwd儿童自己的钩子:它的子代理起动钩子运行于其前 第一个型号请求。 它发出cwd: null当孩子回到父母的目录中时。 A 类 父目录中的孩子不会cwd,没有孩子得到additionalDirectories: 克劳德 代码给出了会话附加目录的子代理,因此它继承了它们. 重播 与cwd记录下来的笔录, 并在答复后澄清 当目录不复存在时. - 会话信息取代启动孩子的代理或任务呼叫, 其父母是
未显示 :
- 发射的快讯是
session_message两种笔录中:父母的出处和 孩子们要来了 两者都使用发射工具使用id,彼此名称与d 报告草案recipientMessageId财务报告和审定财务报表senderMessageId。 。 。 . - 从发射结果来看 预告孩子的答案是
session_message改为 父母亲 在克洛德代码的手背模式中,孩子的SubagentHandback电话是它的 相反,在两种文字记录和链接中,向父母发出信息. - 其孩子从未暴露的发射装置毕竟被显示为一个工具召唤,其最终 状态.
- 发射的快讯是
- 送信信给孩子的电话信息
session_message在孩子身边 记录 SendMessage 调用仍为生成它的会议的工具调用 . session/cancel父母打断克洛德代码,它阻止了前面的孩子 转动等待。 背景儿童继续运行, 如 RFD 所选择; 客户端停止一个 其本身cancel每一份被拦截的儿童报告idle与cancelled从克洛德密码自己的 并撤回其公开请求。 适配器在取消时没有结束孩子,所以 持续运行的孩子会保持其打开的请求和打开的工具呼叫. 保留背景 孩子们,适配器宣布 SDK 选项perTaskStopAffordance,客户端可以翻转 关入_meta.claudeCode.options。该选项也省去了背景工作流程,客户端 不能停止,所以适配器在中断后停止它们,就像克洛德代码没有它. 背景命令在取消后继续运行 。 Claude Code报告没有的被拦截儿童的工具呼叫 结果, 如它运行的命令, 在取消前在子会话中结束 即时决断. 当克劳德代码 阻止一个背景孩子 之后,或者在没有快速运行, 工具呼叫在孩子报告后结束idle。一个孩子仍然运行 当克劳德代码 出口为idle没有停止的理由.- 父母尚未知道何时终止的儿童,因为《俄罗斯联邦家庭法》禁止 猜它的家长.
- 重播会恢复每个孩子的现场会话代号, 从自己的记录中, 和相同的
会话信息作为活的,结束
idle在回复之前. 没有Claude Code的元数据文件的启动 儿童将保持一个普通的工具呼叫 和通知, 对于一个被通知的客户来说, 子代理历史缺失. - 在装入或恢复后, 无论是否重放, 发送邮件从前恢复代理 它从以前开始负责代理 在代理交通之前 每一个祖先 在这方面未告知客户的,在孩子出生前即为父母 没有工作状态,正如RFD所要求的。 一个启动会场的特工 记录不被曝光.
- 每个正在运行的孩子都会与
cancel能力.session/cancel与孩子的 通过 SDK 停止该孩子当前的工作Query.stopTask,而不是它的 claude Code也阻止了它所等待的前期孩子 父母的轮回 继续 每一份停止的儿童报告idle与cancelled克洛德·克洛德·克洛德的作品 以及他的作品 请求停止撤回编号running先说 一个重播的孩子,不再 运行,没有能力。 客户端不能催促或改变孩子.
一个 非加太语 v2 客户端在不申报任何信息的情况下得到同样的信息, 因为代理代理
是v2基线的一部分。 每个儿童还报告自己的工作状况 state_update对
父母抄后.
JetBrains AIR保留了RFD的更早的草稿(Asubagent_spawned, (中文(简体) ), subagent_state_update, (中文(简体) ),
它能够使 nativeSubagentSessions 内 _meta.jetbrains.air.capabilities。见
空中扩展。 。 。 .
没有信号 Agent and Task 保持普通工具呼叫 儿童互动保持
根会话。 使用历史的客户端 _meta["subagent-transcript"] 能力或
forwardSubagentText 课程选项保留平分的儿童记录.
非加太实验 v2
适配器还服务于 非加太集团草案v2数字 :
客户端请求协议版本 2 或稍后在 initialize 获得 v2 和所有其他客户端
获得v1. 草案仍然可以改变,而这个表面随它而改变.
CLAUDE_AGENT_ACP_PROTOCOL 将适配器限制在一个版本。 与 v1,客户端询问
对于v2,谈判到v1。 与 v2,适配器拒绝 initialize 一个v1客户端.
auto,默认,服务两者.
V2 适配器服务会话基线(session/new, (中文(简体) ), session/list, (中文(简体) ), session/resume
与重播, session/close, (中文(简体) ), session/prompt, (中文(简体) ), session/cancel, (中文(简体) ), session/delete, (中文(简体) ),
session/fork,附加目录,配置选项(模式为一),计划,通知,
压缩、显示命令的终端、许可请求、诱导、提供者、认证和
子剂引导和AIR扩展只是现在.
捐助政策
这个项目不需要《捐助者许可证协定》。 相反,接受捐款的条件如下:
通过为这个项目捐款,你同意,你的捐款将获得以下许可: Apache 许可证,2.0版本您确认您拥有提交作品的法定权利,您没有包含您无权使用的代码,您理解捐款是无需签署《贡献者许可协议》的.