dsh-approval-format:把 DSH 待审批内容做成可读卡片

前言

在 DeepSeek Harness(DSH)里,工具调用触发「待审批」时,默认界面往往把说明压成一段纯文本。命令很长、参数是 JSON、说明里带列表或表格时,很难一眼看清要批准什么。dsh-approval-format 只改展示方式:审批仍走原有通道,策略、权限校验与工具执行逻辑不变。

这是什么

dsh-approval-format 由 TomJerryGit 维护,归类为 admin-security,面向 Web 客户端。它在待审批场景下把内容渲染成类似文章版式的卡片,并保留拒绝、允许一次等原有决策入口。README 明确标注为 presentation-only:卸载插件即可恢复内置审批卡片。

核心功能

下面能力均来自仓库 README 与 package.json 描述,可按需对照使用。

安全 Markdown 标题与说明

支持标题、段落、列表、任务列表、引用、表格,以及粗体、斜体、行内代码和 http(s) 链接。原始 HTML 不会被解析,降低富文本注入带来的展示风险。

代码执行详情

Shell 命令或 JSON 工具参数以带行号、可滚动代码块展示,保留换行并支持软折行,便于核对每一步或整段参数。

风险标识

对内容中的模式做检测,例如 danger-full-access、sudo、rm -rf、Remove-Item、--force 等,在卡片上显示风险类标识,辅助快速判断。

原文、复制与键盘决策

可在格式化视图与原始内容之间切换,并复制整张卡片内容。键盘方面:Enter 表示允许一次,Esc 表示拒绝;设计上不抢占已聚焦的输入框或按钮。

容错与性能边界

富文本渲染失败时,回退为最小化原始卡片,仍可进行拒绝或允许。Markdown 解析有缓存;内容上限约 100 KB,展开行数上限约 2000 行。

权限方面(README):无网络请求、无凭证、无文件访问、无 Host 路由;仅读取当前审批请求及关联工具调用,不写入会话数据。

安装与启用

DSH 版本需满足 engines.dsh 声明:>=0.2.0-rc.2。客户端平台为 Web(dsh.client.platform: "web")。插件通过更高优先级的 conversation.composer 链接入,依赖发行版自带的审批 composer 与聊天客户端。

推荐从 npm 一步安装:

dsh plugin --profile web add dsh-approval-format
# desktop profile
dsh plugin --profile desktop add dsh-approval-format

从源码安装(README 原文命令):

dsh plugin --profile web add github:TomJerryGit/dsh-approval-format

也可在 DSH 中使用 Plugins → Discover,索引地址为:

https://tomjerrygit.github.io/dsh-approval-format/index.json

或使用 Plugins → Install 指向仓库或包目录。若插件已收录在某 DSH 插件市场中,可从市场列出的版本安装。

安装前建议在 GitHub 查阅源码与 MIT 许可证;插件随当前 DSH 进程权限运行,本插件自述为纯展示层,但仍宜确认是否符合你的安全审查要求。

典型用法

安装并 reload DSH(或重启桌面端)后,无需额外配置项:出现待审批时,界面应显示文章式卡片而非单行纯文本。

示意布局(摘自 README ASCII 图,字段名以你环境为准):

┌──────────────────────────────────────────────────────┐
│ ● 等待审批            [高风险]      查看原文 · 复制  │
├──────────────────────────────────────────────────────┤
│ 允许本次操作使用 danger-full-access 权限:           │
│ (说明正文,可多段、列表、表格等 Markdown)            │
│                                                      │
│ 工具 · powershell                                    │
│ ┌ 执行详情 ─────────────────────── 命令  展开全部 ┐ │
│ │ 1  Set-Location '...'                             │
│ │ 2  Get-Content ...                                │
│ └──────────────────────────────────────────────────┘ │
│                                                      │
│ Enter 允许一次 · Esc 拒绝          [拒绝] [允许一次] │
└──────────────────────────────────────────────────────┘

开发时:客户端逻辑集中在单个 client.js 模块,仅使用浏览器模块表中的 React。修改后 reload DSH 或重启桌面应用以加载新模块。

适用场景与注意

适合经常在 DSH Web 或 desktop profile 下审批工具调用、且希望快速读懂命令与参数的开发者或运维角色。不适合指望通过本插件修改审批策略或放行规则的场景——README 再次强调其不改变审批策略、权限检查或工具执行。

社区目录页与仓库相互独立,DeepSeek Harness 生态奉行「一切皆插件」;SkillHub 等目录站点与 DeepSeek / 幻方无官方从属关系,安装来源以你实际使用的市场或 npm 包为准。

结尾

dsh-approval-format 的价值在于:在不动审批链路的前提下,把待审批内容做成可读的 Markdown 与代码详情,并辅以风险标识与快捷键。进一步了解可访问插件目录页与 GitHub 仓库。

  • 目录页:https://www.skillhub.cn/plugins/TomJerryGit/dsh-approval-format
  • GitHub:https://github.com/TomJerryGit/dsh-approval-format
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye