DeepSeek Harness学习手册
0/33
阅读路径 / 阶段 1
Chapter 01 · Orientation

认识与安装

先确认它解决什么问题,再选一条安装路线跑通。不写插件,但决定后面顺不顺。

4 节 · 约 1.5 小时 · 前置:无每节含目标 / 前置 / 要点 / 任务 / 自检
本阶段进度 0 / 4
1.1

Agent = Model + Harness

约 25 分钟定位 原文 ↗ 仍然成立
审计依据 ·

与 npm 0.2.1-rc.5、PyPI 0.2.1rc2 的预览状态一致;MIT 许可已在 npm 元数据核对。 查看本节审计记录

学习目标

用一句话解释 dsh 的定位,并说出「一切皆插件」在运行时到底意味着什么。

前置知识

无。知道 API Key 与命令行即可。

核心要点
  1. DeepSeek Harness(dsh)是 DeepSeek 开源的 Agent Harness,MIT 许可、TypeScript 编写,目前是 0.2.x 预览版;它不训练模型,而是组织模型运行的环境。
  2. Cordis 内核只负责插件的加载、卸载与依赖管理;模型、工具、会话、沙箱、存储、循环、调度、UI 都由插件提供。
  3. 官方公式是 Agent = Model + Harness;四种运行模式只是四组预设插件,不是能力等级。
  4. 可观测性是核心差异:模型看到的系统提示、思维链、工具调用与结果都写入仅追加会话日志,历史从日志派生,可回放与分叉。
  5. 模型无关:DeepSeek 官方端点、已收录的目录提供方、自定义 OpenAI 兼容端点都可以接入。
动手任务

画一张「模型 / Harness / 工作区」三层图,在 Harness 层列出至少 6 个可替换部件(如工具、会话、沙箱、存储、循环、UI),并圈出你最想替换的一个,写一句原因。

自检
它和 LangChain 这类框架有什么区别?
LangChain 是帮助「构建」Agent 的库;dsh 是「运行」Agent 的完整 Harness,连会话、沙箱、审批、UI、调度都做成可替换插件。前者回答怎么搭,后者回答怎么稳定运行和替换能力。
预览版意味着什么?
0.x 版本可能有破坏兼容性的变更。学习时跟文档走,真正部署要锁定版本、保留配置与插件清单,并在升级前看迁移说明。
进度保存在本机浏览器
1.2

安装:四条路线怎么选

约 30 分钟安装 原文 ↗ 存疑待核实
审计依据 ·

npm 包存在(0.2.1-rc.5),但 npm 元数据未声明 engines;Node 24.9+ 与「Node 22 不再支持」需以官方安装页为准。 查看本节审计记录

学习目标

根据操作系统与技术栈选一条安装路线,并完成一次可验证的启动。

前置知识

会用终端;npm/源码路线的 Node.js 版本要求待核实,以所选 dsh 版本的官方安装文档为准。先用 node -v 查看本机版本。

核心要点
  1. 桌面版:Windows 64 位、macOS Apple 芯片,免装 Node,适合日常办公与文件处理。
  2. npm:全局安装后用 dsh web,或直接 npx @deepseek-ai/dsh web;默认地址 http://127.0.0.1:3080。
  3. 源码:准备 Git、pnpm 与符合官方安装文档要求的 Node.js;教程所写「Node 24.9+」待核实。依次执行 pnpm install、pnpm run build、pnpm dsh web。
  4. Python SDK:Python 3.10+,自带运行时,不需要系统 Node;适合把 Agent 接进 Python 程序。
  5. 预览版阶段,安装包、命令与界面都可能变化;生产使用要锁定版本,不要把「最新」当默认。
动手任务

做一张路线表:操作系统 / 技术栈 / 是否需要 Node / 启动命令 / 验证点。只选一条真正执行,并记录版本号与失败信息。

跟着做

首次体验采用官方 npm 启动路线。在终端逐行运行;首次运行会下载软件包。Node 版本仍按所选版本的官方要求确认。

  1. 先检查 Node 与 npm 是否可用。
  2. 启动后保留终端,按终端显示的地址打开 Web UI;结束时按 Ctrl+C。
  3. 记录实际安装版本;需要复现或部署时显式指定已核实的版本。
终端 · 首次启动
node -v
npm --version
npx @deepseek-ai/dsh web

预期结果

前两行打印版本号;启动命令输出本地服务地址,默认端口为 3080。打开地址后应看到 Web UI。

没有得到预期结果?
  • 找不到 node/npm:先安装符合官方要求的 Node.js,再重新打开终端。
  • 下载失败:检查终端的网络或 npm registry 配置,记录完整错误。
  • 地址无法打开:确认启动进程仍在运行,并使用终端实际输出的地址。

文档对照: · 官方示例与说明。示例未在你的环境或真实模型端点运行。

