elonnzhang/dsh-plugin-template--packages-minimal ↗★ 0
dsh-plugin-minimal
dsh 最小化插件模版:一个可配置的模型工具 适合想快速上手开发插件的用户,属最小示例模版
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:elonnzhang/dsh-plugin-template#b3fcf4d03ef8598b4f1d651daccd8a96b2bb0be0&path:packages/minimalREADME
Read the full README ↗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。
改成你自己的插件
package.json的name/description/versioncordis.patch.yml的id与name(name必须等于包名)src/index.ts的export const name- 工具名、
parameters、Config字段
需要更多能力(服务、事件、钩子、提示词段、命令、后台任务)时,
对照 packages/full 按需抄,别一次全抄。