DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Plugin Template — DeepSeek Harness 插件(DSH Plugin)
← Plugins
P

dsh-plugin-template

Plugin Template

双端(主机端 + 客户端)DeepSeek Harness 插件模板,包含 Typert Remote、React 视图、测试、代码检查和 CI。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:bugmaker2/dsh-plugin-template#31af7ebeb8d07cff73253f52f9a9f530cde9de9a
README兼容性版本

兼容性与来源证明

Plugin Template 以 dsh-plugin-template 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/8/27

版本

0.1.0stable
2026/8/27

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 109
周下载
0
最近提交
2026/8/27
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

dsh-plugin-template

English | 中文

A complete dual-side DeepSeek Harness plugin template. It demonstrates the full plugin surface — a host plugin exposing a Typert Remote, and a client plugin mounting that Remote into a React view — with type-checking, linting, unit tests, CI, and publishing metadata wired up.

Out of the box it registers a greet Remote: the host composes "Hello, <name>" from a configurable prefix, and the client renders the result in a new "Greet" tab.

Structure

package.json           # dsh.bundle + dsh.client manifests, scripts, peer deps
cordis.patch.yml       # mounts the host plugin row into a profile
dsh.plugin.json        # dsh.so registry manifest
src/index.ts           # host entry: Config schema + Typert manifest registration
src/runtime.ts         # host Remote service (TypertRemoteService)
src/typert.ts          # Typert model manifest
src/contract.ts        # strict wire contract shared by host and client
src/types.ts           # shared host/client types
src/client/index.tsx   # client entry: mounts Remote + registers the view slot
src/client/remote.ts   # client Remote contribution + typed namespace
src/client/locales.ts  # zh / en dictionaries
src/client/view.tsx    # minimal React view
src/client/styles.ts   # theme-token stylesheet
tests/                 # vitest unit tests (contract + runtime)
build.mjs              # esbuild dual build (host ESM + client CJS)
.github/workflows/ci.yml

package.json is the only manifest Harness needs. dsh.bundle.patch makes the package an installable profile bundle; dsh.client declares the Web client bundle and the client packages it injects. The host entry is the ordinary Cordis name/apply export; the client entry is bundled to lib/client.js and loaded by the Web harness module loader.

Requirements

  • Node.js >= 22.19 (or >= 24)
  • pnpm >= 9
  • DeepSeek Harness >=0.1.0-rc.6

Install from a local checkout

pnpm install
pnpm run build
dsh plugin --profile web add .

Restart the Web Harness after rebuilding the plugin. A "Greet" tab appears in the session view ring showing Hello, DSH.

Remove it with:

dsh plugin --profile web remove dsh-plugin-template

Install from Git

dsh plugin --profile web add github:you/dsh-plugin-template

A Git install fetches sources, not built artifacts, so pnpm runs the prepare script to build lib/. pnpm ≥10 blocks that build until you allow it; on the first failed add, dsh prints the fix — copy the package key it shows into the profile's pnpm-workspace.yaml:

allowBuilds:
  dsh-plugin-template: true

then re-run the add. That allowance lets the package run code at install time, so only allow packages you trust (and pin a commit).

Development

pnpm run check

check runs typecheck, lint, test, and build. CI runs the same command after pnpm install --frozen-lockfile.

Individual scripts:

pnpm run build      # esbuild dual bundle + declaration emit
pnpm run typecheck  # tsc over src and tests
pnpm run lint       # eslint
pnpm run test       # vitest

Renaming the package

Keep these values in sync when you rename:

  • package.json → name, exports, files
  • build.mjs → the __ModuleLoader__.load id
  • src/index.ts → name
  • src/client/remote.ts → package id and the TypertRemoteNamespace$… hex of the service key
  • src/client/locales.ts → locale namespace key
  • src/client/index.tsx → slot id
  • src/typert.ts → package
  • src/contract.ts → invocation ids
  • cordis.patch.yml → id and name
  • dsh.plugin.json → id

Discoverability

Add the GitHub topic dsh-plugin to your fork:

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

License

MIT