这是《DeepSeek Harness 权威指南 》系列的第 1 篇。 源码基线:deepseek-harness @ 47f9438(v0.1.0-rc.5);本地截图和命令输出均标注为 2026-08-16 的单次观察。

数据口径:这些数字说明什么,不说明什么

本文的 GitHub 数字取各项目仓库 REST API 的 stargazers_count 快照;表中的 dsh npm 数字取 downloads/point/last-week/@deepseek-ai/dshdownloads 字段,即抓取日前滚动 7 天下载量。它不是安装量、活跃用户数、付费用户数,也不能直接推出生态成熟度。表中的“开源时间”和“用时”按各项目公开仓库日期计算到同一快照日。

在 2026-08-16 的快照中,dsh 的 GitHub star 为 120,895;仓库公开日期为 2026-08-13。这个速度值得记录,但本文不会把 star 或下载量当作框架能力的证据。能力判断以下面的插件结构、配置树和本机运行证据为准。

一、定义:三个关键词

官方仓库的描述只有一句话:

DeepSeek Harness: Everything is a Plugin.

这句话不是营销文案,是对架构的事实陈述。三个关键词拆开:

Harness(框架)。Harness 在 agent 语境下指"智能体的运行框架":编排模型调用、工具执行、会话管理、权限控制这些外围工程。模型本身(如 DeepSeek V4)不在 harness 里,harness 是让模型能干活的脚手架。

Plugin(插件)。在 dsh 里,模型适配器是插件、工具注册表是插件、会话日志是插件、权限策略是插件、连 agent 主循环本身都是插件。没有一个需要打补丁的"特权内核"。

Everything(一切)。这里的“一切”不是靠固定插件数量定义。2026-08-16 的本机 Web 会话截图里,插件列表显示 133 个已挂载插件,包含 llm(模型层)、agent-loop(主循环)、tool-fs(文件工具)和 ui-conversation(对话界面)。这个计数取决于 commit、profile、操作系统、已安装插件、home patch 与命令行 overlay;它记录的是那次组装结果,不是 dsh 的固定产品规格。

DeepSeek Harness Web UI 插件列表:133 个插件全部以插件形式挂载

图:2026-08-16 的本机 Web 会话插件列表截图。133 是该会话的观测值;不同版本、profile 与 patch 的结果会不同。

二、与 Claude Code、Codex、OpenClaw 的定位差异

先看数据(GitHub API 快照,核验时间 2026-08-16,star 数会持续变化):

维度Claude CodeOpenAI CodexOpenClawDeepSeek Harness
开发者AnthropicOpenAI社区(原 chatgpt-on-wechat 团队)DeepSeek AI
GitHub stars141,598106,175386,426120,895(3天)
开源时间2025-022025-042025-112026-08-13
语言PythonRustTypeScriptTypeScript
核心定位终端编程 agent终端编程 agent个人助理 agent可扩展 agent 框架
扩展方式Skills/子代理AGENTS.md/SkillsSkills/插件一切皆插件(Cordis)
默认形态CLICLICLI/多平台Web UI + Headless
许可证商业Apache-2.0MITMIT
模型绑定ClaudeGPT 系列多模型任意 OpenAI/Anthropic 兼容端点

这张表有三个值得注意的差异。

第一,模型中立是刻进设计的。 Claude Code 绑 Claude,Codex 绑 GPT,OpenClaw 是多模型个人助理。dsh 把"任意 OpenAI/Anthropic 兼容端点"做成一等公民——我们在设置界面确认过,自定义提供方支持 openai-completions、openai-responses、anthropic-messages 三种协议。一个 DeepSeek 出的框架,默认不绑定 DeepSeek 模型。

第二,不要把 dsh 与 Claude Code/Codex 简化成同类功能对比。 Claude Code、Codex 的目标是直接完成编程任务;dsh 的架构文档明确把会话日志、工具注册表、模型适配器和 agent loop 都列为可从配置替换的插件。需要开箱即用的编程 agent 时,前两者通常更省事;需要替换会话、工具、模型或运行表层时,dsh 提供的是可组装底座。本文不把这种架构差异表述成“唯一”或“绝对更好”。

第三,star 是发现信号,不是能力或生态结论。 3 天内的 120,895 star 说明该仓库在快照期获得了大量关注。仓库 README 的原文是“为你的插件仓库添加 dsh-plugin 话题,便于被发现。”这个 topic 只是带标签仓库的聚合入口;它不能单独证明话题由官方创建,也不能推出插件生态、教程需求或人才流动已经发生。

三、本地真实验证:两种运行形态

全部在本机真实跑过(Node v24.16.0 + pnpm 11.13.0):

# 从源码构建
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build

# 启动 Web UI
pnpm dsh web
# 输出:dsh web: http://127.0.0.1:3080

