# LazyBoy V3:48 項優化與採用判斷 本清單是 V3 主計劃第 18 節的獨立副本;產品契約、來源與實作細節以主計劃為準。共用/私人都保留;不是要求把所有候選工具都裝上。 ## 18. 逐項改善清單:48 項,不等於 48 項全部替換 P0:正確性/產品邊界;P1:核心交付;P2:量測後採用;P3:可選/延後。以下是本案的待辦與候選,沒有實測提速倍數。每項在進度檔有 disposition、證據和回滾;已存在的優化要標「保留」,不要再次算成新成果。 ### A. 原生執行與工作流程 | ID | 項目 | 優先級 | 具體改動 | 要改善的問題 | 驗收/限制 | |---|---|---|---|---|---| | O01 | 修正新圖交付 | P0/必做 | 修反轉條件,分 captured/delivered,接管/換模型強制交付 | 無圖硬做造成的錯誤與重試 | 真值表+模型 request fixture;[R1] | | O02 | 原生 exec | P1/必做 | 命令在綁定 Computer 執行,直接取 stdout/stderr/exit | 消除終端機打字與讀圖 | 兩模式 text-only 命令 0 screenshot | | O03 | 原生 files | P1/必做 | 重用並強化 SandboxProvider,不透過 sed 畫面讀檔 | 減少回合/避免 binary 毀損 | range、Unicode、binary、shared 路徑;[R2–R4] | | O04 | 持續 jobs 與 PTY | P1/必做 | 短命令直接返回,長作業由 Runner 管理、事件通知/真取消 | 不請 LLM 反覆看是否做完 | API 重啟可追 job;process-tree cancel | | O05 | 批次程序/form macro | P1/必做 | 已知步驟在受控 executor 內完成,有 pre/post checks | 不逐列/逐 click 呼叫模型 | 每個子動作有 trace;失敗即停 | | O06 | 套件/連線常駐 | P1/必做 | 暖 MCP instance、HTTP pooling、版本化 cache | 降低啟動與重複連線成本 | warm/cold 分測;不共享私人 env | | O07 | 穩定 Runner transport | P2/量測 | 優先現有安全 transport;高 overhead 才改持續 UDS/HTTP 通道 | 減少每次 docker exec 的啟動成本 | 實測 RPC 分解;不能公開 root socket | | O08 | readiness 分層 | P1/必做 | Runner、browser、desktop、viewer 各自 ready,按需啟動 | 讀 CSV 不先等整個桌面 | no viewer/no desktop 的 native fixture | ### B. 模型與瀏覽器 | ID | 項目 | 優先級 | 具體改動 | 要改善的問題 | 驗收/限制 | |---|---|---|---|---|---| | O09 | 按能力路由 | P1/必做 | 原生/已授權 API 優先,DOM 次之,必要時視覺 | 避免 Gmail/Outlook 走慢 UI | route rationale+權限拒絕不繞過 | | O10 | 工具 schema 按需載入 | P1/必做 | 僅帶此 run 可用能力,版本/grant cache | 縮短 context、避免選錯工具 | revoke 後立即失效;記 schema tokens | | O11 | 簡單任務不加 planner | P1/必做 | 用既有一輪決策,複雜任務才 TaskPlan | 避免多 agent/planner 套娃 | 記模型回合、TTFT、正確完成 | | O12 | 條件等待 | P1/必做 | wait_until/job events 有 deadline,替代固定 sleep | 消除空等與毫無進度輪詢 | 未知 disabled 原因不無限等 | | O13 | DOM snapshot 限量與增量 | P2/量測 | 聚焦相關區域,revision 與失效 refs 完整處理 | 減少重傳巨大 page text | 錯 revision 回 full;不能漏關鍵元素 | | O14 | agent 圖片和 viewer 串流分離 | P1/必做 | 高可讀截圖按需取,不把 VNC frame 全塞模型 | 減少模型圖片成本且維持辨識 | 縮放映射/force image/小字 fixture | | O15 | 既有 browser/session 穩定 attach | P1/必做 | profile/tab/frame 明確綁定,禁止亂開替代瀏覽器 | 減少重登入與 stale reference | 同 profile 不雙開;重啟正確失效 | | O16 | 驗證、有限恢復與模型升級 | P1/必做 | 進度看 milestone;兩次同義錯誤換策略,難題才升級模型 | 停止二十分鐘空转 | 未知副作用先讀回;無固定提速保證 | ### C. 顯示與遠端桌面 | ID | 項目 | 優先級 | 具體改動 | 要改善的問題 | 驗收/限制 | |---|---|---|---|---|---| | O17 | Xvfb+x11vnc → TigerVNC Xvnc | P2/必做候選測試 | 一個 backend 同時提供 X server 與 VNC,保留 rollback | 可能減少顯示匯出層與維護負擔 | Cua/a11y/中文字/多 display/CPU/latency;[E5] | | O18 | Xvfb+x0vncserver 備選 | P3/保留替代 | 只換 VNC 匯出層,不替換 X server | Xvnc 相容性卡住時較小改動 | 不能說已移除 Xvfb;[E6] | | O19 | 檢查 -noxdamage | P2/對照 | 現有 x11vnc 關閉 XDamage;測啟用是否有重繪瑕疵 | 判斷掃描負擔能否降低 | 靜態/捲動/遮擋/影片測試;不可直接刪旗標;[R9] | | O20 | noVNC/websockify 與畫質檔 | P2/調校 | 先保留;viewer FPS/壓縮可調,無 viewer 減少服務負載 | 改善觀看/頻寬,不假稱模型更快 | 文字清晰、輸入延遲、resize、proxy auth;[E7] | | O21 | 精簡桌面而非先換 OS | P2/調校 | 保留 XFCE/a11y;已 compositor=off,評估不必要 autostart | 降低多 slot CPU/RAM | 不重做既有優化;不破壞 DBus/a11y;[R9] | | O22 | Selkies 替代 viewer | P3/可選 | 有高幀率/音訊需求才測;目前有 WebSocket 與選用 WebRTC | 影音觀看可能較適合 | 硬體 encoder 實測、網路與前端成本;[E8] | | O23 | Xpra 替代 viewer | P3/可選 | 需要單視窗發布/session forwarding 時測 | 另一路 remote app 體驗 | 非 noVNC drop-in;額外 client/輸入整合;[E9] | | O24 | Wayland/全面換桌面 | P3/延後 | 保留 X11 driver 路徑,未有需求不全面搬遷 | 避免同時引入 capture/input 相容性變動 | 獨立 ADR/fixtures;不是目前速度主解法 | ### D. 共用/私人與資源協調 | ID | 項目 | 優先級 | 具體改動 | 要改善的問題 | 驗收/限制 | |---|---|---|---|---|---| | O25 | 雙模式正式保留 | P0/必做 | shared 多 bot→同 Computer;private 排他;不強制遷移 | 符合產品且避免破壞資料 | assignment/member/slot/重建測試 | | O26 | 按 display/檔案/account 鎖 | P1/必做 | 同資源排他、不同 display 與受控 job 並行 | 避免共用主機整機串行 | Cua/DOM/human 同鎖;canonical shared key | | O27 | scope-aware pause | P1/必做 | 接管 A、接管 display、暫停整機分開 | B 不被 A 的無關操作凍結 | 真 barrier/fencing;HTTP unknown 誠實顯示 | | O28 | 共享 lifecycle/single-flight | P1/必做 | 啟動、刪除、idle reaper 看全部 member/jobs | 避免重複建立與誤停他人工作 | member refcount、job/viewer 活性聚合 | | O29 | 程式共享與帳號授權分離 | P0/必做 | 共享唯讀 package,per-agent runtime/bindings/grants | 省重複安裝、不共享私人帳號 | 未知程式不能靠 annotations 保證安全 | | O30 | 公平排程與總配額 | P1/必做 | 每 agent/Computer 的 CPU/RAM/jobs/requests 有界 | 抑制單 agent 拖慢所有人 | 壓力/OOM/慢 MCP;不無界並行 | | O31 | Chromium /dev/shm 與程序回收 | P2/量測 | 調 per-Computer shm、init/reaper、renderer 健康 | 減少可避免的崩潰與孤兒程序 | 不能盲開 ipc=host/SYS_ADMIN/no-sandbox;[E10] | | O32 | X11/DBus/profile 權限與 session | P1/必做 | per-slot identity,評估 Xauthority,系統安裝有管理鎖 | 避免串台與共用 session 風險 | 同 UID 非強隔離;Xvnc :1 port 對應測試 | ### E. 可安裝外部工具/Outlook | ID | 項目 | 優先級 | 具體改動 | 要改善的問題 | 驗收/限制 | |---|---|---|---|---|---| | O33 | Tool Manager 安裝入口 | P1/必做 | catalog、manifest/受控 package URL、本地上傳三種入口 | 新增工具不改核心 dispatch | 實際 sample MCP 安裝,不只是設定畫面 | | O34 | 來源版本與完整性 | P1/必做 | pin digest/version,審核 hooks,安全解壓與 quota | 更新可重現、防無界安裝 | 拒絕未審核 URL、路徑逃逸、錯 digest | | O35 | 安裝/啟動/認證/授權分開 | P1/必做 | 每階段顯示狀態、failure reason 和 scope | 不再「裝好了卻不能用」 | installed ≠ connected ≠ authenticated ≠ authorized | | O36 | 熱啟用與 registry 更新 | P1/必做 | health/schema 驗證,原子登錄能力;grant 撤銷失效 | 不為加工具重啟整個 LazyBoy | 正在執行 run 的能力版本與安全點更新 | | O37 | 版本更新/回滾/移除 | P1/必做 | 新版本旁置,active job pin 舊版,bindings/reference GC | 共用主機其他 agent 不受破壞 | 新增權限重新核准;共享套件引用仍存活 | | O38 | OAuth/token broker | P1/必做 | Microsoft/Google 正規授權,scoped token、refresh single-flight | 減少重登入與憑證混用 | MFA/admin policy 正常接管;secret canary;[E11] | | O39 | Outlook Graph 外掛 | P1/必做驗收 | 讀信→categories preview/apply/verify;寄信另授權 | 驗證架構不只 Gmail 特判 | 個人/工作帳號對應 scopes;[E12–E14] | | O40 | Outlook 批次/增量同步 | P1/P2 | Graph 20 子請求/逐項狀態;需要時 folder delta | 減少網路回合及每次全信箱掃描 | 429/Retry-After/分頁/ImmutableId;[E15–E18] | ### F. 正確性、紀錄與可維護性 | ID | 項目 | 優先級 | 具體改動 | 要改善的問題 | 驗收/限制 | |---|---|---|---|---|---| | O41 | operation journal/outbox | P0/P1 | 副作用前記 intent;斷線 durable 補送與去重 | 避免掉紀錄與重做工作 | journal 故障不開始 mutation | | O42 | 活動紀錄串流而非桌面演出 | P1/必做 | 工具與 job 的結構化事件、實際耗時/結果 | 人可追查、不逼每步打字 | noVNC 關閉仍可看進度 | | O43 | artifact 存 Computer+脫敏 | P1/必做 | 全文输出在 Computer,API 存摘要/reference,限量保留 | 避免 DB/context 被圖片/日誌塞滿 | secret/大檔/retention/串流授權測試 | | O44 | Task 驗證與郵件分類品質 | P1/必做 | API 200 不等於任務完成;測 precision/coverage/abstention | 速度與正確性一起看 | read-back/真實 fixture、失敗也計入 | | O45 | 衝突與冪等/未知效果 | P1/必做 | 同 operation 不重做;same-file CAS;未知 API 先回讀 | 降低重送/覆蓋/重複外部副作用 | 不假稱通用 exactly-once/無損 undo | | O46 | 部件健康與版本相容矩陣 | P1/P2 | Runner/display/Cua/browser/plugin 個別 probe/recover | 失敗不用重啟整台 Computer | 不影響其他成員;pin 上游版本 | | O47 | 已驗證 skill/流程重用 | P2/後續 | 將常用流程保存語意步驟與 checks,環境變更可失效 | 降低每次從零探索 | 不保存密碼/舊座標;profile/版本變更重驗 | | O48 | 端到端+viewer 雙 benchmark | P1/必做 | 分模型、工具、snapshot、queue、viewer,固定環境兩模式 | 找真瓶頸,不憑工具名字換底層 | 成功率/median/P95/CPU/RAM/可讀性;一項一改 |