dsh-skillcard:把重复提示词做成填空卡片并在 DSH 里直接取回答案

前言

在 DeepSeek Harness(DSH)里做 Agent 或日常对话时,经常会碰到同一句提示词:措辞几乎不变,只有地点、日期、文件名等几个字段在变。每次手打整句,容易打错、容易跑偏,还要去会话列表里翻上次的结果。社区插件 dsh-skillcard(维护者 Thegongyx,分类:工作流)把这类句子冻成模板,用 ${变量} 标出可填空位;选卡片、填变量、执行后,答案在卡片侧就地显示,并保留执行历史。下面介绍它是什么、能做什么,以及如何安装与使用。

这是什么

dsh-skillcard 是面向 DeepSeek Harness 的 npm 插件包,简介为:Skill cards for DeepSeek Harness — turn recurring prompts into fill-in cards, run them and get the answer back。中文 README 概括为:把「每天都要重打一遍的那句话」变成一张卡片,填两个空,点执行,答案直接回来。

模板里会变的部分写成 ${变量}(${名称} 与 {{名称}} 均支持),其余措辞固定,同一任务每次提问句式一致。若卡片配置了 skill 字段,会以 /技能名 手势注入,由宿主按技能加载路径处理,与手打 /weather 一类技能名一致。

核心功能

措辞稳定与少打字

模板冻结固定表述,仅变量变化,减少「越问越跑偏」。侧栏底部 ⚡ 技能卡片 浮层提供卡片选择(含搜索、可见的 /技能名)、变量输入、预览、执行目标与结果;填完即可执行,无需每次重打长句。

三处界面、分工明确

  • 侧栏 → 技能卡片:管理目录,新建 / 编辑 / 删除,支持 AI 生成与搜索。
  • 侧栏 → ⚡(底部):使用流程为选卡 → 填空 → 执行 → 看答案 → 查历史。
  • 对话输入框:照常使用;卡片只替你组织话术,不占用输入框。

侧栏面板详情里可选 在浮层里执行,浮层会带着该卡片打开。

执行与会话

每次执行会新建一条会话,互不共享上下文。可配置目标包括工作区、模式(Agent preset)、提供商与模型;默认值分别为:最近会话所在工作区、普通/标准 preset(无则退回部署默认)、模型目录默认项。选定 provider/model 后,首轮前通过 session/selectModel 钉在该会话上;会话命名为「卡片 · <标题>」,可点「打开会话」查看完整轨迹。结果通过 session/wait 轮询取回纯文本,浮层内展示(不做 Markdown 渲染);停止、超时、待确认等状态有明确说明。

技能与 Agent 工具

卡片 JSON 可含 skill 字段(例如 weather),执行时走宿主 agent/pre-step 与 /name 手势扫描,与手动触发技能一致。

插件向 Agent 注册 skillcard 工具,支持 list / get / create / update / delete。可在对话中要求把自然语言句子收成卡片,由 Agent 抽取变量并保存。

本地数据与配置

卡片与历史写在本地,由 Host 独占写入:

文件 内容
<DSH_HOME>/skillcard/cards.json 卡片库
<DSH_HOME>/skillcard/runs.json 执行历史(最近 300 条;删卡片会连带删对应历史)

写入采用临时文件加 rename 原子落盘;解析失败会将坏文件改名为 .corrupt-<时间戳> 再报错。

cordis.patch.yml 中可配置:

- id: dsh-skillcard
  config:
    defaultExpanded: true    # 目录默认展开
    showSidebarEntry: true   # 显示侧栏底部 ⚡ 入口

安装与启用

官方 README 给出的安装方式为:

# 方式一:npm
dsh plugin --profile web add dsh-skillcard

# 方式二:本地目录 / tarball
dsh plugin --profile web add ./dsh-skillcard-0.3.0.tgz

package.json 标明运行环境为 Node >=20、DSH >=0.2.2-rc.1;许可证 MIT。安装后需重启 profile 并刷新页面。

插件以当前 DSH 进程权限运行,安装前宜自行查看 GitHub 仓库 源码与 LICENSE,确认符合你的环境与合规要求。DSH 生态强调「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。

典型用法

卡片结构示例

README 中的查天气卡片形如:

{
  "id": "sc_lqk3j2a1b2c",
  "title": "查天气",
  "description": "查某地某天的天气",
  "template": "使用天气技能帮我查看${地点}在${日期}的天气",
  "variables": [
    { "name": "地点", "label": "地点", "example": "深圳" },
    { "name": "日期", "label": "日期", "example": "明天" }
  ],
  "category": "天气",
  "skill": "weather"
}

保存时 variables 由模板重新推导,模板与变量列表保持一致。

30 秒上手步骤

经过上面的安装与重启后:

  1. 点左下角 ⚡ 技能卡片(与「远程目标切换」同一排)。
  2. 选卡片 → 填变量 → 执行。
  3. 答案出现在浮层下方,并写入该卡的执行历史(可展开、可批量删除)。

对比 README 中的说法:以前需完整输入「使用天气技能帮我查看深圳明天的天气」;使用模板后填「上海」「后天」即可得到同样结构的提问与回答。

适用场景与注意

适合谁:需要固定话术、重复查资料、重复触发同一技能路径的 DSH Web 用户;希望少打字、要本地卡片库与执行审计的工作流场景。

已知边界(来自 README「已知边界」):

  • 每次执行新建会话,侧栏会出现「卡片 · xxx」会话行。
  • 结果以纯文本回显,不引入宿主 Markdown 渲染器。
  • 历史写入失败会提示,但不阻塞答案显示。

开发侧说明:运行时产物在 lib/,安装请用 npm 包或 tarball,不要用 link: 链到未构建源码目录。

结尾

dsh-skillcard 把重复提示词收成可填空的技能卡片,在选定工作区与模型下执行并就地取回答案,适合把工作流类任务从「每次手打长句」改成「选卡填空」。更多说明与 Issue 见 GitHub:Thegongyx/dsh-skillcard;目录入口:SkillHub · dsh-skillcard。

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

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

Xiaoye