易君召
发布于 2026-08-15 / 作者:易君召 / 7 阅读
0

🧩 DeepSeek Harness 上手指南:读懂"一切皆插件",10 分钟跑起你的第一个智能体框架

#AI

2026-08-13 · v0.1 开发者预览版(MIT)· 发布 24 小时 Star 从 1 万飙至 9.6 万+ · 中文教程社区一夜井喷

🔥 一、发布动态:一天之内成为现象级开源项目

8 月 13 日,DeepSeek 正式开源代码智能体框架 DeepSeek Harness(dsh)——与 DeepSeek-V4-Pro-0813(1.6 万亿参数、MIT 权重)同日发布,形成"开源模型 + 开源 Harness"组合拳。热度轨迹堪称恐怖:

时间点

GitHub Star

开源时

~1.03 万

数小时后

~1.4 万

次日

9.6 万+(Forks 近 9,000)

与此同时,中文社区一夜井喷:知乎"极速上手教程"、掘金万字保姆级教程、CSDN 小白版教程、B 站安装视频、社区站 dshbase.com 的 Windows/macOS/Linux/WSL 一键脚本接连出现——这是国内大模型厂商开源产品少有的"发布即教程化"盛况。官方生态同步铺开:GitHub Discussions、Discord、企微群 + 微信公众号,并开放 dsh-plugin 插件话题征集生态伙伴。

🧩 二、"一切皆插件"设计思想深度拆解

官方核心理念只有一句话:"Everything is a plugin"(一切皆插件)。拆开看,它有三个层次:

1️⃣ 插件 = 一个 apply(ctx) 函数
一个插件就是一个 TypeScript 模块,导出 apply(ctx),框架加载时调用,通过 ctx 注册能力:

ts

export function apply(ctx: Context) {
  ctx.effect(() => { /* 注册工具/事件/服务 */ })
}

关键机制:注册即副作用(effects),插件卸载自动回滚——监听器、工具、定时器全部自动清理,无需手动 removeListener。这让"装上/卸下"一个能力像插拔 U 盘一样干净,也保证了动态插拔不泄漏、不残留。

2️⃣ 能力缝(Capability Seam):三位一体
每个可替换能力都是"缝":Service Definition(接口声明)+ Service Provider(实现)+ Consumer(模型可见的工具)。文件系统、shell、子代理、Web、LLM、沙箱全是缝。以沙箱为例:换一个 sandbox-localsandbox-e2b 后端,bash、PTY、LSP 全部自动迁入云端执行世界,消费方一行不改——因为所有执行都通过同一道"缝"。

3️⃣ 配置即组合:无特权核心
系统基于 Cordis 元框架构建(配套论文《A Programming Paradigm for Spatiotemporal Composability》已公开):Cordis 只负责插件挂载/卸载与依赖管理,其余全部是插件——连 agent loop(智能体主循环)本身都可替换。组合通过分层 patch 完成:bundle(基础包)→ profile(配置档)→ 用户 cordis.patch.yml → --patch 覆盖,用 dsh --profile web --dump-config 可查看整棵组合树,任何一行都能被你的 patch 改写。

4️⃣ 两条硬设计原则

  • 模型可见即记录:凡进入模型请求的内容,必须能从追加式会话日志重构(运行时强制断言)——这是"每条运行可追踪"的根基;

  • 失败必响亮:不支持的能力启动即拒绝(UNSUPPORTED_CAPABILITY),绝不"接受后忽略",杜绝静默降级。

5️⃣ 开放性的代价
一切皆插件的另一面是复杂度:8,600+ 文件的工程、分层 patch 的心智模型、44 个子系统的学习曲线,初看容易劝退。官方也因此移除了维护成本高的 TUI 包,集中打磨 Web UI 与 Headless。对大多数用户来说,"配置组合"是日常,"写插件"是进阶——门槛其实集中在想深度定制的人身上,普通使用者反而受益于"想要什么装什么"的极简默认。

🔑 一句话理解:别人家的 Harness 是"操作系统+预装软件",dsh 是"只有内核的 Linux"——你想要什么,都是装包的事,而不是改源码的事。

⚡ 三、安装部署步骤(三选一)

方案 A:零安装体验(最快)

bash

# 需 Node.js(官方要求 ^22.19+,社区反馈 LTS 18+ 亦可)
npx @deepseek-ai/dsh web
# 启动后浏览器打开 http://127.0.0.1:3080

方案 B:全局安装(长期使用推荐)

bash

npm install -g @deepseek-ai/dsh
dsh web                        # 启动 Web UI
dsh --profile headless "任务"   # 无头模式跑一次性任务

方案 C:源码构建(开发者)

bash

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

各平台装 Node 一行搞定(社区一键脚本):

平台

命令

Windows

winget install OpenJS.NodeJS.LTS

macOS

brew install node

Debian/Ubuntu

NodeSource:curl -fsSL https://deb.nodesource.com/setup_lts.x \

sudo -E bash - && sudo apt-get install -y nodejs

WSL

同 Ubuntu,在 WSL 终端执行即可

国内加速与常用参数:

  • npm 走镜像:npm config set registry https://registry.npmmirror.com

  • 换端口:dsh web --port 8080

  • 查看组合树:dsh --profile web --dump-config

  • 配置目录:$DSH_HOME/settings.yaml(模型/插件配置)、.credentials.yaml(密钥)、cordis.patch.yml(个人覆盖层)

