在 Web 界面直接开关插件,即改即生效且重启保留
24.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Biobuilder-ai/dsh-plugin-ui-toggle该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · ui
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 75 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 10 处,展示前 10 条)
- 读取本地文件lib/index.js:137
const text = existsSync(file) ? readFileSync(file, 'utf8') : ''; - 读取本地文件lib/index.js:137
const text = existsSync(file) ? readFileSync(file, 'utf8') : ''; - 写入本地文件lib/index.js:148
writeFileSync(temp, next, 'utf8'); - 写入本地文件lib/index.js:149
renameSync(temp, file); - 读取本地文件lib/index.js:268
const owned = readOwnedToggles(existsSync(file) ? readFileSync(file, 'utf8') : ''); - 读取本地文件lib/index.js:268
const owned = readOwnedToggles(existsSync(file) ? readFileSync(file, 'utf8') : ''); - 读取本地文件lib/index.js:307
const text = existsSync(file) ? readFileSync(file, 'utf8') : ''; - 读取本地文件lib/index.js:307
const text = existsSync(file) ? readFileSync(file, 'utf8') : ''; - 发起网络请求lib/client.js:83
const fetchEntries = () => fetch(ENTRIES_URL, { cache: 'no-store' }).then(readJson); - 发起网络请求lib/client.js:86
fetch(SET_URL, {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
deepseek-harness的插件,可以在web页面直接开关插件,轻量方便
README
由 DeepSeek 最新模型翻译生成dsh-plugin-ui-toggle
在 dsh Web UI 里直接开关插件:设置 → 插件 → 插件开关。
每一行对应 Loader 树里的一个插件条目。拨动开关后:
- 立即生效 —— 不用重启;
- 重启后仍然保留 —— 开关状态写在本 profile 的 cordis.patch.yml 里,而这正是 dsh 启动时组装插件树用的那份文件。
零运行时依赖,无需构建。
安装
dsh plugin --profile web add github:Biobuilder-ai/dsh-plugin-ui-toggle
然后重启 dsh web。本包在 manifest 里声明了 dsh.bundle,dsh plugin 会自己把它加进 dsh.profile.bundles。
为什么这样存
dsh 启动时会用 HMR 监听 profile 的 cordis.patch.yml(watchUserPatches)。
展开完整文档(README 剩余 1 节)
dsh-plugin-ui-toggle
在 dsh Web UI 里直接开关插件:设置 → 插件 → 插件开关。
每一行对应 Loader 树里的一个插件条目。拨动开关后:
- 立即生效 —— 不用重启;
- 重启后仍然保留 —— 开关状态写在本 profile 的 cordis.patch.yml 里,而这正是 dsh 启动时组装插件树用的那份文件。
零运行时依赖,无需构建。
安装
dsh plugin --profile web add github:Biobuilder-ai/dsh-plugin-ui-toggle
然后重启 dsh web。本包在 manifest 里声明了 dsh.bundle,dsh plugin 会自己把它加进 dsh.profile.bundles。
为什么这样存
dsh 启动时会用 HMR 监听 profile 的 cordis.patch.yml(watchUserPatches)。所以本插件只做一件事:把 - id: <条目 id> / disabled: true|false 写进那个文件末尾的一段受管区块:
dsh-plugin-ui-toggle:begin — managed block, edited from the web UI
- id: "web-ui-git-graph"
disabled: true
<<< dsh-plugin-ui-toggle:end
写入本身就会触发补丁层重新应用,条目的 fiber 随之启动或退出——插件从不调用 Entry.update(),因此也从不回写组装出来的 cordis.yml。
两个标记之间以外的内容一个字节都不会动,手写的行和注释都原样保留。区块可以手工编辑,也可以整段删掉(等于清空所有覆盖)。
不能关的行
有几个条目关掉之后,这个开关面板自己就没了,只能手改文件才能救回来。它们在界面上标为「必需」,服务端也会拒绝(HTTP 409):dsh-plugin-ui-toggle、dsh-host-webserver、dsh-host-frontend-static、dsh-web-frontend、dsh-client-modules、dsh-api-gateway、dsh-client-ui-layout、dsh-client-ui-settings、dsh-client-ui-settings-plugins。
其余条目都可以关——包括后端能力插件。关掉不该关的东西会让对应功能消失,删掉受管区块里那一行即可还原。
HTTP 接口
同源,供 ./client 使用:
| 方法 | 路径 | 说明 |
| GET | /ui-toggle/entries | 列出可打补丁的条目及其当前状态 |
| POST | /ui-toggle/set | 请求体 { id, enabled },写入受管区块 |
id 是补丁用的短 id(web-ui-pet),不是 Loader 的限定路径(include:web-ui-pet)——applyEntryPatches 匹配的是前者。响应里的 path 字段带的才是限定路径,仅供显示。
组装方式
本包自带的 bundle patch 只插入一行 host 条目:
- insert:
- id: ui-toggle
name: 'dsh-plugin-ui-toggle'
浏览器半边由 dsh.client manifest 加载,注册到 settings.plugins.tab 槽位。webServer 是通过 ctx.inject 取的,没有声明成必需服务,所以在 headless profile 里这一行照样能激活,只是什么都不贡献。
本地开发
把仓库 clone 到 profile 目录下的 plugins/,在 profile 的 package.json 里用 link: 声明:
"dsh-plugin-ui-toggle": "link:./plugins/dsh-plugin-ui-toggle"
不要把包直接放进 node_modules/:下一次 pnpm install / dsh plugin install 会把它当多余目录清掉,profile 随即因为 cannot resolve profile bundle 起不来。声明成依赖之后,安装只会重建符号链接,dsh plugin 的 reconcile 也会自动把它保留在 dsh.profile.bundles 里。
环境要求
- 带 web profile 的 dsh(@deepseek-ai/dsh-web-app)
- webServer host 服务与 settings.plugins.tab 客户端槽位,标准 web 组装里都有
许可
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Biobuilder-ai/dsh-plugin-ui-toggle
在 Web 界面直接开关插件,即改即生效且重启保留
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目