前言¶
用 DSH(DeepSeek Harness)跑智能体,迟早会装一堆 skill:模型调用的工具包、你自己攒的 SKILL.md。装完之后有两个问题不好回答——这一轮对话到底触发了哪几个 skill,以及这些 skill 是从哪装的、作者有没有更新。模型不会每次都在回复里明说”我调了某某”,光靠对话记录数不出来;装卸 skill 也常要跳外部脚本或填字段。
下面介绍的 doctorpancode/dsh-useof-skill-panel 就是冲这两件事来的。它是 DSH Desktop Beta 的 cordis 插件,fork 自 VDERR/dsh-echocat-skill-panel(保留署名与出处,v5.1.4),改动只有一处:删掉了输入框上方那条摘要横栏。维护者是 doctorpancode,MIT 许可,许可证声明版权归 dsh-skill-report contributors。截至抓取时 GitHub 星标为 0。
先说清楚定位:它不是模型,也不是 skill 市场,它是装在 DSH 客户端里的一块面板,管”贵不贵、调了谁、能不能更新”。
这是做什么的¶
一句话:统计每轮对话用到哪些 skill,并提供一个不离开应用的 skill 装卸、更新管理器。
关键设计是判定不依赖模型自觉。插件从会话事件流推导本轮调了哪些 skill——模型自动调用、你手动输入 /name、或者一个都没用,三种情形都能报;模型忘了说自己调了什么,照样统计。界面有两处,共用同一份数据:
- 左栏一个常驻图标,注册在
sidebar.panellist座位(order 60),点它就在中栏打开面板。 - 中栏面板(
main座位),放完整报告和 skill 目录。
原版还有第三个座位——输入框上方的摘要横栏(conversation.input.dock)。这个 fork 把组件和注册一并删除,所以那条横栏根本不会被挂载。代价是:原横栏是唯一能往输入框里插入 /技能名 的位置,一键插入技能名的功能没有了。要看横栏,启用原版就行,两个插件可以同时安装、互不干扰。
核心功能¶
每轮 skill 用量¶
面板报告每轮对话实际用到的 skill,包括计数、来源(模型自动 / 手动 /name / 未使用)。原版横栏上那四个计数器随横栏一起移除了,但计数本身保留在面板里。
应用内装卸 skill¶
报告右上角打开装卸面板,把作者给的地址整个粘进来就行,比如:
https://github.com/owner/repo/tree/main/skills/my-skill
仓库主页、仓库里的文件夹链接、SKILL.md 链接、zip 直链、owner/repo、SSH 地址都认。host 自己判断该克隆还是该下载,分支与子目录从地址里解析,不用你填三个框。也可以上传 .md/.zip,或直接粘贴整篇 SKILL.md。
安全规矩是明写的:同名不会静默覆盖,先备份再替换;装错了能删,删除是移进备份目录,永不硬删。
装完能更新¶
3.0 的问题是地址用一次就丢(git 克隆还会被删掉),作者发了修复你也无从判断新旧,只能删了重装。4.0 的做法是安装时把来源写进该 skill 自己的 .echocat.json:地址、分支、子目录、安装时的 commit、一份内容指纹。于是:
- 卡片上多一行来源;远端有新 commit 时标成「可更新」,点两下即替换,旧版本先进备份。
- 判断只跑一次
git ls-remote,不重新下载内容;来源固定在某 commit 上时不会被误报成”有新版”。 - 你手改过这个 skill 的文件时,确认文案会明说”更新会覆盖它们”——这是唯一会丢改动的场景。
- 手工装的、或 2.x/3.0 装的 skill 没有这条记录,卡片上给一个「标记来源」,填一次地址即纳入更新。
- 中文显示名不受影响,更新沿用你设的
display-name-zh。
顺带一提,插件自己也能检查更新:面板头部「检查更新」问 npm 与 GitHub 谁更新(10 分钟缓存,只有点击才联网),旁边是 GitHub 发布页跳转。查到新版本时按钮带强调色和小圆点,头部直接写出「可更新 x.y.z」;查不到和已是最新是两句不同的话。
停用等于移出目录¶
每个 skill 一个开关。停用会把目录移出 DSH 监视的 skills 目录——模型真的加载不到它,而文件一个不少,随时一键启用回来。已启用与已停用分两组列出,停用的卡片仍可改名、查来源、更新、删除。
中文显示¶
中文名写进该 skill 自己的 meta.yaml(display-name-zh),面板就按中文显示。安装时能填,装完在卡片上随时能改,留空则清除。/名字 手势仍然走 ASCII 代号,两者互不干扰。
背景与界面¶
面板可以有背景,报告右上角「背景自定义」打开设置面板,左侧实时预览,预览、取消、恢复默认是三件不同的事。四类样式(液态、柔和渐变、纯色、本地图片)加六套低饱和预设。图片接受 JPG/PNG/WebP(上限 8 MB),在本机缩到长边 1920 以内,存在客户端数据库里,不上传、不改动 skill 数据、不碰宿主配置。设置跨本插件各表面共享、刷新后保留,但不宣称跨设备同步——因为它确实不跨。
界面宽度由宿主输入框宽度推导(--dsh-composer-card-max-width 减 16px),永远比输入框窄,并共享同一条中轴。深浅两套都验过,文字色按 WCAG 算过对比度(正文 18.2:1、次级 6.4:1、元数据 5.3:1),prefers-reduced-motion、prefers-reduced-transparency、窄屏各有覆盖。
安装与启用¶
插件没有发布到 npm,从 GitHub 拿源码。安装命令如下(PowerShell):
git clone https://github.com/Doctor-Pan-code/dsh-useof-skill-panel.git
cd dsh-useof-skill-panel
npm install # 只装两个 optional peer,运行时并不需要
然后把仓库目录接进 profile(<DSH_HOME> 默认是 ~/.dsh):
# 1) 在 <DSH_HOME>/profiles/<你的 profile>/package.json 的 dependencies 里加:
# "dsh-useof-skill-panel": "link:<本仓库的绝对路径>"
# 2) 在同文件的 dsh.profile.bundles 数组里加:
# "dsh-useof-skill-panel"
# 3) 再 pnpm install 一次
cordis.patch.yml 随包提供,bundles 里声明它就会自动挂载,不需要手写 patch 行。
两点要注意:
- 两个
peerDependencies(@deepseek-ai/dsh-llm、@deepseek-ai/schemastery)标了optional,由 DSH 运行时提供,npm 不会自己下载一份顶替宿主。 - 装完必须重启 DSH Desktop Beta。host 半侧在 boot 时快照进内存,而客户端 bundle 每次开页面重新拉取——只改客户端刷新页面就够,改了 host 必须重启。
手动安装的四步、卸载回滚,以及五条会让应用起不来的硬性约束,写在仓库的 安装说明.md 里,安装前值得读一遍。
典型用法¶
装好之后的日常流程:
- 左栏点常驻图标,打开中栏面板,看本轮报告里模型调了哪些 skill,是自动调用还是你的
/name手势。 - 要加 skill 时,在装卸面板粘贴作者地址,等 host 解析克隆或下载;装完卡片上能看到来源行。
- 列表出现「可更新」标记时,点两下替换,旧版本先进备份;确认弹窗会提示是否覆盖你手改过的文件。
- 不常用的 skill 用开关停用,目录移出监视范围,需要时再启用。
- 报告右上角「背景自定义」调面板外观,预览满意了再保存。
开发侧工具链:改客户端后跑 node tools/build-client.mjs 重建 lib/client.js,npm test 跑十四个套件 1520 项断言,node tools/preview.mjs 渲染真实面板截图。lib/client.js 是入库的构建产物,改了 src/client/ 必须在同一个 commit 里重建。
适用场景与注意¶
适合谁:用 DSH Desktop Beta、装了多个 skill 或给自己写 skill 的人;想确认每轮实际调用情况、不想靠模型自觉的用户。它是客户端插件,分类在社区目录的客户端类目下,Star/StarHub 这类目录页是独立站点,与 DeepSeek / 幻方无官方从属关系。
需要明确的几点:
- 插件以当前 dsh 进程的权限运行,装卸 skill 时会真实写 skills 目录、对远端仓库做
git clone或下载。安装前应自己检查源码与许可证(MIT,LICENSE 在仓库根目录),别把内部仓库地址直接粘进面板。 - fork 未发布到 npm,版本检查地址仍指向上游的 npm 包和 GitHub 发布页;这意味着「检查更新」对本 fork 的判断要打个折扣,以 GitHub 仓库为准。
- 星标 0、无第三方使用记录,行为全靠其自带测试背书(十四个套件 1520 项断言)。功能细节与上游逐字一致这点有据可查,但生产环境接入前建议在测试 profile 里先跑一轮。
结尾¶
这个插件解决的是两件小事:每轮 skill 用量不再靠猜,装卸更新不用离开应用。fork 与上游的关系写在 README 里,一字不改地保留了署名,也就保留了和原版并存的可能——想要摘要横栏和一键插入技能名,启用原版 dsh-echocat-skill-panel@5.1.3 即可。
- 目录页:https://www.skillhub.cn/plugins/doctorpancode/dsh-useof-skill-panel
- GitHub:https://github.com/doctorpancode/dsh-useof-skill-panel