dshbase

插件目录 / Developer / DSH-Plugs

DSH-Plugs

已验证 · 实测可装 JustGenius-s

✓ 持续维护 2 位贡献者 纯 TypeScript

查看 GitHub ↗ ← 返回插件目录

7Stars
1Forks
1未关闭 issue
TypeScript语言
2026-08-22最近推送
跨平台平台

功能简介

DSH-Plugs — DSH 插件(工具)

✅
我们的评价
可用 — 实测通过,早期项目

DSH-Plugs — DSH 插件(工具) 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

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 (inject lists the client package names it depends on; platform: web).
  • dsh.bundle.patch — points at cordis.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

  1. Copy a plugins/* folder and rename it to your plugin name.
  2. Set package.json's name (keep the @just-genius/dsh-* prefix).
  3. Edit src/index.ts (node half) and src/client/index.tsx (browser half).
  4. 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

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 DSH-Plugs」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:JustGenius-s/DSH-Plugs

Headless(CLI)profile:

dsh plugin --profile headless add github:JustGenius-s/DSH-Plugs

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

使用场景

扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。

适合谁

想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。

二次开发建议

工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7797 个插件 →