恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

claw-code ACP/Zed 与 JSON-RPC 状态契约解析:以 truthful unsupported 契约服务编辑器生态探测

  • 首页
  • 资讯中心
  • /
  • claw-code ACP/Zed 与 JSON-RPC 状态契约解析:以 truthful unsupported 契约服务编辑器生态探测

相关资讯

通才策略评测为何失灵?RoboLab高保真仿真基准如何破局 2026/9/18 7:26:20
Roc 编译器快照测试深度解析:一条复杂记录表达式如何走完 tokenization 到 type inference 的完整管线 2026/9/18 7:21:20
GyroFlow 陀螺仪防抖教程:如何从导入到导出,一次调稳晃动素材 2026/9/18 7:21:20

最新资讯

MyBatis-Plus按条件更新单个字段:LambdaUpdateWrapper最佳实践
10种高回报行为:提升个人成长与投资效率
HBase在汽车销量分析中的列式存储实践
MySQL备份与恢复实操指南:从mysqldump到binlog增量恢复
Hugo 模板指南:深入理解 block 模板函数——定义即执行的模板继承机制
基于Django的图书馆座位预约系统设计与实现

今日推荐

2026年AI设计工具在PPT制作中的核心应用与评测
Matlab手写逻辑回归:从数学原理到多变量概率预测模型实现
高值医用耗材研报PDF:用Python完成字段抽取、清洗与趋势预测

本周热门

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化
Flutter应用改名全指南:从Android到iOS的配置与工具实践

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

claw-code ACP/Zed 与 JSON-RPC 状态契约解析:以 truthful unsupported 契约服务编辑器生态探测

