Local 逐次確認與遠端核准
Action registry 是 confirmation policy 的唯一真實來源。只有刪除操作會 use UserConfirm:arinova.local.fs.delete 是唯一需要確認的 local desktop action。其他 local desktop action 通過一般 capability 檢查後都使用 None,包括檔案寫入與搬移、shell.run、App 操作、剪貼簿操作、擷取螢幕及 input action。
Server 在送出需確認的刪除 action 前,會先持久化綁定 device、call ID、client message ID、sequence、action/version 參數雜湊、遮罩摘要與期限的一次性 confirmation。Protocol v2 Desktop 會顯示確切參數、回報提示已就緒,並只在 server 回送完全匹配的 approved decision 後進入 executor。拒絕、逾時、斷線、binding 不符、重播或跨裝置 decision 都會 fail closed。Desktop 回傳 cancelled 時會正規化為 DESKTOP_TOOL_CANCELLED;除非使用者明確要求再次嘗試,否則不可自動重送。
Owner 可在 remote approval UI 對同一筆 pending delete binding 作決定。Lifecycle 值為 pending、approved、rejected、expired、cancelled,每次 transition 都會連同 decision source 寫入 audit。Bypass 需要近期 2FA step-up,最長 600 秒,且綁定 user、device、Agent。保留的 legacy shell-bypass validator 仍把 shell 綁定 exact arguments,但非 delete action 不會建立 confirmation binding。僅看到 prompt 或 approval 不代表已執行,必須等待 action result。
Related actions
Section titled “Related actions”arinova.local.fs.read_file, arinova.local.fs.write_file, arinova.local.fs.move, arinova.local.fs.delete, arinova.local.shell.run, arinova.local.shell.which, arinova.local.app.open, arinova.local.app.close, arinova.local.app.list, arinova.local.clipboard.read, arinova.local.clipboard.write, arinova.local.system.open_url, arinova.local.screen.capture, arinova.local.input.click
Also known as
桌面確認, 本地核准, 遠端核准, confirmation cancelled, approval bypass, 不在電腦旁
Build a7f47a5ca54ddcf7806cd48b81ce1b9827042766