dsh-plugin-template
其他 活跃维护

dsh-plugin-template

bugmaker2/dsh-plugin-template

提供插件开发的基础框架,内置标准化目录结构、依赖配置与示例代码,开发者可基于模板快速搭建合规插件项目,降低开发门槛与重复工作量。

10
Stars 标星
1
Forks 分支
10
Watchers 关注
1
Open Issues
TypeScript
主要语言
MIT
开源协议
11 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:bugmaker2/dsh-plugin-template
git clone https://github.com/bugmaker2/dsh-plugin-template.git
git clone git@github.com:bugmaker2/dsh-plugin-template.git
README.md main

dsh-plugin-template

English | 中文

A minimal TypeScript DeepSeek Harness plugin bundle. It prints hello world when Harness loads it.

Start from a fork

git clone https://github.com/YOUR-USER/dsh-plugin-template.git
cd dsh-plugin-template

pnpm install
pnpm run check
dsh plugin --profile hello add .
dsh --profile hello --dump-config | grep dsh-plugin-template
dsh --profile hello

A successful run includes this line in the Harness output:

[dsh-plugin-template] hello world

For development, edit src/index.ts, run pnpm run build, then restart the profile. The generated lib/ directory is included in the package so direct Git installs can load the built JavaScript entry.

If you rename the package, keep these values in sync:

  • package.json → name
  • src/index.ts → name
  • cordis.patch.yml → both id and name

Remove it with:

dsh plugin --profile hello remove dsh-plugin-template

The whole plugin

package.json       # declares the dsh.bundle patch and built entry
src/index.ts       # TypeScript Cordis plugin entry
lib/index.js       # generated Harness entry
cordis.patch.yml   # registers the package in a profile
tsconfig.json      # TypeScript type-checking configuration
pnpm-lock.yaml     # locked development dependencies

package.json is the only manifest Harness needs: dsh.bundle.patch makes the package an installable profile bundle. cordis.patch.yml inserts the plugin row, and src/index.ts is compiled to the ordinary Cordis name/apply entry point. This template uses TypeScript and tsdown, but intentionally has no React Client bundle, Remote contract, or test framework. Add those only when the plugin actually needs them.

Discoverability

Add the GitHub topic dsh-plugin to your fork. The topic is repository metadata, not a file in the repository:

gh api --method PUT repos/YOUR-USER/dsh-plugin-template/topics \
  -H 'Accept: application/vnd.github+json' \
  -f 'names[]=dsh-plugin'

License

MIT