第14讲 · 实战——构建一个领域工具包

《DeepSeek Harness 从上手到精通》系列 · 第四阶 工具开发篇

🎯 目标:综合第 11–13 讲,做一个成型的工具集合 难度 ★★☆ ⏱ 约 30 分钟 前置:第 11–13 讲工具与 MCP 基础

前几讲我们单点突破:写工具、接 MCP、管注册表。本讲把它们缝合成一个能复用的"领域工具包"——一组相互配合的工具 + 配套系统提示词 + 可分发配置。这是从"会写"到"能交付"的关键一跃。系列基于 deepseek-ai/deepseek-harness0.1.0-rc.5,MIT),preview 阶段以官方 README 为准。


一、选领域:从"一个会复发的小痛点"出发

别一上来就做"大而全"。挑一个你反复遇到、且现有工具没覆盖好的领域。规划给了三个示例方向,挑一个就行:

  • 站点运营:查流量、查排名、生成运营周报;
  • 数据分析:读表、做聚合、出图表描述;
  • 文档处理:抽取、翻译、格式规整。

本讲以站点运营为例展开,套路对其它领域完全通用。

领域工具包示意
图 1 一个领域工具包 = 多个相互配合的工具 + 配套系统提示词 + 可分发配置。

二、工具集设计:3–5 个相互配合的工具

好的工具包像一支小队——各有分工、能接力。站点运营包可拆成:

工具职责接前一工具
query_traffic拉取近 7 日访问数据
check_seo检查关键页面 SEO 指标吃 query_traffic 的 URL
draft_report生成周报草稿汇总前两者输出
push_notice把周报推送到团队群吃 draft_report 结果

设计铁律:单个工具只做一件事、输入输出用结构化 JSON。工具之间靠"前一个的输出是后一个的输入"自然接力,模型才容易编排对。

三、系统提示词配合

光有工具不够。在包的 system-prompt 片段里,告诉模型"这套工具该怎么配合":什么时候先查流量、什么时候直接出报告。第 9 讲讲过怎么用 patch 改系统提示词,这里直接写进工具包的配置。

# 工具包内的 system-prompt 片段(示意) 你是站点运营助手。生成周报时请按顺序: 1) query_traffic 拉数据 → 2) check_seo 查指标 → 3) draft_report 汇总 → 4) 经用户确认后再 push_notice。

四、打包与分发:dsh-plugin

做成一个可发布的 Cordis 插件包(结构参考第 20 讲),并给 GitHub 仓库打上 dsh-plugin topic,方便他人发现。分发时请注意:

  • README 写清:装哪些依赖、怎么注册、需要哪些凭据;
  • 示例配置:给一份开箱即用的 patch.yml
  • 标注版本:preview 阶段接口易变,README 注明验证过的 dsh 版本;
  • 凭据安全:用第 19 讲讲的 CredentialRef,配置不写明文。

五、动手练习:产出一个可复用领域工具包

按上面四步,完成一个最小可用的领域工具包目录,至少包含:

my-toolkit/ ├── package.json # 打 dsh-plugin topic ├── src/tools/*.ts # 3–5 个工具(第 11 讲写法) ├── patch.yml # 注册 + system-prompt 片段 └── README.md # 安装 / 配置 / 凭据说明 + 示例

--patch ./my-toolkit/patch.yml 挂上,给模型一句"帮我出本周运营周报",看它是否自动按 query_traffic → check_seo → draft_report 的顺序把活干完。

六、常见坑

  • 工具职责重叠:两个工具都能"查数据",模型会乱选,拆清楚边界;
  • 提示词没说顺序:模型可能跳过 check_seo 直接出报告,把编排写进 system-prompt;
  • 凭据写进配置:发布前务必改成 CredentialRef,避免泄露;
  • 没标验证版本:别人拉去跑报错,却分不清是你的问题还是版本漂移。

七、官方文档对应章节

  • cookbook 中"工具集合 / 插件打包"实操段
  • docs/ 中 plugin、system-prompt、patch 相关章节
  • 第 20 讲"开发第一个 Cordis 插件"(更深入的打包细节)

本讲内容基于 DeepSeek Harness 官方文档与项目源码整理,仅供学习参考,具体命令与配置请以官方最新版本为准。系列文章配合源码仓库食用效果更佳:https://github.com/deepseek-ai/deepseek-harness

咨询 DeepSeek Harness 相关问题,请加微信:A0qingfengyuan_01

个人观点,仅供参考,如有不对之处,请多包涵,欢迎指出。本文由 AI 协助完成!