跳到主内容
星链API

DeepSeek Harness(dsh) vs Claude Code:架构对比与开发者实战指南

人工智能7,756
DeepSeek Harness(dsh) vs Claude Code:架构对比与开发者实战指南

在大模型能力持续拔高的当下,开发者逐渐意识到,模型本身的推理上限已经不是最大瓶颈。同样一套大模型,包裹不同的 Agent 运行框架,处理复杂多步骤任务时,成功率、资源消耗会出现数倍差距。业界把这层包裹模型、负责任务调度、工具调用、沙箱管控的基础设施统称为 Agent Harness(智能体运行时)。2026 年 8 月,DeepSeek 对外开源了基于 MIT 协议的 DeepSeek Harness,简称 dsh,上线之后迅速获得社区大量关注。它与闭源产品 Claude Code 形成一组非常有参考意义的对照样本,也让 “一切皆插件” 的 Agent 架构走进更多开发者的视野。

很多人简单把 dsh 理解成 “开源版 Claude Code”,这个认知并不完整。dsh 不是一个开箱即用的成品 Agent 应用,而是一套可重组的 Agent 元框架。开发者可以基于它组装属于自己的智能体系统,甚至可以把 Claude Code、Codex CLI 作为子代理嵌入整个工作流中,二者并非完全竞争的关系。本文结合官方公开文档、社区实测资料,对比 dsh 与 Claude Code 的架构差异、扩展机制、MCP 支持、沙箱安全能力,同时梳理多 Agent 编排的工程思路,给实际做 Agent 开发的开发者提供选型参考。

一、核心定位与基础架构对比

DeepSeek Harness(dsh)采用 Cordis 插件内核,贯彻 “一切皆插件” 的设计理念:模型适配器、工具集、会话管理、沙箱、Agent 循环逻辑、WebUI 全部以插件形式实现,不存在不可修改的特权核心组件。所有组件依靠事件与服务上下文完成协同,新增、替换、卸载插件不会在系统内留下残留状态,插件卸载即可撤销全部注册的能力。项目现阶段处于 developer preview 预览阶段,官方明确提示后续会存在破坏性变更,没有稳定语义化版本保障,不建议直接用于生产环境。

dsh 提供多种交互形态:本地 WebUI 默认运行在127.0.0.1:3080,同时支持 headless 无界面 CLI 模式、SDK 集成模式,同一套底层能力可以同时支撑人机交互与自动化批量任务。

而 Claude Code 属于 Anthropic 推出的闭源商用编码智能体,以终端 CLI 为主要载体,配套 IDE 插件。它的扩展体系做了显式拆分,将能力划分为 skills、commands、hooks、MCP server 四类互相独立的扩展机制,同时提供官方插件市场,不同扩展类型拥有各自独立的配置文件格式与目录约定,整体是一套垂直整合的成品产品,版本迭代更加稳定,面向直接使用者开箱即用。

二者架构最本质的差异:

  • dsh:统一插件底座,不同扩展能力是同一种 Cordis 插件,靠事件机制做区分,自由度更高,适合二次开发、定制 Agent 底座;
  • Claude Code:多种扩展类型相互隔离,有各自的 manifest 规范,更适合普通使用者直接安装插件,二次改造底座的门槛很高。

模型接入层面,dsh 不绑定 DeepSeek 自家模型,原生适配 Anthropic、OpenAI、Bedrock、Vertex,同时兼容任意符合 OpenAI 规范的 API 端点;Claude Code 主要围绕 Claude 系列模型构建,仅可以通过云厂商中转渠道调用其他模型系列。如果业务需要同时对接多家厂商的模型,也可以借助统一 API 网关简化多套密钥、多端点的维护负担,星链 api就提供 OpenAI 兼容的统一接入方式,但需要开发者自行校验上游模型版本以及计费信息,网关不会改动底层大模型本身的推理效果。

二、MCP 协议、Hooks 与子代理能力

MCP(Model Context Protocol)已经成为 Agent 领域主流的工具连接标准,dsh 和 Claude Code 都支持 MCP 服务桥接,但实现的完整度存在差别。

在命名规范上,dsh 沿用了和 Claude Code 保持一致的命名格式mcp__<serverName>__<rawName>,已经适配 Claude Code 的 MCP 服务,迁移过来时心智负担很低。但是 dsh 的 MCP 客户端当前仅支持 MCP 的 Tools 工具调用能力,Resources 资源、Prompts 提示词能力延后实现,暂时无法消费。如果你的 MCP 服务重度依赖 Resources 和 Prompts,直接迁移会出现功能缺失。而 Claude Code 的 MCP 客户端完整支持 Tools、Resources、Prompts 三类能力。

Hooks 事件钩子方面,dsh 提供桥接包dsh‑hooks‑claude‑code,可以直接解析已有的hooks.json配置,把 Claude Code 的钩子事件转换成 dsh 内部的会话事件监听器。也就是说,已经在 Claude Code 上沉淀的钩子脚本,不需要全部重写,就可以迁移运行在 dsh 之上,不过社区没有完成全部钩子类型的全覆盖,迁移完成后需要逐个业务场景做验证测试。同理也提供对应 Codex CLI 的钩子桥接包。

子代理是 dsh 非常有特色的能力:通过对应的 provider 插件,可以把 Claude Code、Codex CLI 包装成为子代理,主 dsh 任务可以把部分工作委派给这些外部编码 Agent 执行,汇总返回结果之后继续推进主流程。它并不是简单复刻竞品功能,而是把其他 Agent 变成自身编排体系下的执行单元,实现多智能体协同工作。子代理分为一次性委派、可续接会话两种模式,provider 需要显式声明自身支持的能力,不支持的请求会直接抛出错误,不会静默降级处理。

