im_wower
·
2026-04-01
T-S067.md
1# Task T-S067:Gemini 正式接入 raw relay 支持面
2
3## 状态
4
5- 当前状态:`待开始`
6- 规模预估:`M`
7- 依赖任务:无
8- 建议执行者:`Codex`
9
10## 直接给对话的提示词
11
12读 `/Users/george/code/baa-conductor/tasks/T-S067.md` 任务文档,完成开发任务。
13
14如需补背景,再读:
15
16- `/Users/george/code/baa-conductor/plans/BAA_INSTRUCTION_SYSTEM.md`
17- `/Users/george/code/baa-conductor/plans/BAA_INSTRUCTION_ROADMAP.md`
18- `/Users/george/code/baa-conductor/plugins/baa-firefox/README.md`
19
20## 当前基线
21
22- 仓库:`/Users/george/code/baa-conductor`
23- 分支基线:`main`
24
25## 分支与 worktree(强制)
26
27- 分支名:`feat/gemini-raw-relay`
28- worktree 路径:`/Users/george/code/baa-conductor-gemini-raw-relay`
29
30开工步骤:
31
321. `cd /Users/george/code/baa-conductor`
332. `git worktree add ../baa-conductor-gemini-raw-relay -b feat/gemini-raw-relay main`
343. `cd ../baa-conductor-gemini-raw-relay`
35
36## 风险描述
37
38Gemini 当前不是 `/v1/browser/request` 的正式 raw relay 支持面。`@browser.gemini` 走 helper/proxy 混合路径,仍需依赖最近观测到的真实请求上下文。当插件刚启动或长时间未捕获到 Gemini 真实请求时,delivery 可能静默失败或退回不稳定路径。
39
40## 目标
41
42将 Gemini 提升为与 ChatGPT/Claude 同等的正式 raw relay 支持面,使 `@browser.gemini` 能稳定通过 `browser.proxy_delivery` 直接派发请求。
43
44## 范围
45
46- 分析 Gemini SSE/HTTP 请求结构,确定可稳定复用的请求模板
47- 在插件侧为 Gemini 实现与 ChatGPT 同级的请求模板捕获和缓存机制
48- 在 conductor 侧为 Gemini 补齐 raw relay 路由和模板匹配逻辑
49- 验证 Gemini 新对话、已有对话、多轮对话场景下的 proxy delivery 稳定性
50
51## 路径约束
52
53- 不改变现有 ChatGPT/Claude 的 delivery 路径
54- Gemini 的请求结构特殊(`f.req` 编码),需要在插件侧做好模板提取
55- 如果 Gemini 的请求结构不适合做完整 raw relay,也可以选择强化 helper 路径的稳定性,但需要在文档中说明取舍
56
57## 需要特别注意
58
59- Gemini 的请求格式是 URL-encoded form data,不是 JSON,模板化难度比 ChatGPT 大
60- Gemini 的 conversation_id 提取已经在 `final-message.js` 里实现,可以复用
61- 需要处理 Gemini "shell page" 和 "app page" 的区别
62- `BUG-028`(Gemini shell final-message)已经修复,相关经验可参考
63
64## 验收标准
65
66- `@browser.gemini` 的 baa 指令能通过 `browser.proxy_delivery` 稳定执行
67- 插件刚启动后第一条 Gemini delivery 不需要等待"捕获真实请求"
68- Gemini 新对话和已有对话都能正确 proxy
69- 不影响现有 ChatGPT/Claude 路径
70
71## 执行记录
72
73> 以下内容由执行任务的 AI 填写,创建任务时留空。
74
75### 开始执行
76
77- 执行者:
78- 开始时间:
79- 状态变更:`待开始` → `进行中`
80
81### 完成摘要
82
83- 完成时间:
84- 状态变更:`进行中` → `已完成`
85- 修改了哪些文件:
86- 核心实现思路:
87- 跑了哪些测试:
88
89### 执行过程中遇到的问题
90
91-
92
93### 剩余风险
94
95-