Skip to content

DeepSeek Harness 实战

本文只描述 DeepSeek 官方 Harness 的使用方法。由于项目处于快速迭代阶段,命令和选项必须以官方仓库当前 README、发布说明和 --help 输出为准。

能力定位

DeepSeek Harness 是围绕 DeepSeek 模型运行代码任务的工程化 Harness。它的重点不是另一个聊天窗口,而是工作区、上下文、工具、Skills、MCP、执行轨迹和任务闭环。

安装前检查

  • Node.js、npm 或官方文档要求的运行时版本;
  • Git;
  • 一个不含真实密钥的测试仓库;
  • DeepSeek API Key;
  • 本机对工作区、网络和命令执行权限。

不要一开始就在生产仓库中试验预览版。先用无敏感数据的练习仓库验证安装、模型调用、工具权限和退出方式。

安装与版本确认

官方包名和当前安装命令以仓库为准。安装后先确认版本和帮助:

powershell
npm install -g @deepseek-ai/dsh
dsh --version
dsh --help

如果当前官方版本要求其他安装方式,以官方说明替换上面的命令;不要把搜索结果中的第三方安装脚本直接复制到工作环境。

配置 Profile

把模型、服务地址和权限配置放入 Profile,避免每次命令行重复输入:

yaml
profile: deepseek-dev
model: deepseek-v4-flash
base_url: https://api.deepseek.com
api_key_env: DEEPSEEK_API_KEY
workspace: .
permissions:
  - read_repo
  - search_code
  - run_tests
  - write_workspace
approval_required:
  - delete_file
  - publish

上面的字段是配置思路示意;具体字段名称、文件位置和权限枚举以当前版本 dsh --help 与官方示例为准。

第一个任务流

text
1. 进入练习仓库
2. 启动 dsh 并选择 Profile
3. 先让 Harness 只读分析,不要直接修改
4. 确认计划和影响文件
5. 开放工作区写权限
6. 运行格式化和窄范围测试
7. 让 Reviewer 检查 diff
8. 导出轨迹和验证结果

推荐任务提示:

text
请先只读分析这个 Go 服务中订单创建接口的幂等性缺口。
输出相关文件、现有测试、最小改动计划和验证命令。
不要修改文件,也不要执行外部写操作。

工作区隔离

一个 Harness 可以服务多个项目,但每个任务都应明确工作区:

  • 仓库根目录;
  • 当前分支;
  • 是否保留用户已有改动;
  • 允许读写的目录;
  • 测试和构建命令;
  • 可访问网络和外部系统。

把“当前工作区状态”作为任务上下文的一部分,避免 Agent 误覆盖用户未提交的变更。

预览能力的使用原则

如果某能力标记为 preview、rc 或 experimental:

  • 单独使用测试 Profile;
  • 记录版本和配置;
  • 准备回退方案;
  • 不将其作为团队唯一生产链路;
  • 用固定任务集比较升级前后结果。

排错顺序

  1. dsh --versiondsh --help 是否能执行;
  2. API Key 环境变量是否存在,但没有打印值;
  3. 当前 Profile 是否加载;
  4. 网络、代理、TLS 和服务状态;
  5. 模型是否支持目标 Tool Call 或 Agent 集成;
  6. 工作区和工具权限是否足够;
  7. 查看脱敏轨迹,定位是模型、工具还是 Hook 失败。

练习

  1. 创建一个不含秘密的练习仓库,完成只读分析任务。
  2. 设计一个 Profile,使删除文件和推送代码都需要审批。
  3. 为一次 Harness 升级记录版本、配置、任务集结果和回滚命令。

官方资料

🚀 学习遇到瓶颈?想进大厂?

看完这篇技术文章,如果还是觉得不够系统,或者想在实战中快速提升?
王中阳的就业陪跑训练营,提供定制化学习路线 + 企业级实战项目 + 简历优化 + 模拟面试。