精简 ACP 桥接层不可达表面:deepseek-harness 移除品牌配置项与工具名嗅探回退
精简 ACP 桥接层不可达表面deepseek-harness 移除品牌配置项与工具名嗅探回退【免费下载链接】deepseek-harnessDeepSeek Harness: Everything is a Plugin.项目地址: https://gitcode.com/gh_mirrors/de/deepseek-harness本文基于 deepseek-harness 仓库中已归档的决策笔记《裁剪不可达的 ACP 桥接层表面》展开。该笔记记录了deepseek-ai/dsh-acp桥接层的一次定向瘦身移除两处在任何已交付配置中都不可达的对外表面——AcpConfig.agentName/agentVersion品牌配置项以及toolKindFor基于工具名bash*/read*/write/edit*的呈现方式推断回退。读完本文你将理解不可达表面的判定方法、握手标识的收敛方式以及该决策如何与后续ACP 转为仅面向自动化的演进衔接并能在扩展包或 fork 中复用同样的精简思路。背景dsh-acp 桥接层的定位与表面概念deepseek-ai/dsh-acp源码位于 packages/acp/acp是 deepseek-harness 的自动化 Agent Client ProtocolACP服务器它通过 JSON-RPC stdio 将持久化的 harness 会话暴露给受信的程序化客户端——进程外 subagent、测试运行器与脚本化控制器。它承载标准配置、MCP 挂载、提示词内容、已提交语义更新、取消与一次性权限决策而把展示与人类交互特性留在 harness 的 UI 模块中参见 packages/acp/acp/README.zh.md。笔记中所说的表面surface指的是桥接层对外暴露的、可供配置或参与运行时决策的接口点具体包括三类配置字段由插件Configschema 声明、可在cordis.yml中设置的参数运行时回退逻辑在常规路径失效时兜底的分支协议握手数据initialize返回的agentInfo。原则是凡是没有任何生产配置能够到达的代码路径都应被视为死表面要么删除、要么收敛为常量——因为它们只会带来维护负担、测试噪音与设计规则的破坏。问题两处不可达表面笔记识别出dsh-acp有两处对外表面在所有已交付的配置中都不可达。品牌配置项agentName/agentVersion第一处是AcpConfig.agentName/agentVersion两个配置字段涉及 packages/acp/acp/src/index.ts 中的配置声明。分析链条如下唯一的生产配置表面是叶子cordis.yml。已发布的应用包只向 bridge 传递其 agent 的提供方/模型目标笔记记录于packages/examples/acp-demo/src/index.ts即 ACP 示例应用包因此没有任何叶子cordis.yml能够设置这两个品牌配置项。只有直接挂载 bridge 才能设置它们而这种直接挂载的用法只存在于一个单元测试中——即该配置项没有真实消费者。快照预期输出固定了 schema 默认值。每一份快照包括钩子矩阵场景都固定输出deepseek-harness-acp/0.0.1说明即便存在该配置项行为也从未偏离默认值。存在TODO(double-default)字面量在 schema 的.default(...)与??后备值中出现了两次TODO 要求在两者之间为字面量选择一个归属——这本身就是设计未收敛的信号。也就是说这两个配置项既无配置入口、又无行为差异属于典型的不可达表面。toolKindFor名称启发式第二处是同一文件中的toolKindFor函数它在通用回退路径中对bash*、read*、write、edit*工具名做了特殊处理以推断工具的呈现种类kind。笔记给出的不可达性论证更深入自 render-intent 联合类型笔记 落地以来每个第一方工具都自带presentCall并携带自己的 kind。这些分支原本想匹配的工具bash、read、write、edit 系列如今都通过presentCall自报 kind启发式永远轮不到它们。没有 presenter 的生产工具如subagent、subagent_fork本来就落入other分支同样不依赖名称匹配。这些分支只有在工具拒绝自行呈现调用时才在生产中可达且仅剩两条狭窄路径presentCall抛出异常容错回退模型参数未通过工具 schema导致defineTool的presentCall包装层返回undefined例如bash调用缺少必需的description参数。更重要的是该启发式直接违反了桥接层自身的模块文档所声明的设计规则桥接层绝不对工具名做特殊处理。名称嗅探把展示决策建立在脆弱的命名约定上而不是建立在工具自带的呈现契约上。决策硬编码握手标识移除不可达字段与重复默认值针对上述两处表面笔记记录的决策分两层1. 初始化时硬编码握手标识。在initialize中直接返回固定的{ name: deepseek-harness-acp, version: 0.0.1 }移除不可达的配置字段与重复默认值同时消除TODO(double-default)。由于桥接层是单一版本 agentACP 规范中支持同版本则用同版本否则用最新受支持版本的协商逻辑最终都会解析到这一唯一版本因此硬编码不损失任何协商能力。2. 将toolKindFor的两个 presenter 回退替换为中性的other。最初的实现正是在两处 presenter 回退处做了这一替换。而随着后续 ACP 转为仅面向自动化协议ACP 不再投影工具卡片该回退已完全离开传输层——即回退逻辑最终被彻底移除而不仅是参数化收敛。决策还明确了测试锚点初始化测试和快照固定握手标识使deepseek-harness-acp/0.0.1成为受测试保护的协议常量。源码验证当前实现的状态在仓库当前源码中可以逐条印证上述决策的落地效果。packages/acp/acp/src/index.ts 中AcpConfig接口仅保留四个字段provider、model、sessionListPageSize、stream测试用传输覆盖已无agentName/agentVersionConfigschema 也只声明provider、model与带默认值100的sessionListPageSize。initialize处理器返回的agentInfo为硬编码的{ name: deepseek-harness-acp, version: 0.0.1 }agentCapabilities则按真实能力公布 MCPHTTP、图片提示词仅当持久附件存储与配置的确切路由支持时与会话能力关闭/列出/恢复。应用创建处同样硬编码了createAcpAgentApp({ name: deepseek-harness-acp })与握手标识保持一致。源码中已无toolKindFor名称嗅探逻辑也不存在针对bash*/read*/write/edit*的特殊回退分支。从代码结构可以推断这套精简让桥接层的握手信息成为单一事实来源配置面只保留真正影响行为的提供方/模型与分页参数从而降低了配置矩阵的测试维度。与后续演进的衔接从精简表面到移除表面笔记开头有一段重要的补充说明归档时追加握手标识简化仍然有效。通用卡片回退已随ACP 转为仅面向自动化一并移除UI 传输层保留提供方无关的展示契约。这说明本次精简是 ACP 定位转变的前奏。2026-07-23 的决策笔记 进一步把 ACP 桥接层从第二套交互式产品 UI重塑为仅面向自动化的传输层它只发送标准语义更新已提交消息、thought、通用工具生命周期、配置与上下文用量不再发送编辑器卡片、终端元数据、diff、计划、标题等展示投影工具呈现render intent职责完全留在 UI 传输层且 UI 侧保留的是提供方无关的通用展示回退不做任何工具名推断。两条演进路径相互印证品牌配置项的移除——因为展示身份对自动化协议无意义握手标识收敛为常量工具名嗅探的移除——因为工具呈现不属于自动化传输展示回退要么中性化、要么彻底离开传输层。对于阅读本文的扩展作者这个案例是一个可复用的判断框架当你在给某个传输层/桥接层加配置项或回退逻辑时先问三个问题——是否存在真实的生产配置入口是否存在行为差异的测试证据是否违反模块自身的契约文档三者都否定的代码就应当像这里的agentName/toolKindFor一样被裁剪。曾考虑的替代方案与取舍笔记记录了被否决的替代方案其中包含两条有价值的反面论证为什么品牌配置不保留答案是品牌配置可以在 app 包将其暴露给部署环境时再回来。即不是永远禁止该能力而是当前没有配置入口就不应让桥接层背负一个未使用的配置面等到有真实部署需求例如需要区分不同品牌的部署实例时再由 app 层决定是否开放并配套测试与文档。为什么名称启发式必须去掉因为从未知工具名推断呈现方式违反了 render-intent 契约。工具如何呈现应由工具自身presentCall kind声明而非由桥接层根据命名约定猜测。同时中性回退卡片还能为格式错误的调用和损坏的 presenter 保留原始输入——即回退的意义是忠实保留原始内容而不是尝试猜一个更聪明的展示前者对自动化协议更有价值。后果桥接层的最终形态决策的直接后果是桥接层不暴露品牌配置项——agentName/agentVersion不再是配置 schema 的一部分握手标识成为受快照保护的常量UI 传输层拥有不做工具名推断的通用展示回退——呈现逻辑保持提供方无关拒绝依据命名约定做特判ACP 不承载任何工具卡片表面——结合后续演进工具生命周期以通用 ACP 消息传递工具卡片展示完全移出自动化协议。这条演进主线2026-07-04精简表面 →2026-07-23仅自动化协议最终在 packages/acp/acp/README.zh.md 中得到固化该包是面向程序化客户端与维护者的仅自动化 ACP 服务器刻意只提供标准 ACP v1 界面。对维护者而言本案例的档案价值在于即使一段代码当前碰巧可达只要它违反了模块自声明的设计规则且没有配置入口就应当与真正的死代码一视同仁地处理。【免费下载链接】deepseek-harnessDeepSeek Harness: Everything is a Plugin.项目地址: https://gitcode.com/gh_mirrors/de/deepseek-harness创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