自检
Node 22 还能用吗?
待核实:教程声称需要 Node.js 24.9+、不再支持 Node 22,但现有审计未能独立确认。先用 node -v 查看版本,再查所选 dsh 版本的官方安装文档;不要仅凭教程或一次启动成功判断兼容性。
桌面版和 Web UI 是两套东西吗?
是同一产品的不同入口:桌面版是本地应用窗口,Web UI 由命令启动后用浏览器访问。核心能力可能接近,但 Node 依赖、插件入口与后台行为不同。
进度保存在本机浏览器
1.3

桌面版:先用只读任务验收

约 25 分钟上手 原文 ↗ 仍然成立
审计依据 ·

平台与安装包信息来自教程;具体界面与审批行为会随预览版变化,以官网为准。 查看本节审计记录

学习目标

用桌面版完成一次只读工作区分析,并检查它实际读了哪些文件。

前置知识

完成 1.2;准备一个专用测试目录。

核心要点
  1. 安装后先配置模型,再选择工作区;第一次不要用生产目录、密钥目录或含隐私的文件夹。
  2. 首个任务只读:分析目录结构、说明文件用途,明确禁止修改、删除与安装。
  3. 文件编辑、命令执行与后台任务可能改变本地数据;能力范围取决于当前版本与已安装插件。
  4. 桌面版提供插件入口与工作区管理,但具体审批行为以当前版本为准。
  5. 安装包要核对来源与签名;不要为了安装而关闭系统安全防护。
动手任务

在测试目录里让桌面版分析目录结构,记录三件事:它读了哪些文件、有没有越界、有没有出现审批提示。再故意要求修改一个文件,观察权限边界。

自检
为什么第一次不能用生产目录?
Agent 可能执行命令或改文件,错误不可逆;测试目录能把损失限制在可丢弃的范围内,也方便对照它实际读了什么。
桌面版能代替 Web UI 吗?
对日常任务通常可以;但插件开发、查看终端日志、调试配置树仍更适合 Web UI / 源码方式。两者是入口差异,不是能力等级。
进度保存在本机浏览器
1.4

第一次 Web UI:从启动到只读任务

约 30 分钟上手 原文 ↗ 仍然成立
审计依据 ·

端口、工作区与权限说明与教程一致;具体 UI 文案可能随版本变化。 查看本节审计记录

学习目标

独立完成启动、模型配置、工作区选择与首条只读任务,并能定位常见失败。

前置知识

完成 1.2;准备 DeepSeek 账号或 API Key。

核心要点
  1. 启动:npx @deepseek-ai/dsh@latest web;端口冲突用 --port 8080,或 --port 0 让系统选空闲端口。
  2. 首次要登录或填 API Key;全新的 Web UI 不会自动选中工作区,未选中时输入框不可用。
  3. 预设(标准 / PTC / 极简 / 创造)决定插件组合;权限模式(只读 / 工作区写 / 完全 / 自动审查)决定文件与命令边界,两者独立。
  4. 第一条任务先只读,并要求它说明实际读取了哪个文件;去工具记录里核对路径,而不是只看回答。
  5. 页面能打开只说明本地服务成功;401、无响应、无法发送分别对应凭据、模型、工作区三类问题。
动手任务

跑一条只读任务:「读取当前工作区的 README.md,概括项目用途,只读,不创建/修改/删除文件,并说明实际读取的路径。」记录四个检查点:页面、工作区、模型、工具记录。

跟着做

Web UI 启动后,用一条可验证的只读任务检查工作区、模型与工具是否连通。

  1. 选择含 README.md 的测试工作区,配置并选择模型。
  2. 将权限设置为只读,然后发送下面的任务。
  3. 打开工具记录,核对读取路径与回答中的依据。
发送给 Agent 的任务
请读取当前工作区的 README.md,概括项目用途。
只读,不创建、修改或删除文件。
请列出实际读取的路径,并给出支持结论的原文片段。
如果文件不存在,请说明,不要猜测。

预期结果

回答给出真实路径与可对照的摘要;工具记录包含读取操作。README.md 不存在时应明确报告。

没有得到预期结果?
  • 无法发送:先检查工作区和模型是否已选择。
  • 认证失败:在模型设置中核对凭据。
  • 回答没有读取记录:追问工具证据,不能只凭自然语言回答判定成功。

文档对照: · 官方示例与说明。示例未在你的环境或真实模型端点运行。

自检
为什么输入框不可用?
最常见是没有选中工作区,其次是模型未配置或凭据无效。先看工作区选择器与模型设置,不要反复重装。
只读提示词能保证不写文件吗?
不能。提示词是任务约束,真正的边界由权限模式与沙箱策略决定;验证时要看工具记录和实际文件状态。
进度保存在本机浏览器