dsh-edit-approval:DeepSeek Harness 的編輯與 Bash 審批插件

前言

DSH 的理念是「一切皆插件」。社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。對使用 DSH 的開發者來說,智能體調用 write、edit、str_replace_editor 或 bash 時,通常需要確認當前變更內容,並決定是否放行。

dsh-edit-approval 提供這類審批:在 write / edit / str_replace_editor 調用寫入文件前,展示紅/綠行級 diff;在 bash 命令運行前,也可發起審批。Bash 審批默認關閉。

這是什麼

dsh-edit-approval 是由 SiriLee 維護的 DeepSeek Harness 插件,許可證爲 MIT。它面向兩類工具調用:

  • write、edit、str_replace_editor:寫入文件前審批,面板顯示紅色刪除行和綠色新增行的行級 diff。
  • bash:命令運行前審批,默認關閉。

審批結果支持 allowed-once 和 rejected。Settings → General 提供 Edit approval 與 Bash approval 主開關。

核心功能

編輯審批

編輯審批默認開啓。當調用 write、edit 或 str_replace_editor 時,插件在寫入文件前發起審批。審批面板顯示紅色刪除行和綠色新增行的行級 diff。

用戶可以選擇 allowed-once,讓當前調用繼續;也可以選擇 rejected,拒絕該調用。

Bash 審批

Bash 審批默認關閉。開啓後,bash 命令運行前會發起審批。可以在 Settings → General 打開 Bash approval,也可以使用命令切換。

bash-approval settings namespace 的 allow 中可配置命令前綴白名單。白名單目前尚無 UI。

Bash 審批不讀寫文件系統,沙箱升級調用不會重複詢問。

never 策略

當會話審批策略爲 never 時,插件通過 next() 委託,保持 full-access 會話可用。插件不擴展訪問權限,也不改變沙箱模式。

安裝與啓用

先安裝插件:

dsh plugin --profile web add dsh-edit-approval

安裝後重啓 dsh web(--profile web)。

運行環境需要 Node ^22.19.0 || >=24.0.0。

貢獻者可以使用固定 commit 安裝:

dsh plugin --profile web add github:SiriLee/dsh-edit-approval#<sha>

如果從 git 安裝首次運行失敗,需要在 profile 的 pnpm-workspace.yaml 中添加 allowBuilds 鍵。npm pack 會運行 prepare,生成的 tarball 會攜帶預構建 lib/ 和 LICENSE。

典型用法

1、編輯審批默認開啓。任意 write、edit、str_replace_editor 調用前會顯示紅/綠行級 diff;選擇 allowed-once 或 rejected。

2、需要審批 bash 命令時,在 Settings → General 打開 Bash approval,或執行:

/approval-bash on

3、查看或關閉審批開關:

/approval-edit status
/approval-bash status
/approval-edit off
/approval-bash off

4、爲 bash 審批配置白名單:在 bash-approval settings namespace 的 allow 中配置始終放行的命令前綴。

5、在 never 審批策略下,插件委託給沙箱,不擴展訪問權限或改變沙箱模式。

適用場景與注意

適合希望在 DSH web profile 中逐次確認文件寫入和命令執行的開發者。尤其適合需要查看編輯 diff、保留 full-access 會話可用,或對 bash 命令做前綴白名單的場景。

使用前注意:

  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
  • Bash approval 默認關閉;如不啓用,命令調用不會進入該審批。
  • allow 白名單目前尚無 UI,需要通過 settings namespace 配置。
  • Node 版本要求爲 ^22.19.0 || >=24.0.0。
  • git 安裝首次運行可能需要 pnpm-workspace.yaml 中的 allowBuilds。

獲取

dsh-edit-approval 的價值是把編輯和命令的放行決策顯式化:編輯有紅/綠 diff,命令有獨立開關和白名單,策略下委託沙箱。

GitHub:https://github.com/SiriLee/dsh-edit-approval

社區目錄可按 dsh-edit-approval 搜索;本文不附未確認的目錄頁 URL。

羽毛球分组比赛记分
小程序二维码

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

小夜