JustGenius-s/DSH-Plugs
The consolidated Codex shell: Codex-style message navigation, Cursor-style per-turn Worked for collapsing, a right-side side.panel host with a file tree / preview / diff view (VSCode Light+/Dark+ syntax themes), a Warp-style terminal panel backed by a real login-shell PTY, and a read-only git commit-graph panel.
catalog 简介 / catalog descriptioncatalog description:DSH Plugins Cellection
项目介绍Project Overview
DSH-Plugs 是面向 DeepSeek Harness (DSH) 的插件 monorepo,每个子目录即一个独立 Cordis 插件。包含 dsh-codex、debug-mode、memory、sync、desktop-update、model-custom-ex、plugin-config、wechat-chat、whale-girl 等,配套 packages/ui 提供主题与 UI 原语。插件由 node 端与浏览器端组成,分别在 lib 下输出;dsh.client 与 dsh.bundle.patch 负责注入与 bundle 装配。适用:扩展 DSH Web 界面、新增主题或在 DSH-Desktop 中暴露覆盖层。注意:bundle-stack 变更需要重启 DSH web 而非仅刷新页面。
DSH-Plugs is a monorepo of Cordis plugins for DeepSeek Harness (DSH), one folder per plugin. It ships dsh-codex, debug-mode, memory, sync, desktop-update, model-custom-ex, plugin-config, wechat-chat, and whale-girl, plus packages/ui with DSH theme tokens and React primitives. Each plugin splits into a node half (lib/index.js) and a browser half (lib/client.js) registered via window.__ModuleLoader__, with dsh.client and dsh.bundle.patch declared in package.json. Use it to extend the DSH web UI, add themes, or surface overlays in DSH-Desktop. Caveat: bundle-stack changes require restarting DSH web, not a plain page refresh.
请帮我了解并安装插件:【DSH-Plugs】【https://github.com/JustGenius-s/DSH-Plugs】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:JustGenius-s/DSH-Plugs
把 JustGenius-s/DSH-Plugs 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
DSH-Plugs
A monorepo of plugins for DeepSeek Harness (DSH) — one folder = one plugin.
Plugins
@just-genius/dsh-codex
The consolidated Codex shell: Codex-style message navigation, Cursor-style per-turn Worked for collapsing, a right-side side.panel host with a file tree / preview / diff view (VSCode Light+/Dark+ syntax themes), a Warp-style terminal panel backed by a real login-shell PTY, and a read-only git commit-graph panel.
@just-genius/dsh-debug-mode
Cursor-style debug mode: /debug, a red Debug chip, a Debug Logs dock above the composer, and a reproduction-steps card with Proceed / Mark as fixed. Mode/wait/logs stay in process memory for the live session only (not written to the durable session log).
@just-genius/dsh-memory
Global markdown memory: Settings → Memory for manual CRUD, memory_propose for AI writes that wait for user confirmation, and enabled entries injected into the system prompt. Stored under ~/.dsh/memory/ as index.json + entries/*.md.
@just-genius/dsh-sync
GitHub Device Flow + secret Gist config sync: Settings → Sync pushes/pulls settings.yaml and the web plugin list (portable specs + cordis.patch.yml) with no self-hosted sync server. State lives in ~/.dsh/sync/state.json.
@just-genius/dsh-desktop-update
Update badge for DSH-Desktop next to the sidebar Settings button, driven by the window.dshDesktop Electron bridge. App updates jump to GitHub Releases; DSH runtime updates install in place. Renders nothing in a plain browser.
@just-genius/dsh-model-custom-ex
Replaces the official Models settings page (fork of ui-settings-models) to add per-model dropdown multi-selects for vision (input) and thinking strength (reasoningEfforts) — the two controls the stock page punts to settings.yaml.
@just-genius/dsh-plugin-config
Settings → 插件管理 in one tab: collapsible installed inventory (group by origin / mount plane, enable·disable·uninstall) plus the awesome-dsh-plugin marketplace. Shared top search. Replaces the official read-only Plugin list.
@just-genius/dsh-wechat-chat
Turns the web surface into a WeChat-style messenger: chat list, green/white bubbles, and an agent that texts short progress updates while it works. Switch back from 我.
@just-genius/dsh-whale-girl
Desktop pet (whale-girl). In a plain browser it is the in-page companion; in DSH-Desktop it opens a transparent always-on-top overlay via window.dshDesktop.overlays so the pet sits on the OS desktop.
Shared UI package
packages/ui (@just-genius/dsh-plugin-ui) ships DSH --dsw-* theme tokens plus React primitives (Button, Input, Menu, Modal, …) and settings chrome. Plugins bundle it at build time; standalone apps (e.g. Vellum) can depend on it via file: / npm and call installTheme() once at boot. See packages/ui/README.md.
Repository layout
DSH-Plugs/
├── package.json # root workspace (shared build/type toolchain)
├── pnpm-workspace.yaml # packages: ['plugins/*', 'packages/*']
├── tsconfig.base.json # shared TS config
├── packages/
│ └── ui/ # @just-genius/dsh-plugin-ui
└── plugins/
└── <plugin>/ # one plugin per folder
What a plugin is
A plugin is a Cordis plugin npm package split in two halves:
| Half | Source | Output | Role |
|---|---|---|---|
| node | src/index.ts |
lib/index.js |
Host entry (usually an empty apply for pure UI plugins) |
| browser | src/client/index.tsx |
lib/client.js |
Browser entry, registered via window.__ModuleLoader__.load({ id, factory }), mounting React UI with ctx.slots.register in apply |
Two key declarations in package.json:
dsh.client— declares the browser-side injection (injectlists the client package names it depends on;platform: web).dsh.bundle.patch— points atcordis.patch.yml, so installing the package automatically inserts its loader row into the profile.
Develop
pnpm install # install dependencies
pnpm build # build all plugins (src → lib)
pnpm watch # watch and rebuild
pnpm typecheck # type-check
pnpm clean # remove all lib/
Adding a plugin
- Copy a
plugins/*folder and rename it to your plugin name. - Set
package.json'sname(keep the@just-genius/dsh-*prefix). - Edit
src/index.ts(node half) andsrc/client/index.tsx(browser half). pnpm build.
Installing a plugin
# Link a local folder into the profile (relative paths anchor to the current directory)
dsh plugin --profile web add ./plugins/dsh-codex
Because the package declares dsh.bundle.patch, it joins the profile's bundle layer automatically on install; restart DSH web (a plain refresh is not enough for bundle-stack changes).
Uninstall:
dsh plugin --profile web remove @just-genius/dsh-codex
ruvnet/ruflo
amruthpillai/reactive-resume
volcengine/OpenViking
Molunerfinn/PicGo
titanwings/colleague-skill
nocobase/nocobase
Tencent/WeKnora
anywhere-labs/deepseek-harness-desktop