启动后的 Web UI 是一个完整的 agent 工作台:会话列表、工作区管理、模型配置、插件管理、权限模式(Workspace Write 等)、Agent 预设。界面流程是:内测声明 → 配置 API Key(可跳过)→ 主界面。

# Headless 模式:不用浏览器,一条命令跑完一个任务
pnpm dsh --profile headless --help
# Usage: dsh --profile headless [options] [task...]
# Answer one task, print the final assistant message, and exit.

web 和 headless 是同一个框架的两种组合:web profile = dsh-base + dsh-web-app,headless = dsh-base + dsh-headless,零代码切换。这是"一切皆插件"的第一个实际收益——同一套代码,两种产品形态。

DeepSeek Harness Web UI 主界面

图:本地真实运行的 dsh Web UI 主界面(侧边栏会话树 + 工作区 + 输入框)

四、选型边界

适合用 dsh 的场景:

  1. 要做 agent 产品,需要自定义工具集、审批流、会话存储——dsh 的插件 seam 提供标准扩展点,不用 fork 源码。
  2. 要接多家模型,不想被单一厂商绑定——模型适配器 seam 原生支持多协议。
  3. 要学习 agent 架构——在 47f9438docs/subsystems/ 中可数到 46 篇中文 .zh.md 页面与 46 篇对应英文 .md 页面。这说明文档覆盖范围较广;它不等于每个 seam 都已完整说明,遇到具体改造仍应回到对应包和配置核对。
  4. 要定制 CLI/Web 形态——headless 和 web 只是两个 profile 模板,组合自己的 profile 是文档化的标准流程。

什么情况别选 dsh:

  1. 只要一个开箱即用的编程 agent——Claude Code / Codex 的默认体验更成熟。dsh 目前是开发者预览阶段;README.zh.md 的原文是:

DeepSeek Harness 目前处于 开发者预览 阶段,正在快速迭代。未来将出现破坏兼容性的变更。

生产集成应锁定版本或 commit,并在升级前做回归验证;这段声明不承诺插件 seam、配置格式或事件词汇在未来保持兼容。 2. 要极致的单任务性能——插件树带来灵活性的同时有组装开销,headless 单次任务不如专用 CLI 轻量。 3. 团队没有 TypeScript 基础——插件开发是 TS 生态,纯 Python 团队要补语言成本。

按你的诉求选:

要开箱即用的编程 agent?        → Claude Code / Codex
要多模型个人助理?              → OpenClaw
要可改造的 agent 底座(二开)?  → DeepSeek Harness
要理解 agent 原理?             → 两个都学:本系列 + 本站的 Rust harness 系列

五、系列路线

  • 线 A(原理):第 2 篇讲架构总览——“一切皆插件"在没有特权内核的前提下如何成立;第 3 篇深讲插件树(挂载/卸载/依赖注入/可逆副作用),这是理解 dsh 一切机制的地基;之后依次拆解会话与事件、工具系统、LLM 流式、安全沙箱。
  • 线 B(实战):从环境搭建和第一个插件开始,写工具插件、LLM 适配器、权限 hook、UI 节点,最后是一个完整的端到端实战案例(代码在 rex-dhs-core )。

下一篇:架构总览:没有特权内核的插件世界


FAQ

Q:DeepSeek Harness 需要 GPU 吗? 不需要。dsh 是本地运行的控制框架,通过 API 调用模型,推理在云端完成。本机只需要 Node.js 22.19+。

Q:DeepSeek Harness 只能配 DeepSeek 模型吗? 不是。自定义提供方支持 openai-completions、openai-responses、anthropic-messages 三种协议,任何兼容端点都能接。

Q:它和本站之前的 Rust harness 系列是什么关系? 《写一个 Coding Agent Harness》是"从零用 Rust 造一个 agent 框架"的教学系列(基于 grok-build 源码);本系列是"理解并用好 DeepSeek Harness 这个生产级框架”。一个造轮子学原理,一个用轮子做产品,互为补充。

Q:现在学 dsh 会不会学完就过时? 官方处于开发者预览阶段,接口会有破坏性变更。但架构思想(插件树、事件驱动、seam 设计)不会过时,本系列会随版本更新。学的是架构,不是 API 快照。


互动模块

① 站队:你更看好"终端编程 agent"(Claude Code/Codex)还是"可扩展 agent 框架"(dsh)路线?A. 终端 agent,开箱即用才是王道 B. 框架路线,可定制才有护城河 C. 现阶段两者都太早,看生态

② 征集:你在生产环境用过哪些 agent 框架/harness?遇到过什么"必须 fork 源码才能改"的痛点?评论区贴出你的经历,我会在二开系列里针对高频痛点出专题。

③ 转发:如果你身边有人正在纠结"该学哪个 agent 框架",把这篇文章转给他——3 天 12 万 star 的项目值得花 5 分钟了解。