DeepSeek Harness 教程 · 第9讲 配置补丁实战
第9讲 · 配置补丁实战
《DeepSeek Harness 从上手到精通》系列 · 第三阶 配置组装篇
系列基于 deepseek-ai/deepseek-harness(0.1.0-rc.5,MIT)。上一讲我们看清了"配置是怎么叠出来的",这一讲直接上手:不写一行代码,用一份 patch.yml 把 dsh 改成你想要的样。preview 阶段字段名可能微调,认准"层级 + 路径"思路即可。
一、补丁是什么:一份声明式的"差异"
补丁(patch)不是"完整配置文件",而是相对于基础配置的一小段"差异"。它只说"我要改哪几个点",其余全部沿用第 8 讲那棵合并树。好处是:补丁短、可读、可版本管理、改错了删掉就还原。
最简单的补丁长这样——它只做一件事:把默认模型换掉。
# my.patch.yml
model: deepseek-reasoner # 只改这一行,其余沿用默认二、实例 1:替换默认模型 / 调整模型参数
最常见需求:换基座模型,或调温度、最大 token 等参数。在补丁里声明 model 与 modelParams 即可:
# model.patch.yml
model: deepseek-chat
modelParams:
temperature: 0.3 # 调低,更稳更可控
maxTokens: 8192参数名请以你本机 --dump-config 中的真实键名为准;不同预览版本可能叫 temperature / max_tokens 等,先 dump 再补丁最稳妥。
三、实例 2:禁用某个内置工具(从注册表摘除)
不想让模型碰某个工具(比如不希望它随意联网、不希望它改文件)?从工具注册表摘除即可。补丁里列出要禁用的工具名:
# disable-tools.patch.yml
tools:
disable:
- web_search # 摘除联网搜索
- edit # 摘除文件编辑这一招在"只读分析"场景特别实用——把写类工具全摘了,模型就只能看、不能改,安全又省心。注意:它改的是工具可见性,不是审批策略(第 10 讲会讲更细的把关)。
四、实例 3:修改系统提示词片段
想给模型加一句"人设"或"约束"?补丁可以对系统提示词片段做追加/覆盖。常见写法是声明一个 systemPrompt 片段:
# system.patch.yml
systemPrompt:
append: |
你是一名严谨的中文技术助手,回答前先给出结论,
再展开论证;涉及命令时务必标注风险等级。系统提示词由 system-prompt 包动态组装(第 5 讲提过),补丁只是往这个流水线里塞一段。具体键名(append / prepend / set)以你版本为准。
五、作用顺序与优先级规则
多个补丁叠加时,遵循"越靠后、越靠用户侧,优先级越高"的总原则(回顾第 8 讲的四层模型):
- bundle 默认 < profile patch < home 级 <
--patch(即时覆盖最高); - 同一层里若传了多个
--patch a.yml b.yml,后者覆盖前者; - 改错回退:
--patch类错误——直接去掉参数重启即可;落盘的补丁——删文件或注释掉对应行即可,无需重装。
六、动手练习:一份 3 改动的个人 patch.yml
本讲产出:写一份含 3 个改动、注释完整的个人 patch.yml,并真正用 --patch 让它生效。
# my-profile.patch.yml
model: deepseek-chat # 改动①:换默认模型
modelParams:
temperature: 0.4 # 改动②:调低随机性
tools:
disable:
- web_search # 改动③:关掉联网
---
# 启动并加载这份补丁
dsh web --patch my-profile.patch.yml打开 Web UI 发一句话,确认模型已切换、回答更稳、且模型不再尝试联网搜索——三项改动同时生效,就是"换脑"成功。
七、常见坑
- 补丁不生效:先
--dump-config看真实键名,八成是键名拼错或被更上层覆盖; - YAML 缩进报错:用空格不用 Tab,
append: |后面要换行缩进; - 禁用工具后模型"变傻":它可能改用别的方式达成目标,属预期;想要更精细控制请看第 10 讲审批;
- 多个补丁互相打架:逐个加载、用
--dump-config观察最终合并结果,别凭直觉; - 把补丁当完整配置写:补丁只需写"差异",写全量反而容易覆盖掉不该动的默认值。
八、官方文档对应章节
- README 中
--patch与 Configuration 章节; docs/中 profile、cordis.patch、tools 注册表相关章节;- 衔接第 8 讲配置树:本讲每个补丁都对应树上的某个节点路径。
本讲内容基于 DeepSeek Harness 官方文档与项目源码整理,仅供学习参考,具体命令与配置请以官方最新版本为准。系列文章配合源码仓库食用效果更佳:https://github.com/deepseek-ai/deepseek-harness
咨询 DeepSeek Harness 相关问题,请加微信:A0qingfengyuan_01
个人观点,仅供参考,如有不对之处,请多包涵,欢迎指出。本文由 AI 协助完成!
欢迎扫码关注公众号与作者微信,获取更多实用干货

