victor10035445/dsh-v-skill-links ↗★ 1
dsh-v-skill-links
V 技能映射 — DeepSeek Harness Web 的 '/' 菜单插件:映射技能(配置目录的一级子目录含 SKILL.md,选中注入全文)+ 自定义指令(followup 型)+ 快捷按钮(输入框下方网格,点击追加 Prompt 进输入框,可选自动发送)+ 设置页可视化编辑(目录/指令/按钮 CRUD)。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:victor10035445/dsh-v-skill-links说明文档
阅读完整 README ↗配置
编辑 $DSH_HOME\profiles\web\cordis.patch.yml(用户的补丁层,追加条目):
- id: dsh-v-skill-links
config:
directories:
- D:/skills/my-skills # 绝对路径
- ~/my-skills # ~ 展开为用户主目录
- ./skills # 相对 dsh 启动目录
buttons: # 快捷按钮(可选;组合层预置,用户层设置卡片可覆盖)
- name: 新建
prompt: 使用 xxx 技能做 xxx 事
autoSend: true # 填入后立即按回车语义发送整个输入区
- name: 审查
prompt: 请使用 /code-review 审查当前改动
保存后补丁层热重载;若未生效则重启 dsh web。配置合法但目录不存在不算致命——菜单空组自动隐藏,/api/v-skill-links/list 的 directories 里可见具体错误。
可视化设置页(推荐日常入口)
侧边栏齿轮打开 设置 → 技能管理(左栏第一层),页内三个标签页:
- 技能映射:技能目录 textarea 每行一个目录;「保存」写入用户设置文档(
$DSH_HOME\settings.yaml的v-skill-links节),立即热生效,无需重启; - 自定义指令:点「新增」添加一行指令,编辑名称(显示在
/菜单「自定义指令」分组,小写a-z 0-9 _ -)与 Prompt(选中后发送进会话的内容);行上 ✕ 删除;保存后立即出现在/菜单; - 快捷功能:点「新增」添加一行按钮,编辑名称(按钮上显示,可中文,仅要求非空且不重名)、Prompt(点击后追加进输入框的内容)与自动发送勾选框;保存后立即出现在会话输入框下方网格;顺序调整:行首把手(⠿)拖拽——拖拽过程在候选落点显示指示线、松手落下确定新位置,或用每行的「上移 / 下移」按钮逐位交换(触屏与键盘的平级通道);两种通道都只改本地草稿,随「保存」生效;
- 三个标签页共享同一份暂存草稿:任一页的修改计入整体脏标记,任一页底部「保存」一次写全;各页的「重置为组合层 / 重置指令 / 重置按钮」仅清除自己段的用户层覆盖(回退到补丁文件配置);
- 非 loopback 浏览器或设置文档只读时各页自动禁用写入(官方设置域的行为)。
SKILL.md 示例(~/my-skills/code-review/SKILL.md)
---
name: code-review
description: 按团队规范审查当前改动并输出分级意见
---
## 使用
1. 会话输入框输入 `/` → 菜单出现 **命令 / 技能 / 映射技能(/ 子智能体)** 分组;
2. 在「映射技能」里选中一条(或手打 `/名字 `);
3. 补一句话(可选)后发送 —— 模型在本步收到你的消息原文 + 该技能 `SKILL.md` 的 `` 注入块,并按其指示行动。
**自定义指令**:在设置卡片里维护指令后,`/` 菜单的「自定义指令」分组(映射技能之下、命令之前)选中一条 → **立即把该指令的 Prompt 作为用户消息发送进当前会话**(toast 确认;Prompt 里写 `/映射技能名` 令牌会连带注入对应 SKILL.md 全文)。适合"固定套路一键触发"。
**快捷按钮**:在设置卡片里维护按钮后,会话输入框下方出现按钮网格。点击按钮 → Prompt **追加**进输入框(草稿非空时换行拼接,Ctrl/Cmd+Z 可整体撤销);勾选了**自动发送**的按钮在追加后**立即等同回车发送整个输入区**——发送前你仍可以补改草稿。Prompt 里写 `/映射技能名` 或 `/原生技能名` 令牌,发送时照常注入。按钮的**展示顺序 = 设置里 `buttons` 数组的顺序**:在设置「快捷功能」标签页用行首把手拖拽或「上移 / 下移」按钮调整并保存后,输入框下方网格与新增会话首屏 hero 网格**即时按新顺序重排**(dock 只显示、纯跟随,不支持在 dock 内拖拽;新增按钮一律排在末尾)。
### 快捷按钮 vs 自定义指令
| | 快捷按钮 | 自定义指令 |
|---|---|---|
| 入口 | 输入框下方网格,常驻可见 | `/` 菜单「自定义指令」分组 |
| 名称 | 显示名,可中文(仅非空+不重名) | 令牌名,小写 `a-z 0-9 _ -` |
| 点击行为 | **追加进输入框**(可继续编辑草稿) | **立即发送**(不经输入框) |
| 自动发送 | 可选勾选(填入后等同回车) | 天然即发送 |
| 发送通道 | 客户端 `InputActions`(回车管线,与手打同口径) | 宿主 followup(要求会话有活跃代理) |
| 适合 | 起草模板 / 引用技能后再补话 | 固定套路一键直发 |