桌面AI工具成本避坑指南:云端订阅陷阱与低成本工作流搭建

桌面AI工具成本避坑指南:云端订阅陷阱与低成本工作流搭建

1. 桌面AI工具的真实成本账本1.1 从“免费”说起:那些年我们踩过的订阅陷阱2026年开年到现在,我陆陆续续试了不下三十款桌面AI工具。起因很简单——去年年底续费的时候,我对着账单愣了半天:一个帮我写周报的、一个帮我整理会议纪要…

2026/9/19 22:55:19 阅读更多 →
ZeroClaw 沙箱机制深度解析:OS 级工具隔离的后端自动检测、限制边界与配置实战

ZeroClaw 沙箱机制深度解析:OS 级工具隔离的后端自动检测、限制边界与配置实战

ZeroClaw 沙箱机制深度解析:OS 级工具隔离的后端自动检测、限制边界与配置实战 【免费下载链接】zeroclaw Fast, small, and fully autonomous AI personal assistant infrastructure, any OS, any platform — deploy anywhere, swap anything 🦀 项目…

2026/9/19 22:55:19 阅读更多 →
Meteor 移动端开发完全指南:基于 Cordova 的 iOS/Android 应用构建、调试与发布

Meteor 移动端开发完全指南:基于 Cordova 的 iOS/Android 应用构建、调试与发布

