Blog/开发者工具/

DeepSeek Harness(2026):安装、插件与生产限制

DeepSeek Harness 安装与评测:介绍 npx 用法、插件架构、API 限制,以及生产前可以安全测试的范围。

Cover image for DeepSeek Harness 开发者预览版:一切皆插件

先说结论: DeepSeek Harness 是一个 v0.1 开发者预览版,仓库描述了采用 MIT 协议、围绕插件组合的 Agent Runtime。模型适配器、工具、会话、沙箱、存储、调度和 UI 都可以作为插件组合。接口可能变化,适合先评估,不宜直接当生产依赖。

权威入口是 deepseek-ai/deepseek-harness 仓库。版本、协议、命令和 Star 数会变化,应以实时 README 和仓库元数据为准。当前文档给出的快速启动命令是:

npx @deepseek-ai/dsh web

跑起来之后打开 localhost:3080,你会看到一个 Agent 环境。这个环境里,模型、它调用的每个工具、会话存储、代码沙箱、甚至 UI 本身,全是独立插件——在配置层随时替换。

DeepSeek Harness GitHub 仓库 deepseek-ai/deepseek-harness 仓库;当前 Star、commit、协议和版本信息请以实时页面为准。

为什么值得关注

大多数 Agent 框架把循环写死了:prompt → 工具调用 → 结果 → prompt。你想换个会话持久化方案,或者把沙箱换成远程容器,或者改调度逻辑,都得去翻框架内部代码。

DeepSeek Harness 走了另一条路。核心是 Cordis——一个插件框架,插件通过 服务、类型化事件 和 可逆副作用 向共享上下文贡献能力。产品的每个部分都是插件:模型适配器、工具注册表、会话日志、Agent 循环本身。没有特权核心需要 patch——你通过在其他插件旁边挂载一个新插件来扩展 DSH。

核心架构概念是能力接缝(Capability Seams):每个能力有三种角色——声明接口的 Service Definition、实现它的 Service Provider、使用它的 Consumer。换一个 Provider,整个栈跟着走。把文件系统和子进程 Provider 指向远程沙箱,bash、PTY 和 LSP 全部跟过去,不需要任何 fork。

架构一览

DSH 通过 Profile(命名的组合方案)和 Bundle(分发格式)启动。Profile 列出它要叠加的 Bundle 和用户补丁。默认有两个:web(完整浏览器 UI)和 headless(一次性运行器,无服务器)。

基础 Bundle(dsh-base)提供模型适配器、工具、持久化、沙箱策略、设置、凭证、遥测。额外 Bundle 添加界面:dsh-web-app 是浏览器应用,dsh-headless 是纯 CLI 执行。

层级按顺序组合:Bundle → Profile patch → 用户级 patch → --patch 覆盖。任何配置行都能被你自己的 patch 替换,不用动源码。

组件职责ctx 键
Agent Loop默认驱动:步骤、回合、模型调用ctx.agentLoop
Session仅追加事件日志,内存存储ctx.sessions
System Prompt提示词段落和工具 schema 组装ctx.systemPrompt
Tools带作用域的工具注册表 + 受保护执行管线ctx.tools
LLM消息/流式词汇 + 适配器接缝ctx.llm
Shell通过子进程执行 Bash/PowerShellctx.shell
Filesystem带策略事件的文件读写编辑ctx.fs
Sandbox进程隔离(本地、Docker、远程)ctx.sandbox
Terminals持久化 PTY 会话ctx.terminals
Jobs后台任务(bash、subagent、terminal)ctx.jobs
Subagents子 Agent 委托(fork、新建、远程)ctx.subagents
Schedulecron 式定时执行通过 ctx.sessions

所有组件通过 Cordis 服务注册。换掉任何 Provider——Consumer 不需要改。

Cordis GitHub 仓库——DSH 底层的插件元框架 Cordis:“时空可组合性的元框架”——DSH 运行的插件内核。

Profile 和运行模式

DSH 内置多种 Profile,每种组合不同的 Bundle 和工具包:

Profile技术栈适用场景
webdsh-base + dsh-web-app完整浏览器 UI,日常开发
headlessdsh-base + dsh-headless一次性 CLI 运行器,CI 集成
PTCCode mode 启用模型生成程序来组合多步工具调用
极简仅 shell + 文件编辑基准测试(SWE-bench、Terminal-Bench)
创造Cordis 工具集加载运行时自省,动态插件实验

极简模式把工具注册表精简到只剩 bash 和 str_replace_editor——正好是编码 benchmark 要求的最小集。创造模式加载 cordis_* 工具集(cordis_define、cordis_run、cordis_inspect_*),Agent 可以检查自己的运行时并在内存中定义新的 package。

Profile 用户可自建。列出 Bundle 并应用 patch 就行:

dsh --profile web --dump-config  # 查看你的机器实际启动了什么

仅追加的会话日志

Session log 是模型看到的一切的 source of truth。deriveMessages() 从中投影出模型历史。原始 assistant/chunk 事件保留回放和 UI 保真度。Fork、恢复、转录、遥测、持久化全部从这一条流派生。

设计铁律:模型可见 = 必须记日志。 任何到达模型请求的内容都必须能从日志重建。运行时有断言检查这一点。

Agent 循环以**回合(turn)和步骤(step)**运行。一个 step 是一次模型请求加它调用的工具。一个 turn 是零到多个 step:在第一个输入被认领前开始,在无人欠债时关闭。流程:

