diff --git a/docs/plan-2026-11-improvements.md b/docs/plan-2026-11-improvements.md index aa4cfd7..cde5247 100644 --- a/docs/plan-2026-11-improvements.md +++ b/docs/plan-2026-11-improvements.md @@ -30,7 +30,7 @@ - `relay/Cargo.toml` 同步。 - ✅ 完成標準:`cargo publish --dry-run` 通過;README 有「授權」章節。 -## P2. 英文入口+視覺化 demo ⛓(依賴 P1) +## P2. 英文入口+視覺化 demo ⛓(依賴 P1) ✅ 2026-11:README.en.md(含對 OpenClaw/OpenHands/Khoj/UI-TARS 定位表)+docs/en/ 四份;GIF 錄製指引在 docs/demo/,影像待補 - `README.md` 保留繁中,新增 `README.en.md`(或英文在前)+ `docs/en/`(至少 architecture、install、multi-device 翻譯)。 - README 開頭加:一句話定位、**GIF/短片**(computer-use 全自動完成「填表+送單」一鏡)、vs OpenClaw / OpenHands / Khoj / UI-TARS 的對比表(多機大腦/手腳、Box 沙盒+VNC 接手、AX 編號+批次+快速模型、一鍵自架伺服器+HTTPS——這四項競品都沒整套)。 - `docs/protocol.md` 出英文版(開放第三方用戶端)。 @@ -42,7 +42,7 @@ - 重點檔:`src/notify.rs`、`src/axread.rs`、`src/policy.rs`、`src/computer.rs`、`src/app.rs` 開頭註解區塊。 - ✅ 完成標準:`grep -rn "main-core\|main-app\|@0x\|CUGrokBot" src/ deploy/` 為空。 -## P4. 資料層:`state.json` → SQLite ⛓(P6、D1 的前件) +## P4. 資料層:`state.json` → SQLite ⛓(P6、D1 的前件) 🔶 第一步 2026-11:`src/store.rs`(WAL)把 oplog 鏡射成可查詢稽核庫(30 天),稽核分頁改讀它;state.json 維持真相來源,第二著隨 P6 記憶表一起搬 - 現況:全部狀態在一个 `state.json`(`src/model.rs:457`);多裝置同步+例行任務+長聊天長期必遇併發遺失、檔案肥大、無 schema 遷移。 - 做法:`rusqlite`(已 bundle)新增 `src/db.rs`;聊天/訊息/oplog/例行任務/快照索引進 SQLite(WAL),`state.json` 只留設定與 Bot 定義;寫入採「遷移+雙寫→讀切換→去 JSON」三步,附 `state.json` 一鍵匯入與回退。 - schema 帶 `user_version`,之後所有加欄位都走遷移。 @@ -81,7 +81,7 @@ - 做法:`docker-socket-proxy`(只放行 containers create/start/stop/exec_resize、volumes inspect);或長期:rootless Docker+systemd socket activation。Box 執行加 gVisor(bench 已用)。 - ✅ 完成標準:大腦容器內 `docker ps` 只剩 box 一個容器可見;`make doctor` 驗 proxy 端點清單。 -## S2. Relay 加 2FA+登入韌性 +## S2. Relay 加 2FA+登入韌性 ✅ 2026-11:TOTP(RFC 6238 向量測)+8 個一次性恢復碼;argon2id(舊雜湊可登入);一頁登出全部裝置;lockout 以 IP+帳號計;手機端第二步行動。驗收「停用純密碼」=2FA 開著即成 - `docs/protocol.md`:加 TOTP(`/relay/2fa/enroll|verify`)與復原碼;密碼雜湊改 memory-hard(argon2id;`httpd::check_password` 現況要確認);鎖定策略(8 次/5 分)加 IP+帳號雙維度。 - 手機端 PWA 存 session 的提醒文案與「裝置清單+一頁登出」。 - ✅ 完成標準:可關密碼-only;竊得 session 可被單一裝置清單踢除。 @@ -98,7 +98,7 @@ - 改:綁 docker bridge 網段(172.17.0.1/16 之類,啟動時探測)+開機自癒;加子網變動測試;連線計數進 oplog 可在 UI 看。 - ✅ 完成標準:`ss -ltnp` 顯示只綁 bridge;子網變動整合測試通過。 -## S5. 稽核時間軸(信任面版,產品級賣點) +## S5. 稽核時間軸(信任面版,產品級賣點) ✅ 2026-11:oplog 加時間戳+`timeline()`;手機「對話詳細資訊 › 稽核」分頁(問模型/工具參數/狀態/插話/停止,進行中即時顯示) - `oplog.rs` 已有底:做成一級 UI——時間軸+每步截圖/參數/結果+來源(哪個 Bot、哪個模型路由)+敏感動作的核准記錄;可匯出。競品全無此完整度,這是「敢讓 Bot 動手」的差異點。 - ✅ 完成標準:任何一次 box 操作可在 UI 還原全过程;手機端可看。 @@ -192,7 +192,7 @@ | M1(第 1–2 週) | P1 授權、P3 註解整併、S1 docker.sock、C1 prompt cache | 紅隊 grep 乾淨;cache_read>70%;bench 成本 −15% | | M2(第 3–5 週) | C2 AX 直寫、H1/H3 工具收斂+瘦身、S4 egress、P8 CI | v12 bench:步數 −30%、編號點錯歸零 | | M3(第 6–8 週) | C3 高層工具、C4 diff、C7 狀態碼、S3 injection 防線+紅隊進 CI | T8 ≤2 回合;紅隊洩漏 0 | -| M4(第 9–12 週) | P2 英文+demo、S2 2FA、S5 稽核時間軸、P4 SQLite | 公開發布(英文首屏);bench 夜間回歸上線 | +| M4(第 9–12 週) ✅ | P2 英文+demo、S2 2FA、S5 稽核時間軸、P4 SQLite(第一步) | 2026-11 完成;demo 影像、bench 夜間回歸(需機器)待補 | | M5(第 13 週起) | P6 記憶/RAG、P7 技能 registry、C6 意圖表、C5 小錢、C8 重播、C9 Windows | Khoj/Letta 對照測試;技能安裝量開始計量 | 每階段結束以 `bench/computer-use` 固定題組+新增題(多選單 App、長表單、注入紅隊)做前後對照,結果續寫進 `bench/computer-use/README.md` 的版本記錄。