Parent roadmap: #15
What
将 Flowix 的 Codex 会话管理迁移到 App Server 的 Thread/Turn 生命周期,支持创建、列出、读取、恢复、分叉会话,以及开始、steer 和中断正在运行的 Turn。
Why
当前 Flowix 通过本地占位 thread ID、外部 session 映射和直接扫描 ~/.codex/sessions 维持会话。该方式依赖 Codex 私有文件格式,也无法在同一 Turn 运行中补充用户要求。
Implementation
- 接入
thread/start, thread/list, thread/read, thread/resume, thread/fork。
- 接入
turn/start, turn/steer, turn/interrupt 和完成/失败通知。
- 将 Flowix
AgentConversationInstance 与 Codex thread ID 建立稳定的一对一映射。
- 在
turn/start 中传递 cwd、模型、推理强度、sandbox/approval policy 和附加工作目录。
- 支持应用重启后恢复 Thread 和当前状态;无法恢复的本地占位 thread 要给出可操作错误。
- App Server 模式使用官方 Thread API 加载历史,不读取
~/.codex/history.jsonl 或 ~/.codex/sessions。
- 兼容期内保留现有历史解析和
codex exec runtime,仅用于 fallback。
- 为 Thread/Turn 增加明确的 Tauri commands/events 和前端状态类型。
Acceptance criteria
- 用户可以在 Flowix 中创建、恢复、分叉和继续 Codex 会话。
- 活跃 Turn 可以通过
turn/steer 接收补充要求,并通过 turn/interrupt 停止。
- 重启 Flowix 后仍能从 App Server 获取会话和历史。
- App Server 模式不访问 Codex 私有 session/history 文件。
- 一个 Flowix conversation 不会错误绑定多个 Codex threads。
- fallback 模式行为与当前版本一致。
- 覆盖新建、恢复、分叉、steer、中断、重启恢复和映射冲突测试。
Dependencies
Non-goals
- 不实现完整结构化 Item UI。
- 不实现审批卡片、账户配置或 Flowix MCP Server。
- 本阶段不删除 fallback runtime 和私有历史解析代码。
Parent roadmap: #15
What
将 Flowix 的 Codex 会话管理迁移到 App Server 的 Thread/Turn 生命周期,支持创建、列出、读取、恢复、分叉会话,以及开始、steer 和中断正在运行的 Turn。
Why
当前 Flowix 通过本地占位 thread ID、外部 session 映射和直接扫描
~/.codex/sessions维持会话。该方式依赖 Codex 私有文件格式,也无法在同一 Turn 运行中补充用户要求。Implementation
thread/start,thread/list,thread/read,thread/resume,thread/fork。turn/start,turn/steer,turn/interrupt和完成/失败通知。AgentConversationInstance与 Codex thread ID 建立稳定的一对一映射。turn/start中传递 cwd、模型、推理强度、sandbox/approval policy 和附加工作目录。~/.codex/history.jsonl或~/.codex/sessions。codex execruntime,仅用于 fallback。Acceptance criteria
turn/steer接收补充要求,并通过turn/interrupt停止。Dependencies
Non-goals