DeepSeek Harness
一切皆插件的开源 Agent Harness,由 Cordis 内核驱动
简介
DeepSeek Harness(命令行名 `dsh`)是 DeepSeek AI 开源(MIT)的 agent harness,目前处于开发者预览版(developer preview)阶段,面向全球 Harness 开发者开放测试并同步开放源代码。它的主张是「Agent = Model + Harness」——模型是 Agent 的灵魂,harness 则给予 Agent 理解环境、使用工具、并在真实场景中持续工作的能力。架构上它基于 Cordis 插件系统构建:Cordis 内核只负责插件的加载、卸载与依赖关系,不承载具体能力;模型、工具、技能、会话、沙箱、存储、循环、调度、UI 等所有 Agent 能力都由插件提供,通过 Cordis 的服务与事件彼此协作,因此开发者无需改动源码,只在配置层就能选择、替换或扩展任一能力。第二条设计原则是「每一次运行都有迹可循」:模型看到的一切都会写入仅追加(append-only)的会话日志——系统提示词、思维链、工具调用与结果、子 Agent 调度、每一次上下文注入;在 Trajectory 视图里可按来源查看,恢复、分叉、检索与回放共享同一份事件流。运行时提供四种模式:标准模式是功能完整的编码 Agent(文件编辑、Shell、文件与网页检索、Skills、计划、目标、子代理、工作流);PTC 模式(英文页称 Code mode)通过 Code Mode SDK 暴露工具,让模型用一个 TypeScript 程序组合多步操作;极简模式仅保留持久 bash 与 str_replace_editor 两个工具,用于最小化环境下的模型基准测试;创造模式用于创建自定义 Agent preset,可检查当前运行时、在内存中试验 Cordis 插件并据此组合出新模式。上手只需安装 Node.js 后执行 `npx @deepseek-ai/dsh web` 启动 Web UI(默认 http://127.0.0.1:3080),在 Settings → Models 填入 DeepSeek API key 即可使用,也支持其他供应商与自定义 OpenAI 兼容端点;另可从源码 clone 后用 pnpm 构建运行。运行形态由 profile 与 bundle 组合而成,官方提供 `web` 与 `headless` 两套模板,并配有 Python SDK 与其他 CLI 模式。项目用 TypeScript 编写,插件生态以 GitHub `dsh-plugin` topic 聚合,社区支持在 GitHub Discussions 与 Discord。注意:官方明确说明预览期核心插件与基础 API 仍在快速迭代,会有破坏兼容性的变更。
核心功能
- ✓一切皆插件:模型、工具、技能、会话、沙箱、存储、循环、调度与 UI 全部由插件提供
- ✓Cordis 内核只管插件加载、卸载与依赖,不承载具体 Agent 能力
- ✓配置层自由组合:无需改动源码即可选择、替换或扩展任一能力
- ✓仅追加的会话日志:系统提示词、思维链、工具调用与结果、子 Agent 调度、上下文注入全程留痕
- ✓Trajectory 视图按来源查看运行记录,恢复 / 分叉 / 检索 / 回放共享同一事件流
- ✓标准模式:完整编码 Agent,含文件编辑、Shell、文件与网页检索、Skills、计划、目标、子代理与工作流
- ✓PTC 模式(Code mode):通过 Code Mode SDK 让模型用一个 TypeScript 程序组合多步工具调用
- ✓极简模式:仅持久 bash + str_replace_editor 两个工具,适合最小环境下的模型基准测试
- ✓创造模式:检查运行时、在内存中试验 Cordis 插件,创作自定义 Agent preset
- ✓一行命令启动 Web UI:装好 Node.js 后 `npx @deepseek-ai/dsh web`,默认服务在 127.0.0.1:3080
- ✓模型可换:内置 DeepSeek API key 配置,也支持其他供应商与自定义 OpenAI 兼容端点
- ✓profile + bundle 分层组合运行形态,官方提供 web 与 headless 两套模板
- ✓内置审批与沙箱策略,需要授权的操作会先向用户确认
- ✓Python SDK 与多种 CLI 模式,便于嵌入自有流程
- ✓开放插件生态:GitHub `dsh-plugin` topic 聚合社区插件,支持渠道为 Discussions 与 Discord