前言¶
在 DeepSeek Harness(DSH)裏,Skill 往往各自描述能力邊界和契約,但真正落地時,常常需要把兩個 Skill 的交接關係、約束和缺口擺到檯面上,再決定能不能合成一個新起點。手工對照 Markdown、憑記憶拼湊 handoff,既難復現,也難保留來源快照。
dsh-plugin-spark 由社區維護者 KratosLee-6 發佈,分類爲工作流,在 SkillHub 目錄中有條目(plugins/KratosLee-6/dsh-plugin-spark)。它定位爲 local-first 的 Skill 組合插件:發現、碰撞、保存證據,並把一次組合成長爲可導出的 Skill 草稿。README 明確 v0.3.x 是確定性組合工作臺,不是自主執行 Skill 的代理,也不是 AI 發現基準;匹配標籤只是待查線索,不是兼容性證明。
這是什麼¶
一句話: 在設備本地用 SQLite 管理 Skill 庫與碰撞歷史,通過 DSH 工具或獨立 Studio UI,把兩個 Skill 的聲明式 handoff、約束和缺口結構化出來,再按需保存、生長並導出 SKILL.md。
- 維護者與許可: KratosLee-6;npm 包
dsh-plugin-spark當前版本 0.3.3,許可證 MIT(見倉庫package.json)。 - 與 DSH 的關係: 獨立社區插件,非 DeepSeek 官方產品;通過 bundle manifest 與
cordis.patch.yml掛載到 DSH。 - 運行時邊界: Spark 工具側爲本地操作;DSH 對話代理仍須配置模型。若使用雲端模型,返回給代理的 Skill 內容可能發往提供商;完全離線代理需自行配置兼容的本地模型(README 未校驗該路徑)。
核心功能¶
下面按 README 與工具表歸納已文檔化的能力。
組合與生長¶
- 碰撞(collide): 選定 Skill A → B,報告 handoff、缺口、計劃與檢查項;僅在
save: true時寫入。 - 生長(grow): 將已保存的碰撞變爲可複用草稿,並聲明譜系關係:
-derived_from_parents(默認,合併雙親)
-novel_extension(extend: "a"|"b",延展一側)
-independent_new_skill(作者提供草稿的獨立 Skill)
雙親約束在各類關係下仍附着;雙親是來源與靈感,不是血統鎖死。 - 留根(歷史): 每次碰撞存儲來源快照、引擎版本、內容指紋、約束與父 ID;
spark_history最多讀取 100 條已保存碰撞。
缺口與約束¶
- 缺失的下游輸入會落成顯式的 bridge requirements,而不是虛構的成功率分數。
- 導入與預覽時,未知內容會明確展示,不會自動落庫。
本地與隱私取向¶
- 工作區數據在本地 SQLite;README 稱無遙測、無外鏈字體、無運行時 CDN,Spark 引擎與 Studio 不需要模型 API Key。
- 首次通過 bundle 安裝後,在
$DSH_HOME/spark/spark.db創建數據庫(見 README Quick start)。
配套 Studio¶
- 獨立伴侶 UI(非嵌入 DSH 面板),與 DSH 工具共用同一引擎;本地啓動後默認 http://127.0.0.1:4317(需先構建並執行
npm run studio,見下文開發路徑說明)。 - 支持中英雙語;碰撞動畫可取消,並尊重
prefers-reduced-motion。
DSH 暴露的七項工具¶
| 工具 | 行爲 | 是否寫入 |
|---|---|---|
spark_preview_import |
預覽 SKILL.md,未映射行與不完整契約 |
否 |
spark_search |
搜索名稱、描述、標籤與聲明契約 | 否 |
spark_inspect |
讀取 Skill、約束與譜系 | 否 |
spark_import |
校驗並導入結構化 Skill JSON | 按需 |
spark_collide |
組合 A→B;報告 handoff、缺口、計劃與檢查 | 僅 save: true |
spark_grow |
生長爲草稿並可選返回 SKILL.md |
按需 |
spark_history |
讀取已保存碰撞及來源快照 | 否 |
工具可選 language:en(默認)或 zh;名稱匹配經 Unicode NFKC 規範化。
安裝與啓用¶
環境要求(來自 README): Node.js ≥ 22.19.0(推薦 24),需可用 node:sqlite;npm、Git。首次裝依賴需網絡;安裝完成後 Spark 在本地運行。較舊的 Node 22 可能打印實驗性 SQLite 警告。
與 DSH 的兼容目標(2026-11-08 文檔):
@deepseek-ai/dsh@0.2.2-rc.1@deepseek-ai/dsh-tools@0.2.2-rc.1@deepseek-ai/cordis@4.1.0
DSH 仍爲開發者預覽;升級宿主版本後應固定依賴並回歸測試。
通過 profile 一鍵安裝(推薦)¶
包聲明瞭 bundle manifest,README 給出的安裝方式爲:
dsh plugin --profile web add dsh-plugin-spark
亦可在 DSH 界面 Plugins → Discover → Install。安裝會寫入 npm 依賴、把包加入 dsh.profile.bundles,並由 bundled 的 cordis.patch.yml 掛載插件。包發佈在 npm:dsh-plugin-spark,含 GitHub Actions 的 SLSA provenance。若鏡像未同步,可追加:
dsh plugin --profile web add dsh-plugin-spark --registry=https://registry.npmjs.org
從已構建倉庫生成 patch(開發/自定義數據目錄)¶
若已在本地構建該倉庫,README 提供:
node dist/cli.js patch --output spark.patch.yml --data-dir .spark
npx --no-install dsh web --patch spark.patch.yml
輔助命令會寫入本機絕對路徑的數據庫目錄;拒絕覆蓋已有 patch。遷移檢出目錄後需重新生成 patch;不要提交生成的 patch(含本地路徑)。開發依賴中固定了 DSH CLI 版本,避免靜默拉取不同版本。
安全提示: 插件在 當前 DSH 進程的權限 下運行,可讀寫在 $DSH_HOME 及插件聲明的路徑。安裝或啓用前,應在 GitHub 查閱源碼、LICENSE(MIT)與 cordis.patch.yml,確認與你的工作區策略一致。SkillHub 爲社區目錄站點,與 DeepSeek / 幻方無官方從屬關係。
典型用法¶
在 DSH 會話中的提示示例¶
README 建議先搜索再碰撞,並在未明確要求前不要保存:
Use spark_search to find research and prototype skills. Inspect both, then use spark_collide to draft a plan for an accessible prototype. Show missing inputs and constraints. Do not save until I ask.
對應工具鏈:spark_search → spark_inspect(可選)→ spark_collide;確認後再 save: true 與 spark_grow,必要時導出 SKILL.md。
Studio 演示路徑(README Quick start)¶
在已構建環境中執行 npm run studio,瀏覽器打開 http://127.0.0.1:4317。流程概要:
- 選擇示例 Skill(如 Research Synthesis 與 Prototype Builder),描述目標。
- Create a spark → Save this spark → Grow a Skill → Export SKILL.md。
- 將生長出的 Skill 作爲 A,再選 Accessibility Review 作爲 B,繼續下一輪生長。
倉庫內含四套原創合成示例;也可按 examples/skill.json 契約導入結構化 JSON。ID 不可變:相同內容重複導入冪等,內容變更需新 ID。
導入既有 Skill Markdown¶
- 在 DSH 調用
spark_preview_import傳入markdown(單文件上限 64 KB),向用戶展示草稿與未映射內容。 - 僅在用戶確認後,用審閱後的
skill_json調用spark_import。
預覽不是安全認證,也不證明 Skill 在生產中可用;源文件變更會使先前審閱失效。
適用場景與注意¶
更適合誰
- 需要在 DSH 工作流裏顯式建模兩個 Skill 之間 handoff 與約束的開發者。
- 希望碰撞結果、來源快照與譜系留在本地庫,並可導出
SKILL.md參與下一輪組合的團隊。 - 接受「確定性工作臺」定位、願意人工覈對缺口與契約,而不是依賴插件自動判定「兼容」的用戶。
使用上需留意的點
- 非執行器: 不代替宿主代理執行 Skill;組合結果是計劃與草稿,後續仍由人與模型推進。
- 模型與離線: Spark 引擎本地運行;對話能力仍依賴 DSH 所配模型,雲模型可能接觸 Skill 正文。
- 倉庫範圍: 本倉庫僅含 Spark 插件與 Studio;完整產品調研、獨立應用與多平臺交付歸屬 AI–boom(README 稱可能需要權限),與插件發行/test 範圍分離。
- 社區熱度: GitHub 公開星標約爲 1(以目錄線索爲準),選型時可結合 Issue、測試文檔 docs/TESTING.md 與架構說明 docs/ARCHITECTURE.md 自行判斷。
結尾¶
dsh-plugin-spark 把「兩個 Skill 如何接上、缺什麼、約束如何一併繼承」從隱性知識變成可查詢、可保存、可再生長的本地記錄,並通過七項 DSH 工具與 Studio 提供同一套組合引擎。若你正在 DSH 上搭建多 Skill 工作流,可從 profile 安裝入手,用搜索與碰撞驗證 handoff,再按需生長並導出草稿。