- commit
- 4663817
- parent
- 6a3d654
- author
- im_wower
- date
- 2026-03-29 21:02:59 +0800 CST
docs: add handoff and update progress for 2026-03-29 19 tasks completed, 3 remaining (T-S048, T-S049, T-S051) 2 pending manual verification (T-BUG-029, T-BUG-031) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 files changed,
+84,
-0
+84,
-0
1@@ -0,0 +1,84 @@
2+# Handoff — 2026-03-29
3+
4+## 当前基线
5+
6+- 主分支:`main@6a3d654`
7+- 仓库:`/Users/george/code/baa-conductor`
8+- 工作区:干净,无未提交改动,无 worktree,无未合并分支
9+
10+## 本轮完成的事
11+
12+### Artifact 静态服务(主线,全部完成)
13+
14+- 新建 artifact-db 包:SQLite 持久化 messages / executions / sessions
15+- 静态文件生成:`.txt`(frontmatter)+ `.json`,conductor HTTP serve `/artifact/`
16+- 接入主链路:browser.final_message → 写库 + 生成文件;executor → 写库 + 生成文件
17+- 回送截断:> 2000 字符截取前 500 + exact URL(阈值可配置)
18+- 查询路由:`/v1/messages`、`/v1/executions`、`/v1/sessions`、`/v1/sessions/latest`
19+- 跨会话接续:`/describe` 回复含 `recent_sessions_url`
20+- D1 异步同步:本地 SQLite → sync queue → Cloudflare D1(新库 `baa-conductor-artifact`)
21+- stagit:git 仓库静态 HTML,`/artifact/repo/baa-conductor/log.html`
22+- robots.txt:`Allow: /artifact/`
23+
24+### Claude Code CLI 双工接入
25+
26+- `apps/claude-coded/`:spawn `claude -p --input-format stream-json --output-format stream-json`
27+- stdio 双工通信,HTTP API 封装,launchd 配置
28+
29+### 插件增强
30+
31+- 诊断日志:controller / content-script / page-interceptor 加 `[BAA]` 日志
32+- 日志 WS 转发:插件 → conductor → `logs/baa-plugin/YYYY-MM-DD.jsonl`
33+- ingest 日志:conductor 收到 final_message 写 `logs/baa-ingest/YYYY-MM-DD.jsonl`
34+- baa 代码块属性兼容:`` ```baa id="xxx" `` 格式可识别
35+- ChatGPT SSE abort 修复:主流被中断时从已有 chunks 提取 candidate
36+- isRelevantStreamUrl 收紧:排除 ChatGPT 辅助流
37+- 插件重载自动刷新页面:延迟 2.5s 刷新已打开的 AI 页面
38+
39+### Bug 修复
40+
41+- files/read kind 标记:`"write"` → `"read"`
42+- conductor-daemon 测试 localApiBase undefined
43+- SQL 注入白名单、D1 schema 外键、daemon.stop() await、transport 监听器清理
44+- sessions 查询补 conversation_id 过滤、ask 超时竞争
45+
46+## 待手动验收
47+
48+重载插件后在 Firefox 中验证:
49+
50+1. **T-BUG-031**:重载插件后 AI 页面是否自动刷新,BAA 浮层恢复正常
51+2. **T-BUG-029**:ChatGPT 发 baa 指令后,conductor 能否提取并执行,结果回送
52+
53+## 待开始的任务
54+
55+### T-S048 Gemini 投递适配器(M 级)
56+
57+- 在 `delivery-adapters.js` 补 Gemini 的 DOM 选择器
58+- 需要在 Gemini 页面 DevTools 观察 DOM 结构
59+- 提示词:`读 /Users/george/code/baa-conductor/tasks/T-S048.md 任务文档,完成开发任务。`
60+
61+### T-S051 代码文件直读映射(S 级)
62+
63+- conductor `/code/` 路由直接 serve 磁盘代码文件
64+- 安全限制:排除 .env / .credentials / .git/objects,防目录遍历
65+- 与 T-S048 可并行
66+- 提示词:`读 /Users/george/code/baa-conductor/tasks/T-S051.md 任务文档,完成开发任务。`
67+
68+### T-S049 开放 chatgpt/gemini target(S 级)
69+
70+- policy 白名单 + router 路由 + local-api 端点
71+- 依赖 T-S048(Gemini 适配器)
72+- 提示词:`读 /Users/george/code/baa-conductor/tasks/T-S049.md 任务文档,完成开发任务。`
73+
74+## 未建任务但已写入需求文档的
75+
76+见 `plans/NEXT_WAVE_REQUIREMENTS.md`:
77+
78+- **#10 历史消息回补**:参考旧版 sync-worker,在 conductor 内部定时拉取平台对话历史
79+- **#11 拦截消息完成推送**:比 SSE 解析更可靠的完成检测,依赖诊断日志观察
80+
81+## 注意事项
82+
83+- 每个任务强制使用独立 worktree + 新分支,只推不合,合并由合并者执行
84+- 合并后需要 `pnpm build` + `launchctl kickstart -k gui/$(id -u)/so.makefile.baa-conductor` 才能生效
85+- 插件改动需要在 Firefox `about:debugging` 重新载入插件