发布时间:2026/9/18 7:26:20
claw-code ACP/Zed 与 JSON-RPC 状态契约解析:以 truthful unsupported 契约服务编辑器生态探测 claw-code ACP/Zed 与 JSON-RPC 状态契约解析以 truthful unsupported 契约服务编辑器生态探测【免费下载链接】claw-codeAn agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.项目地址: https://gitcode.com/gh_mirrors/claudeco/claw-code本篇文章基于仓库契约文档 docs/g011-acp-json-rpc-status-contract.md系统讲解 claw-code 2.0 如何将 ACP/Zed 与 JSON-RPC 能力面收敛为稳定的状态查询契约哪些命令被定义为合法状态查询、它们返回什么样的机器可读 JSON 信封、错误调用如何被归类以及真实协议服务为何被推迟deferral gate。读完本文你将掌握如何用claw acp系列命令在编辑器探针editor probes与 CI 检查中正确探测能力状态并理解这套诚实的不支持truthful unsupported设计背后的契约纪律。为什么需要一份状态契约而非隐藏的守护进程在 claw-code 的演进中ACPAgent Client Protocol与 Zed 编辑器集成、JSON-RPC 服务这类能力容易让外部系统误以为存在一个隐藏的守护进程hidden daemon。G011 契约的核心立场是当前公共能力面public surface是一个诚实报告不支持的状态面而不是一个未暴露的常驻服务。也就是说claw acp这一系列命令存在的意义不是假装提供协议服务而是为桌面端、市场marketplace与编辑器集成提供稳定、可探测、不会误导消费者的能力声明。从仓库实现看这一设计贯穿 CLI 解析层rust/crates/rusty-claude-cli/src/main.rs 中parse_acp_args对 ACP 子命令做了白名单式解析只接受空参数与serve其余一律拒绝详见下文不支持的调用一节而状态输出本身则通过CliAction::Acp分发到print_acp_status以纯文本或 JSON 两种格式打印状态。整条路径没有任何 socket 绑定、没有 daemon 进程也没有 JSON-RPC endpoint——这与文档声明的不启动 daemon、不暴露端点完全一致。支持的状态查询命令按照契约文档以下命令是合法的状态查询status queries均以退出码0结束claw acp claw acp serve claw --acp claw -acp claw acp --output-format json claw acp serve --output-format json命令形式说明claw acp基础状态查询纯文本输出claw acp serveserve当前刻意作为 status 的别名不绑定 socket、不启动 daemon、不暴露 JSON-RPC endpointclaw --acp/claw -acp等价的别名形式便于不同习惯的调用方claw acp --output-format json状态查询 机器可读 JSON 信封见下节claw acp serve --output-format jsonserve别名的 JSON 形态源码层面--acp与-acp两个别名在参数归一化阶段被转换为acp子命令见 rust/crates/rusty-claude-cli/src/main.rs 中--acp | -acp的分支处理因此它们与claw acp走完全相同的分发路径保证六种写法的行为一致。帮助文本同样只宣传claw acp [serve]这一种可发现形式并在--help中明确标注currently unsupported见该文件claw acp [serve]的 help 条目避免用户产生能力幻觉。JSON 信封稳定的机器可读状态面claw acp --output-format json返回一个为编辑器探针与 CI 检查设计的稳定信封契约文档给出的完整示例为{ schema_version: 1.0, kind: acp, status: unsupported, phase: discoverability_only, supported: false, exit_code: 0, serve_alias_only: true, protocol: { name: ACP/Zed, json_rpc: false, daemon: false, endpoint: null, serve_starts_daemon: false } }信封字段语义如下字段类型含义schema_versionstring信封自身的模式版本当前为1.0作为向后兼容的判据kindstring固定为acp用于标识该信封属于 ACP 状态面statusstring能力状态文档以unsupported作为契约目标形态phasestringdiscoverability_only说明当前仅处于可发现性阶段supportedbooleanfalse明确声明协议未被支持exit_codenumber0与状态查询退出码一致便于 shell 层直接透传serve_alias_onlybooleantrue声明serve仅是指令别名而非真实服务protocol.namestringACP/Zedprotocol.json_rpcbooleanfalse明确无 JSON-RPC 能力protocol.daemonbooleanfalse明确无守护进程protocol.endpointnull无监听端点protocol.serve_starts_daemonbooleanfalseserve不会拉起 daemon需要指出的是仓库当前源码 rust/crates/rusty-claude-cli/src/main.rs 中acp_status_json()实现的信封在稳定字段上保持一致schema_version: 1.0、kind: acp、supported: false、protocol.json_rpc/daemon/endpoint/serve_starts_daemon等同时额外携带status: not_implemented、action、message、launch_command、contracts、aliases等运行时信息并在contracts.blocking_gates中列出阻塞真实实现的契约门详见推迟门Deferral Gate一节。这意味着契约文档描述的是稳定消费面而源码实现是这一消费面的运行时投影——两者在核心判据字段上保持一致这正是下面要强调的防御性消费原则。消费者应如何校验文档明确要求消费方应检查kind acp、supported false、protocol.json_rpc false而不是根据命令是否存在来推断能力支持。这一原则至关重要命令存在 ≠ 能力可用claw acp存在恰恰是为了诚实地声明暂不支持只检查supported可能遗漏协议细节例如未来supported: true但json_rpc: false的中间态三字段联合判断才能覆盖命令存在但协议未就绪的所有组合。集成方在 CI 或编辑器插件里做能力探测时应解析该 JSON 而非正则抓取帮助文本这正是--output-format json信封存在的意义。仓库测试 rust/crates/rusty-claude-cli/tests/output_format_contract.rs 中acp_guidance_emits_json_when_requested对上述核心字段逐一断言kind、schema_version、supported、protocol.json_rpc、protocol.daemon、endpoint为 null 等并验证内部追踪 ID如discoverability_tracking、tracking、recommended_workflows不会泄漏进公开 JSON——公开面只暴露契约允许的字段。不支持的调用错误信封与退出码 1形如claw acp start的畸形 ACP 调用会被拒绝以退出码1结束。在--output-format json模式下stderr 走 CLI 通用错误信封设置如下判据{ type: error, kind: unsupported_acp_invocation, exit_code: 1 }这一行为在源码中非常清晰parse_acp_argsrust/crates/rusty-claude-cli/src/main.rs只放行[]即claw acp与[serve]即claw acp serve其余参数一律返回Err错误消息以unsupported_acp_invocation前缀开头并附带\n分隔的修复提示提示用户改用claw acp或claw acp serve。该Err最终被顶层错误处理捕获在--output-format json激活时rust/crates/rusty-claude-cli/src/main.rs 的main/run错误路径会调用classify_error_kind将消息归类为unsupported_acp_invocation并组装包含type: error、error_kind、hint、exit_code: 1的 JSON 错误信封输出。同一归类逻辑的单元测试也覆盖了unsupported ACP invocation. Use claw acp.这类消息的分类结果。契约文档强调这种白名单拒绝的价值畸形调用不静默、不假装成功而是给出可机器判别的错误类别与可人类阅读的修复提示。集成方在探测脚本中遇到unsupported_acp_invocation时应当将其视为调用方式错误而非服务故障并可以据hint字段向用户展示修复建议。推迟门Deferral Gate真实协议服务何时落地契约文档明确真实的 ACP/Zed 或 JSON-RPC serve 工作在路线图中 task packets、session control、event/report schemas 等契约稳定之前保持推迟。源码中这一决定被显式编码进 JSON 信封的contracts.blocking_gates字段contracts: { blocking_gates: [ task_packet_schema, session_control_schema, event_report_schema ], stable_status_surface: claw acp [serve] --output-format json, unsupported_invocation_kind: unsupported_acp_invocation }这一设计的动机在文档中表述为防止桌面端、市场与编辑器集成在 CLI/文件/API 契约就绪之前成为另一种事实来源alternate sources of truth。换言之claw-code 不希望编辑器插件先于核心契约锁定行为语义否则后续契约演进会撕裂生态。推迟门的实质是一种契约纪律——能力面的开放顺序必须与数据面契约任务包、会话控制、事件/报告的成熟度对齐。从仓库路线图 ROADMAP.md 的演进记录看这一顺序是有据可循的结构化任务包typed task packet format已由 rust/crates/runtime/src/task_packet.rs 实现TaskPacket结构、校验、序列化与TaskScope解析会话控制session_control在 rust/crates/runtime/src/session_control.rs 中提供SessionStore等实现事件/报告 schema 则由 rust/crates/runtime/src/report_schema.rs 承担。这三者正是blocking_gates列出的三份契约——它们先稳定ACP/Zed 的真实服务才有资格开闸。对读者而言这意味着在blocking_gates对应的契约在路线图中转为稳定之前任何依赖claw acp serve提供真实 JSON-RPC 能力的集成都应当把该命令当作状态探针而非服务入口。实践建议如何正确消费这套契约综合文档、源码与测试面向编辑器插件、CI 或脚本的推荐做法可归纳为探测状态一律用 JSON 形态执行claw acp --output-format json或claw acp serve --output-format json解析 stdout 信封而不是抓取帮助文本或依赖命令存在性。三字段联合判据以kind acp、supported false、protocol.json_rpc false判定当前不支持未来契约演进时再按schema_version做兼容分支。区分两类失败状态查询成功应退出码为0畸形调用如claw acp start退出码为1且kind/error_kind为unsupported_acp_invocation此时应展示hint中的修复建议而非当作系统故障告警。不要把serve当服务serve_alias_only/protocol.serve_starts_daemon为false意味着它永不绑定端口、永不启动 daemon集成方不应尝试连接任何 ACP/Zed 端点。留意契约演进文档信封与源码运行时信封的字段集存在演进差异例如文档的status: unsupported、phase: discoverability_only与源码当前的status: not_implemented消费方应以文档强调的稳定判据字段为准不依赖单字段的精确字符串。这套诚实的不支持契约体现了 claw-code 在能力面管理上的克制与其让编辑器生态误探测出一个不存在的 daemon不如用稳定、可校验、可演进的 JSON 状态面把尚未支持这一事实说得明明白白同时为真实协议服务预留清晰的解锁条件。【免费下载链接】claw-codeAn agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.项目地址: https://gitcode.com/gh_mirrors/claudeco/claw-code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号