首次配置三步: 打开 :3080Settings → Models 填入 DeepSeek API Key(密钥写入 .credentials.yaml,UI 只存引用、写后不可见)→ Choose workspace 选择项目目录。想用别的模型?Add provider 可选 Anthropic/OpenAI/Bedrock/Vertex/Azure/Codex 目录提供者,或 Add custom provider 接任意 OpenAI 兼容端点(自建网关、商汤、智谱等国内服务均可)。

🎓 四、新手教程:从零到第一个任务

1️⃣ 跑通第一个任务
配好 Key 和 workspace 后,新建会话发送:"总结这个仓库并指出主要包结构"——agent 会自己读文件、跑命令、多步执行,需要确认的操作会先征求你同意(权限策略可调)。全程可在 Trajectory 视图中按来源检视它每一步看到了什么、调用了什么。

2️⃣ 认识四种运行模式(用 dsh --profile <name> 切换,默认加载不同插件集合)

模式

适用人群

说明

标准模式

日常使用

完整工具集:编辑、shell、搜索、技能、规划、目标、子代理、工作流

代码模式(PTC)

进阶

模型生成 TypeScript 程序,一次编排多轮工具调用(Code Mode SDK)

极简模式

基准测试

仅 shell + 文件编辑器两个工具,最小环境测模型真实能力

创造模式

插件开发者

运行时检查、内存中试验插件、组合创作全新模式

3️⃣ 无头模式自动化
dsh --profile headless "运行测试"——一条命令跑完打印结果退出,适合 CI 流水线与脚本化调用;Python 项目还可直接用官方 Python SDKdeepseek-harness-sdk,JSON-RPC over stdio)把 Harness 嵌进自己的程序。

4️⃣ 进阶三件套

  • 权限预设(Permission Presets):一键切换全自动/半自动/全确认模式,控制"模型多大程度自作主张";

  • 子代理委派(Subagent):把任务拆给多个子代理并行跑,甚至可以指挥 Claude Code、Codex 当"外包工";

  • 动态工作流(Workflow):让模型写一段 JS 编排脚本,用 agent()/parallel()/pipeline() 批量处理任务——与 Claude Code 的 workflows 语法兼容。

熟练这三样,基本就摸到"Agent 工程化"的天花板了。

5️⃣ 五步写出你的第一个插件(这是理解"一切皆插件"的最好方式)

bash

mkdir -p scratch-plugin/src


创建scratch-plugin/src/my-plugin.ts,导出apply(ctx)打印一行日志;再创建cordis.ymlinsert指向插件绝对路径;最后启动:

bash

pnpm dsh web --patch ./scratch-plugin/cordis.yml


打开:3080,终端出现[hello-plugin] plugin loaded!——你的第一个插件已挂载进 Harness,整个过程不到 5 分钟。

⚠️ 五、常见问题 FAQ

报错 / 问题

解决办法

MISSING_CREDENTIAL

在 Models 页存 Key,或设置环境变量 DEEPSEEK_API_KEY

UNKNOWN_MODEL

选择已配置的模型;自定义 provider 需手动添加模型

拉取模型列表返回 401

Key 有误,或端点不支持 GET /models——改为手动填模型

上传图片被拒

该模型未声明图片模态;自定义模型需配置 input: [text, image](DeepSeek 官方聊天路由仅文本)

端口被占用

dsh web --port 8080 自定义端口

提示缺 Node.js

按上表用 winget / brew / NodeSource 一行安装

下载慢、安装失败

npm 换 npmmirror 镜像;GitHub 慢可用加速代理或直接下 release

找不到 TUI

TUI 包已于 8 月初移除,用 Web UI / Headless / Python SDK

想接国产模型

Add custom provider 填 OpenAI 兼容端点 + 模型 ID 即可

会话数据存哪

本地 SQLite/JSONL 持久化($DSH_HOME 下),支持续跑与 fork

版本会变吗

预览期明示将有兼容性破坏,勿用于生产;建议跟随 release 节奏

🔮 六、未来演进方向

阶段

方向

短期

预览版转正(rc→GA)、Task Surface 任务面、可召回压缩(recallable compaction)、npm 首发发布流程;配合 V4 Pro 的 Responses/Anthropic 双协议打通 Codex 与 Claude Code 生态

中期

Cordis Web 动态插件(浏览器内插件热装载)、API 网关远程化(手机/远端操控智能体)、dsh-plugin 插件市场规模化、更多第三方 LLM 适配器与界面(IDE 插件等)

长期

成为模型无关的中立智能体基础设施;叠加 MIT 权重 + 国产 GPU 适配,冲击政企私有化场景,对标 Claude Code 在国内的替代窗口

风险提示:preview 期 API/持久化格式不稳定、插件生态仍处空白、依赖 Node 运行时、文档以英文为主——想长期持有的开发者建议先围观社区,等首个稳定版再上车。

📌 七、总结:三个核心信号

  1. 🏆 "一切皆插件"是架构级的开放宣言——无特权核心 + 能力缝 + 配置组合,让"改框架"降维成"装插件",这是 dsh 与所有闭源 Harness 的根本分野;

  2. 🏆 9.6 万 Star 验证了开发者对"中立 Harness"的饥渴——模型可换、UI 可换、连 Claude Code 都能被指挥,生态想象力远超单一模型绑定;

  3. 🏆 上手门槛低是爆火的助推器——npx 一行启动、Web UI 配置、5 分钟写插件,配合中文社区教程井喷,"开源模型 + 开源 Harness"的组合拳正在兑现。

📌 一句话总结:想看懂下一代 AI 基建,先花 10 分钟把 dsh 跑起来——它是目前观察"Agent 工程化"最好的活教材。


本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。

原文链接 https://www.yijunzhao.cn/archives/deepseek-harness-getting-started-guide-first-agent-framework

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/