A monorepo of DSH (DeepSeek Harness) profile bundles — community packages
that install into a DSH profile via dsh plugin --profile <name> add.
Each subdirectory is one self-contained bundle: its own package.json,
cordis.patch.yml, and (where applicable) browser bundle under lib/.
Bundles declare dsh.bundle.patch so they can be added to a profile's
dsh.profile.bundles layer, and (where they affect the browser) a
dsh.client.platform: "web" so the @deepseek-ai/dsh-client-modules
registry picks up their lib/client.js.
| Subdirectory | Purpose | Install |
|---|---|---|
zhtw-traditional-chinese/ |
Adds 繁體中文 (zh-TW) to the Web GUI language picker; converts Simplified Chinese strings from all 27 DSH namespaces to Traditional on the fly | dsh plugin --profile web add "github:wuzhiping/cordis-plugins#path:/zhtw-traditional-chinese" |
scene-template/ |
AI 工作流输入区:场景 / 分支选择挂在输入框上方,模板海报墙挂在下方(推荐翻批、按住拖曳平移、双击预览);数据来自 abc.feg.com.tw 的 BDD API 并自带回退 mock;选中的场景/模板会作为运行时上下文注入模型每一步;界面文案全为繁体(zh-TW 惯用) |
dsh plugin --profile web add "github:wuzhiping/cordis-plugins#path:/scene-template" |
ov-memory/ |
OpenViking 长期语义记忆:每步自动召回、会话采集与提交、viking:// URI 保护、MCP 工具面与 3 个内置 skill;memory-plugin-shared/lib 是共享模块唯一真源,shared/ 是其生成副本(npm run sync) |
dsh plugin --profile web add "github:wuzhiping/cordis-plugins#path:/ov-memory" |
Each subdirectory is also a standalone DSH install target — you can add
file:./zhtw-traditional-chinese while inside this repo, or use the GitHub
short reference above.
cordis-plugins/
├── README.md this file (monorepo overview)
├── LICENSE shared MIT
├── zhtw-traditional-chinese/ first bundle
│ ├── package.json dsh.bundle + dsh.client declarations
│ ├── cordis.patch.yml host composition patch
│ ├── lib/
│ │ └── client.js window.__ModuleLoader__.load bundle
│ ├── README.md bundle-specific docs
│ └── LICENSE (symlink or duplicate; both MIT)
└── scene-template/ AI 工作流输入区 (browser bundle + host stub)
├── package.json dsh.bundle + dsh.client declarations
├── cordis.patch.yml inserts the host row that triggers client discovery
├── lib/
│ ├── index.js host-side stub (keeps the row loadable)
│ └── client.js window.__ModuleLoader__.load bundle
├── mock/ per-endpoint data snapshot + handover notes
├── tools/s2t/ one-shot Simplified→Traditional converter (dev-only)
├── UI.md design + handover notes for this bundle
└── README.md bundle-specific docs
- Create a subdirectory with a
package.jsondeclaringdsh.bundle.patch: "./cordis.patch.yml". - The
cordis.patch.ymlshould add one or more host plugin rows whosenamematches the bundle's package name (or any sub-package you also ship). The row's existence is what the@deepseek-ai/dsh-client-modulesregistry uses to discover the client module. - If the bundle has browser-side code, write
lib/client.jsas a CJS bundle wrapped inwindow.__ModuleLoader__.load({id, factory})and declaredsh.client.platform: "web"inpackage.json. The factory returns{ inject, apply }— the same shape thatcordis_defineaccepts, but nocode.client/code.hostwrapper and no run-time approval. - Add a row to the table above linking to the new bundle's README.
A DSH install command points at one bundle, not the whole repo. The GitHub short reference accepts a subdirectory path:
dsh plugin --profile web add "github:wuzhiping/cordis-plugins#path:/<bundle-name>"For a local clone:
git clone https://github.com/wuzhiping/cordis-plugins.git
cd cordis-plugins
dsh plugin --profile web add ./<bundle-name>After any dsh plugin add or remove, restart the running DSH web
process for the change to take effect.
MIT — see LICENSE.