turn/start → 认领输入 → 组装 prompt + 工具 schema →
  step/start → 模型请求 → assistant/message → tool/call* → tool/result* → step/end
  → 还有输入?→ 下一个 step
turn/end

关键事件(agent/pre-step、agent/request、llm/stream、tools/pre-execute)是 waterfall 模式——监听者必须调用 next() 才能委托。这意味着任何插件都能在管线的任意点拦截、变换或短路,不需要 patch 循环本身。

技术栈

层级技术
运行时TypeScript / Node.js
包管理pnpm workspace(monorepo)
构建tsdown
测试Vitest(单元 + e2e + 快照 + 压力)
Python 支持pytest,独立 python/ 目录
Lintoxlint
Git hookslefthook
CIGitHub Actions + GitLab CI

仓库上线时已有 12,293 个 commit——不是周末项目。monorepo 的 packages/ 目录说明内部拆分做得很细。还有 native/ 目录(大概率是桌面端/Electron)、apps/(Web UI)和 website/(文档站)。

目前缺什么(毕竟是预览版)

直说局限:

  • 一定会有破坏性变更。 README 加粗写的。插件 API 会变。
  • 文档偏少。 有架构文档和开发指南,但还没有插件编写教程。
  • 生态仍在早期。 第三方插件已经覆盖运行时操作、可移植 Skill 和插件发现,但仍需针对具体 DSH 版本检查兼容性。
  • 没有托管版。 只能本地跑,没有云服务。
  • 模型支持范围不明确。 文档说模型供应商是插件,但除了 DeepSeek 自家模型,开箱支持哪些还不清楚。

横向对比

DeepSeek HarnessOpenHandsClaude CodeCursor Agent
架构插件化(Cordis)单体运行时闭源闭源
可扩展性全部可替换需要 fork不可扩展不可扩展
许可证MITMIT专有专有
成熟度开发者预览生产级生产级生产级
模型绑定无(插件化)无仅 Anthropic多模型
会话透明度全量追加日志部分有限有限

架构哲学上最接近的对比对象是开源 Agent 框架生态——但 DSH 的区别在于框架本身几乎是空的。框架只是 Cordis + 约定;所有实质内容都在插件里。

对 Agent 插件架构的可移植性标准感兴趣的,可以参考我们的 Agent 插件可移植标准解读。

快速上手

DeepSeek Harness 官网 deepseek.com/harness DeepSeek Harness 官方落地页——文档、Discord 社区和快速上手指南入口。

npx 一键启动

npx @deepseek-ai/dsh web

需要 Node.js 环境。启动后浏览器打开 http://127.0.0.1:3080。

从源码安装

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

接入一个真实的第三方 Runtime 插件

SandBase Harness 是一个采用 Apache-2.0 协议、本地优先的 Agent Runtime,并提供原生 DSH Bundle。v0.3.8 Bridge 暴露六个 MCP 操作:列出 Agent、创建会话、运行一轮、检查会话、列出产物和停止任务。

请从固定 Tag 构建源码,不要安装 npm 上与本项目无关、未加 scope 的 managed-agents 包:

git clone --branch v0.3.8 --depth 1 \
  https://github.com/sandbaseai/sandbase-harness.git
cd sandbase-harness
npm ci
npm run build:runtime
npm link

mkdir ../my-agents && cd ../my-agents
managed-agents init
managed-agents start

在另一个终端把 Bundle 加入 DSH Web Profile:

export MANAGED_AGENTS_URL=http://127.0.0.1:3000
# 只有 Runtime 已启用认证时才设置 MANAGED_AGENTS_API_KEY。
dsh plugin --profile web add managed-agents
dsh web

DSH 会在稳定的 mcp__sandbase__* 命名空间下看到这些工具。Bridge 只连接 MANAGED_AGENTS_URL,会话和产物仍保存在配置的 Harness Workspace 中。默认 Local Sandbox 以当前 OS 用户身份执行命令;需要更强隔离边界时请选择 Docker 或 Kubernetes Backend。

安装前可以先检查固定版本的集成指南 和官方 MCP Registry 条目。 如果这个集成解决了真实 Runtime 问题,欢迎为 SandBase Harness 仓库点 Star, 帮助其他 DSH 开发者发现它。

社区

如果你正在为 Agent Runtime 选择可自托管的模型,可以先阅读2026 年 8 月最佳开放权重 LLM 盘点,再决定使用哪个 Provider 插件。

FAQ

DeepSeek Harness 能用于生产环境吗?

不能。这是 v0.1 开发者预览版,团队明确说了会有破坏性变更。适合试验和评估,不适合上生产。

能用 DeepSeek 以外的模型吗?

原则上可以。模型供应商是插件。但文档没说清楚哪些供应商开箱即用,哪些需要社区插件。

DSH 和 LangChain、CrewAI 有什么区别?

LangChain 和 CrewAI 提供有主见的编排方案,循环模式是固定的。DSH 没有内置编排——循环本身也是插件。代价是:灵活度更高,但需要自己组装的也更多。

有云端托管版吗?

没有。DSH 只能本地运行,DeepSeek 目前没有托管服务。

DSH 和 Cordis 是什么关系?

Cordis 是插件系统——相当于内核。DSH 是跑在这个内核上的 Agent Harness。Cordis 管插件生命周期、依赖解析和热重载;DSH 用 Cordis 插件定义「Agent」到底由哪些部分组成。