文件 v1.1.1

權限與確認

·

兩種權限模式、各入口使用哪一種,以及確認提示如何路由。

Permission mode

Mode 行為
single-confirm 每個非 ReadOnly 工具呼叫都需使用者確認(TUI 預設值)
always-allow 工具自動執行;LLM 被指示對七類真正不可逆的操作先呼叫 ask_user

在 always-allow 下仍需明確 ask_user 的七類不可逆操作:

  1. 檔案系統 —— rm -rf / rm -r、刪除目錄或非本次任務產生的既有檔案
  2. 資料庫 —— DROP DATABASE / DROP TABLE / TRUNCATE、無 WHERE 的 DELETE / UPDATE、任何正式環境 DSN
  3. Git —— reset --hard、對 main/master 的 push --force、刪除共用分支、clean -fdx
  4. 系統 —— chmod 777 / chown -R、/etc / /usr / /System 底下的修改、launchctl / systemd 變更、sudo 提權
  5. 覆寫 —— 未讀取過的非空既有檔案、.env / 憑證 / lock 檔 / .git/index
  6. 雲端與基礎設施 —— gcloud / aws / kubectl delete、terraform destroy
  7. 行程 —— shutdown / reboot、對系統服務 PID 執行 kill -9

一般寫入(edit_file、build 與測試指令、git status / add / commit、唯讀 shell)直接執行。此閘門由 system prompt(configs/prompts/system_prompt/permission/always_allow.md)強制,而非硬編碼的 Go 端 filter。

各入口的模式

生效的權限模式(single-confirm 或 always-allow)由進入點決定:

進入點 模式
TUI single-confirm,可用 Shift+Tab 逐 session 切換
POST /v1/send single-confirm;確認由 web 儀表板回應。請求欄位 allow_all 已移除
POST /v1/chat/completions always-allow
Telegram single-confirm(confirm gate 使用 Telegram inline-keyboard 選單)
Discord single-confirm(confirm gate 使用 Discord select menu)
續跑的待處理任務 沿用該任務儲存的模式
Subagent 繼承母 ctx

模式會渲染進 system prompt 的 ## Permission Mode。位於唯讀指令清單的指令在任何模式下都跳過 gate。

工具 mode 的閘門

帶 mode 的工具由 mode 決定閘門:list / read / search 視為唯讀並跳過確認,而 remove / restore 即使在已自動核准的工具上仍一律確認。

依來源路由的確認

每個互動請求都帶有來源前綴——cli-、chat-、tg- 或 dc-。CLI 的確認只由 TUI 消費,web 請求由 web 確認串流消費,Telegram 或 Discord 請求由對應的通道 listener 消費。TUI 以外通道的確認 5 分鐘未回覆即視為 skipped,任務保留為待決(v1.1.1 起 TUI 的確認不設時限),因此一個通道既無法攔截、也無法無限期占住另一個通道的提示。

EN