DeepSeek Harness学习手册
FIELD GUIDE   /   09

排查找不到的技能和没有生效的修改

同名技能、工作区根目录和浏览器菜单缓存,会让一个明明存在的文件看起来没有加载。按文件路径、名称、刷新顺序检查,能定位问题落在哪一层。

本篇目录 4 节
01

先定位当前项目的根

Harness 从当前工作目录向上找到最近含 .git 的目录,以它作为项目根。找不到 .git 时,使用当前工作目录本身。若把练习目录放进已有 Git 仓库,Harness 可能从外层仓库的 .dsh/skills 读取;把练习目录放到仓库外就能按上一页的路径操作。

每个技能根目录只扫描直接子项。支持 meeting-brief/SKILL.md,也支持单文件 meeting-brief.md。把目录写成 skills/办公/meeting-brief/SKILL.md 会多套一层。名称只接受小写字母、数字和分隔用的单连字符,例如 meeting-brief。

02

同名时读哪一份

同一作用域里,本地文件提供方按下表从上到下查找同名候选。想把规则分享给项目成员,放在项目根;只想在自己的不同项目间复用,放在个人根。~ 代表运行 Harness 的主机用户目录。

优先顺序扫描目录用途
100<项目根>/.dsh/skills本项目专用
200<项目根>/.agents/skills项目中的通用 agent 目录
300customSkillDirs 配置的目录额外指定的技能来源
400<dshHome>/skills个人 Harness 技能,默认 ~/.dsh/skills
500<agentsHome>/skills个人共享技能,默认 ~/.agents/skills
600bundledSkillDir部署配置的随包技能
03

区分自动选择和手动选择

希望每次由人点名,就把 disable-model-invocation: true 加在文件头的结束标记 --- 之前,也就是 name 和 description 所在区域的结尾。希望模型自己按场景选择,就把 description 写成具体的适用条件。两项同时禁止会关闭这两种调用入口。

文件头的设置模型可主动选择用户可输入 /name
未写以下两项可以可以
disable-model-invocation: true不可以可以
user-invocable: false可以不可以
04

新文件没有出现在 / 菜单

  1. 直接写完整名称,例如 /meeting-brief 请整理 meeting.txt。确保命令两侧由空白或消息边界隔开;与宿主命令重名时,宿主命令优先。
  2. 确认文件第一行只有 ---,name 和 description 都有值,调用名符合规则。YAML 或名称无效时,提供方会跳过该文件。
  3. 默认开启的文件监视器会跟踪新增、删除、改名和文件头变动,宿主在下一次模型步骤更新技能目录。每次加载会重新读取正文。仅更改 references、scripts、assets 内的附件不会触发目录更新。
  4. RC5 已打开的 Web 会话可能继续展示之前缓存的 / 菜单。切换预设或重置连接会刷新菜单;旧对话记录里的已完成 Instructions 卡片保留当时的正文。

来源与延伸阅读

TAKE IT WITH YOU

把手册和练习材料带走

知识库方便查阅和备课,演示素材可用于跟做站内示例。