lazyBoy/docs/plan/LAZYBOY_OPTIMIZATION_CHECKL...

87 lines
11 KiB
Markdown
Raw Normal View History

2026-09-10 14:42:17 +00:00
# LazyBoy V348 項優化與採用判斷
本清單是 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 路徑;[R2R4] |
| O04 | 持續 jobs 與 PTY | P1必做 | 短命令直接返回,長作業由 Runner 管理、事件通知/真取消 | 不請 LLM 反覆看是否做完 | API 重啟可追 jobprocess-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 次之,必要時視覺 | 避免 GmailOutlook 走慢 UI | route rationale權限拒絕不繞過 |
| O10 | 工具 schema 按需載入 | P1必做 | 僅帶此 run 可用能力版本grant cache | 縮短 context、避免選錯工具 | revoke 後立即失效;記 schema tokens |
| O11 | 簡單任務不加 planner | P1必做 | 用既有一輪決策,複雜任務才 TaskPlan | 避免多 agentplanner 套娃 | 記模型回合、TTFT、正確完成 |
| O12 | 條件等待 | P1必做 | wait_untiljob 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 | 可能減少顯示匯出層與維護負擔 | Cuaa11y中文字多 displayCPU/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→同 Computerprivate 排他;不強制遷移 | 符合產品且避免破壞資料 | assignment/member/slot/重建測試 |
| O26 | 按 display檔案account 鎖 | P1必做 | 同資源排他、不同 display 與受控 job 並行 | 避免共用主機整機串行 | Cua/DOM/human 同鎖canonical shared key |
| O27 | scope-aware pause | P1必做 | 接管 A、接管 display、暫停整機分開 | B 不被 A 的無關操作凍結 | 真 barrierfencingHTTP unknown 誠實顯示 |
| O28 | 共享 lifecyclesingle-flight | P1必做 | 啟動、刪除、idle reaper 看全部 member/jobs | 避免重複建立與誤停他人工作 | member refcount、job/viewer 活性聚合 |
| O29 | 程式共享與帳號授權分離 | P0必做 | 共享唯讀 packageper-agent runtime/bindings/grants | 省重複安裝、不共享私人帳號 | 未知程式不能靠 annotations 保證安全 |
| O30 | 公平排程與總配額 | P1必做 | 每 agentComputer 的 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 | OAuthtoken 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[E12E14] |
| O40 | Outlook 批次/增量同步 | P1/P2 | Graph 20 子請求/逐項狀態;需要時 folder delta | 減少網路回合及每次全信箱掃描 | 429/Retry-After/分頁/ImmutableId[E15E18] |
### F. 正確性、紀錄與可維護性
| ID | 項目 | 優先級 | 具體改動 | 要改善的問題 | 驗收/限制 |
|---|---|---|---|---|---|
| O41 | operation journal/outbox | P0/P1 | 副作用前記 intent斷線 durable 補送與去重 | 避免掉紀錄與重做工作 | journal 故障不開始 mutation |
| O42 | 活動紀錄串流而非桌面演出 | P1必做 | 工具與 job 的結構化事件、實際耗時/結果 | 人可追查、不逼每步打字 | noVNC 關閉仍可看進度 |
| O43 | artifact 存 Computer脫敏 | P1必做 | 全文输出在 ComputerAPI 存摘要/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/可讀性;一項一改 |