前言¶
在 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,再按需生长并导出草稿。