Skip to main content
Back to plugins
S

dsh-builtin-toggles

starfie1d1272/dsh-builtin-toggles

Adds a built-in plugin catalog to DSH Web with search, status explanations, and safe toggles for audited UI plugins.

Install

dsh plugin --profile web add github:starfie1d1272/dsh-builtin-toggles

README

dsh-builtin-toggles

DeepSeek Harness Web 的官方内置插件目录与安全开关。

非官方社区插件(unofficial community plugin)。与 DeepSeek Harness 官方无关,不受官方支持。

Awesome DSH Plugin

dsh-builtin-toggles 内置插件目录

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 层在启动时读取)。

功能

  • Capability Inspector:检查当前 Web Loader 的所有 capability(包括 external、未审阅和异常条目),逐项显示运行状态、三态 profile override、Agent Preset ownership、审核溯源、依赖证据、兼容性发现与服务端计算的 mutation eligibility。
  • Compatibility / Doctor 摘要:明确区分 verifieddriftedunverified;运行时发布身份不可用时如实标为 unverified,不将其表述为系统故障,也不把它当作 mutation eligibility 的替代。
  • 本地筛选与诊断:按 ID/包名搜索,并可按类别、管理平面、策略、验证、运行状态及异常筛选;可复制不含本地路径和配置内容的诊断报告。
  • Agent Preset 状态解释tool-* / plan-mode 等由 Agent Preset 按会话组装的 capability 单独标注,绝不误认为 profile override。
  • 9 个经过审核的安全 UI 开关ui-deliverablesui-jobsui-goalui-message-feedbackui-model-selectionui-agent-presetui-skillui-subagentui-trajectory —— 都是纯界面插件;这些开关作用于 DSH 的 web profile,因此会影响所有 Web 会话,不会修改 Agent 预设;强制开关会更新 Host 并持久化,恢复继承则由 DSH profile/HMR 重组重新暴露下层值。
  • 其余插件 fail-closed 锁定:核心服务、Agent 能力与未知条目一律锁定,不提供开关。
  • 能力检查与保守授权 APIGET /api/builtin-toggles/v1/inspection 提供版本化、无本地化文案的 Loader 清单、审阅基线、配置三态、独立的 profile 可持久化预检、兼容性与服务端计算的逐条 mutation eligibility。Host 未公开运行时发布身份时,inspection 会诚实标为 unverified;这不会单独关闭已审核 leaf,但可观测的新增官方条目、包/inject/重复 id 等结构变化会因无法建立 consumer 图而保守拒绝写入。它不宣称能发现不可观测的未来内部 consumer 变化。详见 Inspection API v1

安全模型

可管理性完全来自 src/policy.ts 的精确显式 allowlist(MANAGEABLE_IDS),没有“名字看起来像 UI 所以允许”的启发式;服务端在每次开关请求时重新执行全部检查(allowlist、body 合法性、entry 存在、@deepseek-ai/* 包名、非插件自身),任何一条不满足都拒绝。UI 隐藏按钮不是安全边界。

inspector 只消费服务端 v1 inspection DTO;类别、审核信息、兼容性与 eligibility 都不由浏览器从 catalog、ID 模式或 compatibility 状态推导。旧目录元数据也绝不参与授权。

兼容性

  • Tested with DSH 0.1.0-rc.6(隔离 DSH_HOME + headless Chromium 真实浏览器验证)。
  • 开关的运行时效果是 Host 侧立即生效;已打开的浏览器页面需要刷新后才应用 client-side 改变(rc.6 行为),切换成功后面板会提示“刷新页面后生效”。
  • 持久化写入 profile 的 cordis.patch.yml,重启后保持。
  • inspection compatibility 与 mutation eligibility 是不同概念;除完整 rc.6 发布补丁结构外,verified 仍需要 Host 公开运行时身份。当前 DSH 没有向插件公开该稳定身份,因此真实环境会诚实标为 unverified,不会仅凭版本号或相同 Loader 结构声称兼容;但逐条 mutation 仍必须通过独立的 reviewed-leaf、结构漂移与 writer 安全检查。

卸载

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。

Related plugins