Meteor 移动端开发完全指南:基于 Cordova 的 iOS/Android 应用构建、调试与发布 【免费下载链接】meteor Meteor, the JavaScript App Platform 项目地址: https://gitcode.com/gh_mirrors/me/meteor 导读 本文以 Meteor 官方指南中的 Cordova 章节为核心&a…

2026/9/19 22:55:19 阅读更多 →

最新新闻

windowsserver2003怎么给网站做域名解析对比评测

windowsserver2003怎么给网站做域名解析对比评测

3步搞定Windows Server 2003域名解析,老手揭秘性能优化避坑指南 域名服务器搞不懂,是很多老运维和新入行建站人员共同的噩梦。尤其是面对 Windows Server 2003…

2026/9/21 4:45:53 阅读更多 →
不懂代码想建站?电子商务主要就业岗位里哪家好

不懂代码想建站?电子商务主要就业岗位里哪家好

不懂代码想建站?电子商务主要就业岗位里哪家好 自己不会代码,却硬要搭个网站,这是很多中小老板踩过的坑。 别急着被“技术门槛”吓退,也别盲目找外包,问一句 哪家好 才是正道。 其实,搭建网站这件事,早就不是程序员的专利了。 只要选对路子,普通人也能把网站稳稳当当地立起来。 今天咱们不聊虚的,就聊聊在…

2026/9/21 4:32:34 阅读更多 →
合肥建站公司排名前十名揭秘:保姆级建站教程与选型指南

合肥建站公司排名前十名揭秘:保姆级建站教程与选型指南

合肥建站公司排名前十名揭秘:保姆级建站教程与选型指南 域名服务器配置报错,SSL证书部署失败,ICP备案卡在初审?别慌,这往往是新手在寻找 合肥建站公司排名前十名…

2026/9/21 4:18:24 阅读更多 →
ARIS 工作流总览:从 idea 到 paper 的 13 条 pipeline 如何一次看全

ARIS 工作流总览:从 idea 到 paper 的 13 条 pipeline 如何一次看全

ARIS 工作流总览:从 idea 到 paper 的 13 条 pipeline 如何一次看全 【免费下载链接】Auto-claude-code-research-in-sleep ARIS ⚔️ (Auto-Research-In-Sleep) — Lightweight Markdown-only skills for autonomous ML research: cross-model review loops, idea …

2026/9/21 4:06:15 阅读更多 →
Roc 格式化器幂等性测试实战:从 issue 8851 快照看多行分发与字段访问的格式化处理

Roc 格式化器幂等性测试实战:从 issue 8851 快照看多行分发与字段访问的格式化处理

Roc 格式化器幂等性测试实战:从 issue 8851 快照看多行分发与字段访问的格式化处理 【免费下载链接】roc A fast, friendly, functional language. 项目地址: https://gitcode.com/GitHub_Trending/ro/roc 导读:本文以 Roc 编译器仓库中的快照测试…

2026/9/21 4:04:14 阅读更多 →
TypePHP编译器API参考:程序化调用PHP AOT编译器的完整指南

TypePHP编译器API参考:程序化调用PHP AOT编译器的完整指南

TypePHP编译器API参考:程序化调用PHP AOT编译器的完整指南 【免费下载链接】typephp Compile PHP to Native Binaries 项目地址: https://gitcode.com/GitHub_Trending/ty/typephp TypePHP 是一款用 PHP 编写的原生 AOT 编译器(tpc)&a…

2026/9/21 4:04:14 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →