elonnzhang/dsh-plugin-template--packages-minimal ↗★ 0

dsh-plugin-minimal

最小化插件模版:一个可配置的模型工具 适合想快速上手开发插件的用户,属最小示例模版

套件
dsh-plugin-minimal
相容性
待驗證
Harness 依賴範圍
*
Cordis 依賴範圍
^4.0.1
版本
0.1.0
授權
MIT
最近更新
2026年8月21日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:elonnzhang/dsh-plugin-template#b3fcf4d03ef8598b4f1d651daccd8a96b2bb0be0&path:packages/minimal

dsh-plugin-minimal

dsh 插件的最小可用形态:一个文件、一个模型工具、一个配置字段。

packages/minimal/
├── package.json          # 包元数据 + dsh.bundle manifest
├── tsconfig.json         # 只做类型检查(noEmit)
├── tsdown.config.ts      # 产出 lib/index.js + lib/index.d.ts
├── cordis.patch.yml      # 组合包层:把本插件插进 dsh 配置树
└── src/index.ts          # 插件本体

这个目录自包含 —— 不 extends 仓库根配置,复制出去就能独立成仓库。

它注册了什么

一个 greet 工具。模型调用 greet({ target: 'Ada' }) 得到 Hello, Ada!, 前缀由配置项 greeting 决定。

依赖服务:tools。任何标准 dsh 组合(@deepseek-ai/dsh-base 及以上)都提供它。

构建

pnpm install
pnpm run build       # → lib/index.js, lib/index.d.ts
pnpm run typecheck
pnpm run dev         # tsdown --watch

加载

dsh plugin --profile demo add .      # 在本目录执行;相对路径锚定在调用目录
dsh --profile demo

其余方式(--patch overlay、源码热重载)见 ../../docs/load-into-dsh.md。

改成你自己的插件

  1. package.json 的 name / description / version
  2. cordis.patch.yml 的 id 与 name(name 必须等于包名)
  3. src/index.ts 的 export const name
  4. 工具名、parameters、Config 字段

需要更多能力(服务、事件、钩子、提示词段、命令、后台任务)时, 对照 packages/full 按需抄,别一次全抄。