但要注意,二者的 Skill 体系并不互通。Claude Code 依靠SKILL.md目录约定定义 Skill;dsh 的 Skill 是 Cordis 插件体系下的一套注册表,格式并不兼容。虽然社区出现第三方插件可以做格式转换,但这属于社区方案,不属于官方兼容性保障。

三、沙箱安全与权限管控

Agent 可以读写本地文件、执行系统命令,安全隔离是绕不开的课题。dsh 设计了三档沙箱权限模型,从低到高分别为只读模式、工作区可写模式、完全权限模式。

  • 只读模式:允许读取文件,禁止任何修改写入;
  • 工作区可写:仅限定在指定工作目录进行读写,不会触碰目录以外系统文件,作为默认推荐选项;
  • 完全权限:放开系统操作,需要人工确认,业务场景尽量少使用。

底层实现上,Linux 平台借助 bwrap/Landlock,macOS 使用 Seatbelt,Windows 依靠 ACL 受限令牌,同时还支持对接 e2b 云沙箱作为额外隔离方案。

Claude Code 采用审批式权限模型,支持配置自动批准部分行为,但是它底层沙箱的内部实现细节没有对外完整公开。对于开发者来说,dsh 的沙箱档位更加显式、可配置,适合做二次开发定制权限策略;Claude Code 更偏向终端使用者开箱即用。

另外 dsh 全部会话操作生成只增不改的会话日志,每一次模型请求、工具调用、返回结果全部留存,支持会话分叉、任务断点续跑、完整回放复现,对于调试 Agent 逻辑非常友好。

四、典型适用场景与选型权衡

基于上面的架构差异,两种工具的适用人群有着清晰区分:

优先选择 DeepSeek Harness (dsh)

  • 你需要搭建一套自定义 Agent 底座,想要深度修改 Agent 循环、工具逻辑,希望尽可能不 fork 修改源码,依靠插件配置完成改造;
  • 现有业务已经大量使用 Claude Code 的 hooks、MCP 服务,希望复用已有资产,同时混合多家厂商模型;
  • 需要做多 Agent 编排,将 Claude Code、Codex 作为子任务执行者,构建 AI 团队式分工协作;
  • 倾向开源方案,希望完整掌控 Agent 运行时逻辑,接受 developer preview 版本带来的不稳定性、破坏性更新风险。

> 重要提醒:因为处于预览阶段,不建议直接把 dsh 部署到生产业务环境。

优先选择 Claude Code

  • 追求开箱即用,不需要深度改造 Agent 底层,直接拿来做编码、工程任务;
  • 需要官方稳定版本、插件市场、完整 MCP 全特性支持,不想承担预览版框架迭代风险;
  • 以终端、IDE 内直接使用为主,二次开发底座的需求不强。

两者并不是非此即彼。dsh 子代理的设计本身就允许把 Claude Code 纳入工作流,同一个任务可以混合两套系统的能力。

五、上手 dsh 的基础实操思路

本地环境运行 dsh 对 Node 版本有要求,推荐 Node.js 22.19 及以上版本,通过 npx 直接拉起 Web 服务:

npx @deepseek‑ai/dsh web

执行之后访问http://127.0.0.1:3080打开 WebUI,需要先选定工作目录,限定 Agent 可操作的文件夹,避免随意修改系统文件。

日常开发可以按照下面的实践顺序:

  1. 先从简单单任务入手,测试文件读取、命令执行,熟悉三档沙箱权限的区别,默认使用工作区可写模式;
  2. 尝试接入 MCP 服务,优先选用只依赖 Tools 能力的服务,避开重度使用 Resources/Prompts 的服务;
  3. 尝试导入已有的 hooks.json,跑通原有业务用例,逐个验证钩子事件是否符合预期;
  4. 实验子代理能力,把 Claude Code 作为子代理,体验多智能体分工;
  5. 查看会话轨迹日志,定位 Agent 任务失败根因。

因为 dsh 兼容 OpenAI 标准端点,开发者可以灵活切换不同厂商的模型。当项目同时维护多家大模型密钥,需要频繁切换模型的时候,可以选用统一 API 网关降低适配工作量。

六、总结:Agent 时代,模型只是其中一环

Agent 开发的重心正在发生转移,过去大家把绝大部分精力放在挑选更强的大模型;现在越来越多开发者意识到,Harness 运行时、插件扩展、沙箱安全、子代理编排,会直接决定模型能力能不能落地为可用业务。

DeepSeek Harness (dsh) 以 MIT 开源协议带来了一套高度可重组的 Agent 底座,“一切皆插件” 的 Cordis 架构给二次定制提供巨大空间,同时可以桥接 Claude Code 的存量生态。但必须正视现状:它处于开发者预览阶段,接口会变动,MCP 支持存在功能缺口,不适合直接上生产。

Claude Code 作为成熟闭源产品,扩展能力完整、开箱即用,适合直接做工程任务,但是底层架构封闭,深度改造的空间有限。

在实际工程选型中,不需要简单评判二者孰优孰劣,根据团队目标选择:做定制 Agent 底座优先考察 dsh;追求直接落地编码 Agent 业务,优先 Claude Code;复杂场景甚至可以利用子代理机制把两者结合起来使用。

了解更多:https://xinglianapi.com

DeepSeekClaude CodeAgent开源项目架构对比MCP沙箱

Related

相关文章推荐