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。

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

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

小夜