前言¶
在 DeepSeek Harness(DSH)裏做智能體開發,權限模式往往要在「全人工確認」和「交給模型自動審查」之間取捨。官方 Auto Review 會把更多操作送進 LLM,響應和成本都上去;純只讀或沙箱模式又容易在寫文件、跑 Shell 時頻繁打斷。若希望安全且可預期的操作由程序直接放行,只有規則覆蓋不了的動作才升級審查,就需要一層「確定性優先」的審查策略。下面介紹社區插件 DCAR(@lytharalab/dsh-cons-auto-review)如何在 DSH 權限菜單裏提供 CAutoR 模式,以及安裝與日常用法。
這是什麼¶
@lytharalab/dsh-cons-auto-review(README 中稱 Con’s 自動審查 · DCAR 1.2.1)由 LytharaLab 維護,npm 包名與 GitHub 倉庫 LytharaLab/DSH-Cons-Auto-Review 對應。插件爲 DSH 的「權限」菜單增加 CAutoR 預設:複用 DSH「工作區內修改」的確定性路徑規則,對可判定的安全操作返回 allow,其餘返回 escalate 交給 LLM Auto Review——第一層不會靜默拒絕,只會放行或升級。
CAutoR 的執行策略是 danger-full-access:放寬的是「哪些操作還需要人工確認」,不是進程隔離邊界;被批准的操作仍以宿主進程權限執行。
核心功能¶
程序優先審查¶
- 路徑與文件:工作區讀寫、DSH 平臺臨時目錄、可選額外根目錄;含真實路徑與符號鏈接檢查;受保護路徑與未知操作升級 LLM。
- Shell 快速檢查:一組明確的只讀命令及
mkdir/touch可走程序層;未知命令、腳本、管道、重定向、變量展開、通配符和複合命令會升級。npm run、Python、Node、Git 默認升級,因脫離沙箱後可能產生工作區外效果。 - 可配置項:工具分類、強制審查工具、顯式信任工具、自定義路徑字段,以及嚴格匹配完整 argv 的信任命令(詳見倉庫
docs/CONFIGURATION.md與examples/defaults.json)。
LLM 審查層¶
- 默認使用當前 Agent 的 provider / model;可單獨指定審查模型、推理檔位、輸出額度、溫度、策略補充、併發、超時與重試。
- 決策爲
allow/ask/deny;模型失敗不會自動放行;默認把拒絕或失敗交給用戶,亦可配置爲最終拒絕。 - 審批問題始終使用中文(含模型確認問題與本次操作);界面爲英文時同樣中文詢問。
- 修復「reviewer ended with max-tokens」:默認輸出預算 8192,截斷後最多擴容兩次至 32768;只接受完整 JSON 與正常結束。
- 優先嚐試模型支持的
low推理檔位;全部嘗試共用總超時,默認 120 秒。
長會話與上下文(1.2.0+)¶
會話變長後,1.1.0 及更早若整體超過 maxInputChars(默認 180000)會直接放棄審查並退回人工——每個需審查的操作都要手點。1.2.0 起對歷史與項目指令分段預算,從最舊條目省略並插入 omitted-context 說明;待執行動作永不裁剪。省略只會更保守,不會憑空產生授權。
review:
maxInputChars: 180000
maxHistoryChars: 60000
maxProjectInstructionChars: 30000
其它行爲¶
- 與普通工具、PTC 內部工具統一審查;外層
run_code由各內部調用分別審查。 - 子 Agent 默認繼承 DCAR;父 Agent 後續切換模式不會解除已委派子 Agent 的審查。
- 會話統計、規則命中率、程序避免的審查請求數、可選 JSONL 日誌;可選審查緩存(默認關閉,僅緩存批准結果)。
- 動態權限策略:審查入口激活後才提供 CAutoR;停用時取消等待中的審查。直接複用 Desktop 已有權限服務,無需替換 profile 裏的
permission配置行。 - 1.2.1:適配 DSH 0.2.1-rc.2 會話工作目錄切換;自動放行的工作區邊界仍是會話初始工作區,切換目錄不會擴大邊界。
與官方 Auto Review 同時安裝時,Auto review 與 CAutoR 是兩個獨立選項;只有選中 CAutoR 才走 DCAR 流程。
安裝與啓用¶
要求 Node.js 22.19+ 或 24+。插件在 README 中聲明兼容並測試 DSH 0.1.7-rc.2、0.2.0-rc.2、0.2.1-rc.2;DSH 插件 API 仍在變化,其他版本不作 1.2.1 的兼容承諾。
Desktop 安裝:
dsh plugin --profile desktop add @lytharalab/dsh-cons-auto-review
Web 端將 --profile desktop 改爲 --profile web。也可離線添加解壓目錄或隨包的 .tgz(無需編譯)。
從舊包名 dsh-cons-auto-review 升級時,先關閉 Desktop,移除舊包再安裝 scoped 包,並檢查 profile 中插件名是否已改爲 @lytharalab/dsh-cons-auto-review(示例見倉庫 examples/)。
重新啓動 DSH 後,在聊天輸入區「權限」欄選擇 CAutoR,或執行:
/permission CAutoR
/dcar on
若希望新會話默認使用 CAutoR:在 DSH 設置中將「新會話的默認權限模式」選爲 CAutoR 並保存。停用插件而默認值仍爲 CAutoR 時,新會話會回退只讀並顯示「CAutoR(DCAR 未啓用)」。
卸載前建議在各會話執行 /dcar off,再運行:
dsh plugin --profile desktop remove @lytharalab/dsh-cons-auto-review
典型用法¶
會話內命令¶
| 命令 | 作用 |
|---|---|
/dcar 或 /dcar status |
版本、當前權限和啓用狀態 |
/dcar on / /dcar off |
啓用 CAutoR / 切回回退模式 |
/dcar stats |
本會話計數和程序命中率 |
/dcar history 20 |
最近 20 條審查記錄 |
/dcar config |
查看生效配置 |
/dcar config {"review":{"timeoutMs":30000}} |
修改本會話審查設置 |
/dcar check write {"file_path":"src/a.js","content":"x"} |
僅跑程序規則,不執行工具、不調用模型 |
/dcar clear-cache |
清空審查緩存 |
/dcar reset |
重置本會話配置、統計及緩存 |
會話級配置覆蓋隻影響當前進程中的該會話;命令名、子 Agent 繼承等加載時設置需在 profile 中修改並重啓。
升級後建議的 review 片段¶
從舊版升級且 profile 裏仍保留較小 maxTokens 或較短 timeoutMs 時,README 建議對齊包內示例:
review:
maxTokens: 8192
maxTokensLimit: 32768
tokenLimitRetries: 2
preferLowReasoning: true
timeoutMs: 120000
可疊加示例見倉庫 examples/desktop-config.patch.yml。
適用場景與注意¶
適合誰:已在 DSH Desktop 或 Web 上使用智能體、希望減少「明顯安全」寫文件與只讀 Shell 的重複確認,同時保留 LLM 對邊界外操作的審查;分類上屬於 DSH 社區目錄中的工作流類插件。
安裝前建議:插件以當前 dsh 進程權限運行,路徑檢查與執行之間、以及程序無法識別的命令語義仍存在時間窗口與判斷盲區,完整說明見倉庫 docs/COMPATIBILITY.md。安裝前應自行查看源碼、MIT 許可證 與 SECURITY.md 中的報告渠道。DSH 生態強調「一切皆插件」;SkillHub 目錄頁 爲社區站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
DCAR 把 CAutoR 做成「確定性 allow / escalate + LLM 按需審查」的組合:程序層處理可規則化的工作區與 Shell 場景,長會話通過分段預算避免審查整體失敗,模型層負責疑難決策且默認不 silent allow。需要細節時以 npm 包 1.2.1 與倉庫 README、docs/CONFIGURATION.md 爲準。
- 目錄頁:https://www.skillhub.cn/plugins/LytharaLab/DSH-Cons-Auto-Review
- GitHub:https://github.com/LytharaLab/DSH-Cons-Auto-Review
- npm:https://www.npmjs.com/package/@lytharalab/dsh-cons-auto-review