baa-conductor

git clone 

im_wower  ·  2026-03-30

HANDOFF.md

  1# Handoff — 2026-03-30
  2
  3## 当前基线
  4
  5- 主分支:`main@96f5a82`
  6- 仓库:`/Users/george/code/baa-conductor`
  7- conductor 已重启,新代码已加载
  8- 看门狗 launchd 已卸载(暂停状态),V2 方案待实现
  9
 10## 本轮完成的事
 11
 12### 三家 AI BAA 闭环接入(冲刺主线)
 13
 14| 提交 | 内容 |
 15|------|------|
 16| `eed061c` | T-S049:ChatGPT/Gemini policy 白名单 + router 路由 + local-api 端点 |
 17| `98db481` | BUG-026:artifact repo root fallback 修复 |
 18| `7c8558f` | OPT-002:executor 超时保护(合并冲突已解决:withRouteTimeout + multi-platform) |
 19| `f4a1c8d` | 看门狗日志增强:a11y_msg.sh 操作日志 + watchdog.sh 每次检查记录完整状态 |
 20| `8a33fa2` | 看门狗 v4:renewed 状态超时重试 |
 21| `9869d57` | 看门狗基础:心跳文件 + 定时唤醒 + 兜底上限 + 进度文件 |
 22| `8a2524a` | A11Y GUI 控制方案文档 |
 23| `c42fb56` | 今晚冲刺计划文档 |
 24| `96f5a82` | Watchdog V2 conductor 集成方案 |
 25
 26### A11Y GUI 控制 — 无障碍树验证
 27
 28发现并验证了第三条 AI GUI 控制路径:Accessibility Tree。
 29
 30- CDP 无障碍树(容器内 Playwright):验证 example.com、HN
 31- macOS AXUIElement(conductor → AppleScript → System Events):Chrome 49 元素、Terminal 读 shell 内容、Safari 125 元素
 32- Safari 操作 ChatGPT 完整闭环:打开 → 填消息 → 点发送 → 读回复
 33- 跨 AI 聊天:Claude → Safari → ChatGPT 多轮对话
 34- 控制 Codex:剪贴板粘贴 → 回车 → Codex 执行 git 操作
 35- 方案文档:`plans/A11Y_GUI_CONTROL.md`
 36
 37### 看门狗机制
 38
 39- V1(当前):`tools/watchdog/` 目录,bash 脚本 + 心跳文件 + launchd 管理
 40  - 状态机:working / waiting / renewed / paused / done
 41  - 三层唤醒:定时 wake_at + 空闲 timeout + 兜底 max_wake_at
 42  - 问题:依赖 Claude 手动设状态,经常忘记
 43- V2(待实现):`plans/WATCHDOG_V2_CONDUCTOR_INTEGRATED.md`
 44  - conductor 拦截 SSE final-message 后自动续命
 45  - 零手动管理
 46
 47### OpenResty 超时修复
 48
 49- VPS(100.68.201.85:2222)`common-proxy.conf`
 50- `proxy_read_timeout` 60s → 120s
 51- `proxy_send_timeout` 60s → 120s
 52
 53### Terminal 设置
 54
 55- `shellExitAction` 改为 0(shell 退出后关窗口)——但已有窗口需重启 Terminal 生效
 56
 57## 端点验证结果
 58
 59| 端点 | 状态 |
 60|------|------|
 61| `/v1/browser/chatgpt/current` | HTTP 200 ✅ |
 62| `/v1/browser/gemini/current` | HTTP 200 ✅ |
 63| `/v1/browser/claude/current` | HTTP 502(Firefox 插件没有 Claude 凭证快照,非端点问题) |
 64
 65## 待清理
 66
 67### 残留 worktree
 68
 69```
 70/Users/george/code/baa-conductor-code-file-serving        [feat/code-file-serving]
 71/Users/george/code/baa-conductor-gemini-delivery-adapter  [feat/gemini-delivery-adapter]
 72```
 73
 74这两个是更早任务的 worktree,已合入 main,可以清理:
 75```bash
 76git worktree remove ../baa-conductor-code-file-serving
 77git worktree remove ../baa-conductor-gemini-delivery-adapter
 78```
 79
 80### 残留远程分支
 81
 82已合入 main 的分支可清理:
 83- `origin/feat/browser-chatgpt-gemini-targets`
 84- `origin/feat/watchdog-logging`
 85- `origin/fix/bug-026`
 86- `origin/fix/opt-002`
 87- `origin/feat/code-file-serving`
 88- `origin/feat/gemini-delivery-adapter`
 89
 90### 残留 Terminal 窗口
 91
 92当前有 5 个 Terminal 窗口(含已完成任务的 Codex),应关闭非活跃的。
 93
 94## 下一步
 95
 96### 优先
 97
 981. **三家 AI 浏览器端到端验证**:在 Safari 各标签页实际发 baa 指令测试闭环
 992. **Watchdog V2 开发**:conductor 集成,方案已写(`plans/WATCHDOG_V2_CONDUCTOR_INTEGRATED.md`)
100
101### 后续
102
1033. OPT-003:policy 白名单配置化
1044. OPT-004:Claude final-message SSE fallback
1055. OPT-005:normalize/parse 错误隔离
1066. BUG-027:startup plugin diagnostic events lost before ws open
1077. Conductor UI 模块(`plans/CONDUCTOR_UI_MODULE_REQUIREMENTS.md`)
1088. A11Y 端点 Phase 1(`plans/A11Y_GUI_CONTROL.md`)
109
110## 连接信息
111
112- conductor 公网:`https://conductor.makefile.so`
113- conductor 内网:`http://100.71.210.78:4317`
114- TOKEN:`2c4d0a0d9141f1cc6dac4dd3734a24b4fece9e5be539944b5fc451be011c0e6a`
115- VPS:Tailscale `100.68.201.85`,SSH port 2222
116- mini Tailscale:`100.71.210.78`
117- MBP Tailscale:`100.112.239.13`