前言¶
在 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 秒上手步驟¶
經過上面的安裝與重啓後:
- 點左下角 ⚡ 技能卡片(與「遠程目標切換」同一排)。
- 選卡片 → 填變量 → 執行。
- 答案出現在浮層下方,並寫入該卡的執行歷史(可展開、可批量刪除)。
對比 README 中的說法:以前需完整輸入「使用天氣技能幫我查看深圳明天的天氣」;使用模板後填「上海」「後天」即可得到同樣結構的提問與回答。
適用場景與注意¶
適合誰:需要固定話術、重複查資料、重複觸發同一技能路徑的 DSH Web 用戶;希望少打字、要本地卡片庫與執行審計的工作流場景。
已知邊界(來自 README「已知邊界」):
- 每次執行新建會話,側欄會出現「卡片 · xxx」會話行。
- 結果以純文本回顯,不引入宿主 Markdown 渲染器。
- 歷史寫入失敗會提示,但不阻塞答案顯示。
開發側說明:運行時產物在 lib/,安裝請用 npm 包或 tarball,不要用 link: 鏈到未構建源碼目錄。
結尾¶
dsh-skillcard 把重複提示詞收成可填空的技能卡片,在選定工作區與模型下執行並就地取回答案,適合把工作流類任務從「每次手打長句」改成「選卡填空」。更多說明與 Issue 見 GitHub:Thegongyx/dsh-skillcard;目錄入口:SkillHub · dsh-skillcard。