dshbase

插件目录 / Knowledge / dsh-plugin-toggle

dsh-plugin-toggle

已验证 · 实测可装 DamonKoy

✓ 持续维护 基于 3 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

4Stars
0Forks
0未关闭 issue
—语言
2026-08-15最近推送
跨平台平台

功能简介

DSH plugin switchboard: Settings tab with descriptions, fuzzy search, and runtime start/stop

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

DSH plugin switchboard: Settings tab with descriptions, fuzzy search, and runtime start/stop 实测能干净安装、正常启动。早期项目,但功能可用。

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

README

dsh-plugin-toggle

English | 中文

A DeepSeek Harness (DSH) plugin switchboard for the web GUI.

Open Settings → Plugins → Plugin Switch. Every loaded plugin is a card with:

  • a short description (from that package's package.json description)
  • enabled / disabled + fiber phase (running / pending / failed / …)
  • Start / Stop (runtime only — does not rewrite cordis.yml)
  • fuzzy search (name / module / id / description; subsequence match)

Core / surface plugins (webserver, connection, session, agent, …) are marked Core and cannot be stopped from this UI, so the page cannot take itself down.

Install

dsh plugin --profile web add github:DamonKoy/dsh-plugin-toggle

Restart dsh web, then open Settings → Plugins → Plugin Switch.

Or add the repo as a profile dependency and include the bundle:

{
  "dependencies": {
    "dsh-plugin-toggle": "github:DamonKoy/dsh-plugin-toggle"
  },
  "dsh": {
    "profile": {
      "bundles": ["dsh-plugin-toggle"]
    }
  }
}

Then pnpm install in the profile directory and restart dsh web.

What you get

Feature Notes
Plugin cards Title, entry id, description, enabled tag, phase
Categories Grouped sections (core / UI / theme / tools / fun / other), collapsible
Sorting Within a group: togglable plugins first, then by status (running first), then name
Fuzzy search Tokens match as substring or subsequence across fields incl. category
Start / Stop entry.update({ disabled }) — runtime only, no tree.write()
Core guard Surface/runtime entries cannot be stopped (id- and module-name-based); others need a two-step confirm
Usage history Every toggle is persisted to ~/.dsh/dsh-plugin-toggle.jsonl (last 1000), shown in a collapsible “使用记录” section
Persistence Installed as a composition plugin — survives dsh web restarts

HTTP API (same origin)

Method Path Role
GET /plugin-toggle/list { entries: [...] }
GET /plugin-toggle/logs { records: [...] } (recent usage history, newest first)
POST /plugin-toggle/set { entryId, enabled } → { ok, entry? | message? }

POST is same-origin only.

Layout

dsh-plugin-toggle/
  lib/index.js          Host: list + set routes over the Cordis Loader
  client/client.js      Client: Settings tab (ModuleLoader factory)
  cordis.patch.yml      Bundle insert (`id: plugin-toggle`)

The client exports.inject is the service name slots (not a package name). Using package names here parks the client fiber forever.

License

MIT

安装

🧩 让 Agent 自动装(推荐)

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

dsh plugin add dshbase-catalog

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

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

Web profile:

dsh plugin --profile web add github:DamonKoy/dsh-plugin-toggle

Headless(CLI)profile:

dsh plugin --profile headless add github:DamonKoy/dsh-plugin-toggle

实测报告

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

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

分享徽章

Knowledge 里更多

浏览全部 7819 个插件 →