dsh 命令速查表

DeepSeek Harness 常用命令一览 · 点击命令即复制 · 顶部输入框可实时过滤

← 返回课程总纲

新手最小集:记住这 3+1 条就够了

  1. 快速体验(免安装):npx @deepseek-ai/dsh web
  2. 源码运行三步曲:pnpm installpnpm run buildpnpm dsh web
  3. 插件开发日常:pnpm dsh web --patch ./scratch-plugin/cordis.yml
  4. 遇到问题先看真实插件树:dsh --profile web --dump-config

一、安装与启动

用户视角:把 dsh 跑起来。二选一即可,源码方式适合要改代码的场景。

命令它做什么(通俗)什么时候用备注
临时下载并启动 Web UI(npx = 用完不装在你机器上) 想快速体验 默认 http://127.0.0.1:3080,自动打开浏览器
同上,但不自动开浏览器 SSH 远程服务器 / 无界面环境 地址会打印在终端里
把仓库复制到本地 从源码运行的第一步 之后 cd deepseek-harness
安装仓库全部依赖 源码运行前第一步 / 拉取新代码后 需要 Node ^22.19 || >=24
编译全部包(生成 lib/ 与类型,并打包运行时) 源码运行前第二步 / 改了源码之后 之后的 pnpm dsh web 直接用产物,不再重复构建
用已构建的产物启动 Web UI 源码方式的日常启动 改源码需先重新 build

二、dsh 启动器:模式与参数

同一个 dsh,不同姿势。profile 决定挂哪些插件,patch 决定临时改什么。

命令它做什么(通俗)什么时候用备注
需 API key 无界面跑一个一次性任务,跑完即退 脚本化、批处理、CI 里 任务用引号包住整段话
打印你这台机器真实启动的完整插件树(YAML) 想知道"现在到底挂了哪些插件";做补丁前 打印出的任何一行都可以被你的 patch 替换
启动时在最顶层叠加一层补丁(常用来挂自己的插件) 插件开发的核心命令 层叠优先级最高;可体验热重载
同上,官方教程的练习插件路径 课程 L12 起的动手环节 教程见 docs/user/develop/basic/

三、仓库质量门(改源码 / 贡献代码时)

这个仓库纪律严格:改什么就跑对应的门,不必每次跑全量。日常开发最常用的是前 4 条。

命令它做什么(通俗)什么时候用备注
跑 vitest 单元测试 改完代码验证行为 日常只跑相关文件即可,CI 负责全量
全仓 TypeScript 类型检查 改完代码必跑 严格模式,比编辑器报错更全
代码规范检查(oxlint) 提交前
编译全部包 改源码后要再跑 dsh 前
覆盖率门:每个文件 100% CI 使用;本地一般不用 这才是 CI 的覆盖率标准(不是 pnpm run test)
需 API key 真实 API 端到端测试 验证模型相关行为 没配 DEEPSEEK_API_KEY 会自动跳过
无 key 快照回放:对比关键输出与期望 验证用户可见输出没变 -t 名称 过滤某个快照
需 API key 重新录制快照的期望输出 有意改变了输出时
跨文件重复代码检测 提交前
发布卫生检查(knip + publint + workspace 约束等) 发布前
全部文档门(链接、行宽、预算、目录) 改了文档后
清理构建产物和已删包的安全残留 构建结果诡异时 / 大清理
构建文档网站(顺带检查死链) 改了网站内容后
用 wine 模拟跑 Windows 相关门 仅诊断已知 Windows 失败时 需要 wine;平时别跑,CI 负责该信号

四、演示命令(对外展示用)

给同事做分享时的"大招":智能体修改自己的运行时。

命令它做什么(通俗)什么时候用备注
需 API key 智能体现场检查、挂载、卸载自己的插件 演示"一切皆插件"的冲击力时刻 self-modification 能力
需 API key 启动 ACP 自动化协议服务器 演示把 dsh 当引擎用 面向自动化客户端

五、环境变量与密钥

不是命令,但和命令配套:没有 key 时哪些命令会罢工,这里一目了然。

变量 / 文件作用谁在读它备注
DeepSeek 模型密钥 e2e 测试、演示、headless 任务 凭据永不提交进 git
自定义 API 端点(可选) OpenAI 兼容的中转 / 私有网关
放上面两个变量,自动被读取 真实 API 测试与演示 Web UI 用户也可以在 Settings → Models 里配置,即存即用

PowerShell 临时设置(仅当前窗口有效):$env:DEEPSEEK_API_KEY="sk-..."

已复制到剪贴板