dsh-skill-card:把 DSH 技能库做成可编辑的游戏卡牌

前言

在 DeepSeek Harness(DSH)里,技能多以目录 + SKILL.md 的形式存在。列表或文件树能看懂「有哪些技能」,却不太适合按分类、来源、标签快速筛一批技能,也很难在不碰正文的前提下给每张「技能」配上稀有度、星数、五维数值和卡面。若要靠手改 SKILL.md 或零散笔记来记这些元数据,和技能本体绑在一起,升级、同步、多项目同名技能时也容易乱。

下面介绍社区插件 dsh-skill-card(维护者 Hocete):在 DSH 里开一块全屏「技能卡库」面板,把已安装技能渲染成游戏风卡牌,属性写在 side-car 存储里,默认不改动各技能的 SKILL.md。

这是什么

dsh-skill-card 是 DSH 的趣味换装类插件:侧栏入口在 DSH 左上角(排在「插件中心」「技能中心」之下),标签为「技能卡库」;主面板占用 main seat,key 为 skill-card。

卡片元数据落在 ~/.dsh/storages/skill-card/,与技能文件分离。唯一会写回技能文件的例外是:在详情里手动改「技能描述」时,只替换 SKILL.md 里 description 对应的一行。

当前仓库版本为 0.1.0,许可证 MIT(见 package.json)。社区目录页:skillhub — dsh-skill-card;源码与说明:GitHub — Hocete/dsh-skill-card。

核心功能

浏览与筛选

顶栏显示标题、技能总数,并提供「+ 新建技能」「↻ 刷新」。

  • 分类行:全部 / 办公 / 开发 / AI 智能体 / 分析 / 文档 / 流程 / 未分类,带计数。
  • 来源行:全部 / 项目技能 ▾ / 公共技能 / 自定义目录 / 系统内置 / 运行时等;进入面板默认选中「公共技能」(用户级目录 ~/.agents/skills、~/.dsh/skills)。「项目技能」是下拉:未选具体项目时文案为「项目技能」(全部项目),选中后只显示该项目下的卡;多技能目录时还有「目录:全部 ▾」。
  • 标签行:自由标签 chips(多选取交集)+ 搜索(技能名 / 描述 / 标签)。标签需手动添加,模型不再自动生成。

四种轮播模式

扇形轮播、环形旋转、平滑放大、叠牌抽卡;滚轮灵敏度可在 1–10 调节。窗口缩放或侧栏折叠会重算卡片位置;已打开的详情仍停在原卡上。卡面在后台生成时每 1.5s 静默轮询,载荷未变则不重建轨道。

卡牌与详情

每张卡展示稀有度、星数、纹章卡面、五维数值(能力 / 效率 / 通用 / 稳定 / 命中)、标签、来源。点当前卡展开详情;底部固定「修改 / 删除 / 关闭」(编辑态为「保存修改 / 取消」)。

  • 修改:可改卡片属性(含中文名)、稀有度、星数、stats、标签、配色等;保存卡片属性不会顺带重写描述。
  • 删除:仅可写技能可删;内置在 app.asar 或由其它插件包提供的技能可改卡面属性但不可删,点删除会 toast 说明原因。
  • 技能身份:一张卡对应一个真实路径;不同项目同名技能是两张卡。junction / 符号链接指向同一文件时才合并为一张。卡库数据从 version: 3 起按真实路径存储。

卡面生成

卡面为纯 SVG 纹章,零位图素材:

  1. 列表加载时用技能名哈希生成保底卡面,避免空白;
  2. 需要重绘时,host 侧通过 ctx.llm.stream 按名称与描述产出美术配方 JSON,本地绘制并缓存;
  3. 模型失败或重试 3 次仍失败则保留保底卡面。

技能改名视为新技能,会重新生成卡面。

Host API(仅回环)

插件在 DSH 进程内注册 HTTP 接口,非回环访问返回 403。常用路径包括:

方法 + 路径 说明
GET /api/dsh-skill-card/list 列表、枚举、待生成数量
POST /api/dsh-skill-card/update 更新卡片属性
POST /api/dsh-skill-card/set-description 改描述并写回 SKILL.md 一行
POST /api/dsh-skill-card/delete 删除可写技能目录
POST /api/dsh-skill-card/create 新建技能目录与 SKILL.md
POST /api/dsh-skill-card/refresh 重扫技能根

请求体上限 256KB。

安装与启用

要求 DSH >= 0.2.0-rc.2、Node 22+。插件只依赖 Node 内置模块,lib/ 已预构建,从 GitHub 安装无需本地构建。

从 GitHub 直装(README 推荐):

dsh plugin --profile desktop add github:Hocete/dsh-skill-card

也可在插件市场(例如 dsh-market 的 Discover)搜索 dsh-skill-card 安装。装完后重启一次 DeepSeek Harness。

卸载:

dsh plugin --profile <name> remove dsh-skill-card

卸载后卡片数据仍留在 ~/.dsh/storages/skill-card/,可自行删除。

典型用法

  1. 安装并重启 DSH 后,在左上角进入「技能卡库」。
  2. 默认查看「公共技能」;要浏览当前工作区项目下的 .dsh/skills、.agents/skills 或项目根 3 层内名为 skills 的目录,在来源行选「项目技能 ▾」并点选项目名。
  3. 用分类、标签、搜索缩小范围;滚轮或拖拽在四种模式间浏览。
  4. 点卡牌打开详情:需要个性化时用「修改」改稀有度、星数、五维、标签、中文名或配色;标签输入后按回车或点「保存修改」即可,不会清空其它已改字段。
  5. 仅需改技能简介时,在详情里改描述并保存——只会原地替换 SKILL.md 的 description 行。
  6. 顶栏「+ 新建技能」或流中的虚线「+」卡可创建新技能目录;「↻ 刷新」让 host 重扫技能根。

若筛选结果为空,中间仍保留虚线「+ 新建技能」,提示出现在底部信息栏。

适用场景与注意

适合谁:经常在 DSH 里管理大量技能、希望用视觉化方式区分用途与「强度感」的开发者;需要在多项目、多来源(公共目录、工作空间、运行时等)之间切换查看技能的人。

权限与信任:插件随当前 DSH 进程运行,可读写你配置的技能目录与 side-car 存储;安装前宜阅读 仓库源码 与 MIT 许可证。Host API 限定回环访问,但仍意味着本机其它受信任程序在同等条件下可调用这些接口。

已知限制(摘自 README):app.asar 内置技能(如 office-docx / office-pptx / office-xlsx、diagnose-windows-sandbox-acl)与 @openviking/dsh-memory-plugin 提供的技能不可删除、描述不可改,其余卡片属性可编辑。面板切到其它页面会卸载 UI,但筛选状态与当前卡在控制器中保留,返回面板不丢。

DSH 生态以「一切皆插件」为方向;skillhub.cn 等为社区目录,与 DeepSeek / 幻方无官方从属关系。本文事实均来自上述仓库 README 与 package.json(抓取日期以你本地资料为准)。

结尾

dsh-skill-card 把技能列表变成可筛选、可轮播的卡牌库,并把装饰性元数据收进 side-car,减轻对 SKILL.md 的误改风险。需要安装或 issues 时,可查阅 Skillhub 目录页 与 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye