为 DSH Web 添加官方内置插件目录、搜索与状态说明,并提供经过审核的安全 UI 插件开关。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-builtin-toggles
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:Starfie1d1272/dsh-builtin-toggles
GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness Web 的官方内置插件目录与安全开关。
非官方社区插件(unofficial community plugin)。与 DeepSeek Harness 官方无关,不受官方支持。

DSH Web 由大量官方内置插件(built-in entries)组成,但原始的 Loader id / package 名很难让普通用户判断每个插件是干什么的、当前是什么状态、为什么有些能关、有些不能。本插件在 设置 → 插件 → 内置插件 提供一个面向中文用户的内置插件目录与安全开关。
安装
前置:dsh CLI(≥ 0.1.0-rc.6,web profile 已初始化)。
dsh plugin --profile web add dsh-builtin-toggles
安装后需要重启 DSH web/gateway 才会首次加载(bundle 层在启动时读取)。
功能
- 中文官方内置插件目录:为当前 Web Loader 中的官方内置插件提供中文名称、一句话说明和分类;展开卡片可查看“关闭后 / 建议”(可管理项)或“为什么锁定 / 状态说明”(锁定项)。
- 本地搜索:按名称、功能、ID 或包名过滤全部条目,不请求网络。
- Agent Preset 状态解释:
tool-*/plan-mode等由 Agent Preset 按会话组装的能力,统一显示“由 Agent 预设管理”,不会误导为“功能已关闭”。 - 9 个经过审核的安全 UI 开关:
ui-deliverables、ui-jobs、ui-goal、ui-message-feedback、ui-model-selection、ui-agent-preset、ui-skill、ui-subagent、ui-trajectory—— 都是纯界面插件;这些开关作用于 DSH 的webprofile,因此会影响所有 Web 会话,不会修改 Agent 预设;开关立即生效于 Host 运行时并持久化到 profile patch,重启后保持。 - 其余插件 fail-closed 锁定:核心服务、Agent 能力与未知条目一律锁定,不提供开关。
- 只读能力检查 API:
GET /api/builtin-toggles/v1/inspection提供版本化、无本地化文案的 Loader 能力清单、审阅基线与兼容性结果;遇到新官方条目、缺失条目、包身份或可复核inject声明漂移时仍可检查,但本版本不会据此放宽任何开关权限。详见 Inspection API v1。
安全模型
可管理性完全来自 src/policy.ts 的精确显式 allowlist(MANAGEABLE_IDS),没有“名字看起来像 UI 所以允许”的启发式;服务端在每次开关请求时重新执行全部检查(allowlist、body 合法性、entry 存在、@deepseek-ai/* 包名、非插件自身),任何一条不满足都拒绝。UI 隐藏按钮不是安全边界。
目录(src/client/catalog.zh.ts)是纯展示层:条目没有 manageable / enabled / disabled / allowToggle / policy 字段,PRESET_MANAGED_IDS 也只是展示元数据——目录绝不参与授权。
兼容性
- Tested with DSH 0.1.0-rc.6(隔离 DSH_HOME + headless Chromium 真实浏览器验证)。
- 开关的运行时效果是 Host 侧立即生效;已打开的浏览器页面需要刷新后才应用 client-side 改变(rc.6 行为),切换成功后面板会提示“刷新页面后生效”。
- 持久化写入 profile 的
cordis.patch.yml,重启后保持。 - inspection foundation 的兼容性结果是审计信号,不是切换授权信号;除完整 rc.6 发布补丁结构外,
verified还需要 Host 公开运行时身份。当前 DSH 没有向插件公开该稳定身份,因此真实环境会诚实标为unverified,不会仅凭版本号或相同 Loader 结构声称兼容。
卸载
dsh plugin --profile web remove dsh-builtin-toggles
然后重启。本插件写入的 disabled override 会保留在 profile patch 中(可手动清理)。
开发
pnpm install
pnpm typecheck
pnpm test
pnpm build # tsdown → lib/index.js (node ESM) + lib/client.js (browser bundle)
贡献
欢迎 Issue 和 PR。贡献前请阅读 贡献指南(English)。
License
MIT。
链接
同类插件
zhu1090093659/dsh-web-ui★ 1766
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
ccch1mneyyy/dsh-TUI★ 829
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/DSH-better-sidebar★ 705
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
huiliyi37/dsh-tianshu-tui★ 131
DeepSeek Harness 的终端 UI(TUI)。
omdsh-dev/dsh-at-file★ 117
Codex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
Nagi-ovo/dsh-visualize★ 79
对话内生成式 UI:模型把交互式 HTML 卡片直接画进会话流,带流式预览与沙箱渲染。