dsh-plugin-lab
Workshop and lab for developing, testing, and maintaining DeepSeek Harness Cordis plugins.
- Stars
- 0
- Language
- JavaScript
- Created
- Sep 1, 2026
- Updated
- Sep 1, 2026
Introduction
DSH Plugin Lab
DSH Plugin Lab 是用于开发、测试和维护 DeepSeek Harness(DSH)Cordis 插件的 workshop / lab。仓库集中管理多个插件、可复制模板、Agent skill、测试脚本和维护文档。
当前状态:early development / developer preview。本项目不是 DeepSeek 官方项目,也不代表官方背书。
目录结构
plugins/ # 正式插件,每个插件独立目录
templates/minimal-tool/ # 最小可复制 TypeScript 插件模板
skills/ # Agent 可复用开发技能
examples/ # 使用示例和复现材料
docs/ # 开发、测试、发布和兼容性文档
scripts/ # 仓库级检查脚本
tests/ # 仓库级 Node.js 测试
.github/workflows/ # CI
pnpm-workspace.yaml 只将 plugins/* 和 templates/* 视为 workspace package;普通文档目录不会被 pnpm 当作包处理。
快速开始
环境建议为 Node.js 22 或更高版本和 pnpm。当前 checkout 读取到的基线见 docs/compatibility.md。
pnpm install
pnpm check
pnpm typecheck
pnpm build
pnpm test
创建新插件
从 templates/minimal-tool 复制一个独立目录,修改 package.json 的包名,入口的 name,工具名以及 cordis.patch.yml 的 plugin row id / name。完整流程见 docs/development.md。
模板使用 defineTool、parameters、output.schema、output.render 和 execute,并通过 inject: ["tools"] 声明工具注册服务。
安装到 DSH profile
在隔离 profile 中执行插件目录的 pnpm pack,再使用当前 DSH CLI 的本地包安装命令:
pnpm pack
# dsh plugin add .\your-plugin-0.1.0.tgz
不同 DSH 版本的 CLI 参数可能不同,请以 dsh plugin --help 和目标 profile 的实际日志为准。安装后验证 patch 被载入且工具已出现在工具注册表中。
安全说明
安装第三方插件前先审查源码、package.json scripts 和传递依赖。安装脚本可能执行任意代码。不要提交 API key、cookie、session、DSH_HOME、profile 或个人配置;优先使用隔离 profile,并固定 Git commit 或明确的 npm 版本。
兼容性
模板依赖版本基于本机 DSH checkout 的实际 package metadata 固定。Loader、profile activation 和 tarball smoke test 尚未在本仓库中自动完成,未验证内容会在兼容性文档中标记为 TODO。
后续规划
- 增加第一个真实插件及其独立测试。
- 补充真实 Loader / profile activation smoke test。
- 建立每个插件的 DSH 版本兼容矩阵和发布检查清单。
- 在不暴露凭据的前提下完善隔离 profile 测试工具。