4.7 KiB
4.7 KiB
Phase 4: GSD Integration - Context
Gathered: 2026-03-11 Status: Ready for planning
## Phase Boundary完成 GSD 命令全覆盖 — 确保所有 34 个 GSD slash 命令都能通过桥接正常工作,实现 BRDG-06 要求。这个阶段填补编排层(Phase 3)与 100% 命令覆盖之间的差距,同时完善项目上下文追踪和工作流连续性支持。
## Implementation Decisions命令清单处理策略
- 处理模式: 关键命令特殊处理,其余泛型透传
- 关键命令定义:
/gsd:new-project和/gsd:use需要 orchestrator 特殊逻辑 - 泛型命令: 其他 32 个命令统一通过 tmux 透传 + 卡片格式化
关键命令特殊处理
/gsd:new-project
- 预创建会话: orchestrator 检测命令后,先调用 TmuxSessionManager 创建会话和工作空间
- 命令透传: 会话创建后,透传命令到 tmux 让 GSD 初始化项目结构
- 工作空间路径:
~/gsd-workspaces/{project}/
/gsd:use
- 上下文追踪: OpenClaw 在用户级别追踪当前项目(存入独立用户状态文件)
- 后续命令路由: 后续命令根据追踪的上下文选择目标 tmux 会话
- 项目不存在处理: 检查项目是否存在,不存在则返回错误卡片 + 「创建新项目」按钮
项目上下文追踪
存储设计
- 位置:
~/gsd-workspaces/.users/{user_id}/context.json - 格式: JSON,原子写入(与 Phase 1 state.json 一致)
追踪数据
- 当前项目: 用户当前正在操作的项目名
- 最近项目列表: 最近使用的项目(保留最近 5 个)
- 最后活跃时间: 用户上次活动时间戳
- 用户偏好: 可选的个性化设置(默认超时、输出格式等)
多用户场景
- 隔离策略: 完全隔离 — 每个用户独立的 tmux 会话和工作空间
- 用户识别: 通过 OpenClaw 的 user_id 区分
频道支持
- Phase 4 范围: 仅飞书
- 其他频道: 微信、Telegram、Discord 延后到 v2
工作流连续性
上下文保持
- 机制: tmux 持久会话
- Claude CLI 上下文: 自然保持在 tmux 会话中
- 用户重连: 直接重连到现有 tmux 会话
中途掉线恢复
- 责任归属: GSD 处理恢复(通过 STATE.md 追踪)
- OpenClaw 角色: 只负责重新连接到 tmux 会话
长命令超时
- 普通命令: 60 秒超时(Phase 3 已定义)
- 长命令: 无超时,依赖 GSD 自己的完成信号
- 长命令列表:
execute-phase,plan-phase,discuss-phase,new-project - 进度更新: 使用 Phase 3 的 ProgressMonitor 机制
Claude's Discretion
- 用户偏好的具体字段名和默认值
- 长命令检测的具体逻辑(命令名匹配 vs 运行时检测)
- 最近项目列表的保留数量(建议 5 个)
- 用户状态文件路径与 Phase 1 的 state.json 保持一致的原子写入模式
- 「创建新项目」按钮样式与 Phase 2 的卡片按钮一致
- 长命令识别通过命令名前缀匹配(execute-, plan-, discuss-, new-project)
<code_context>
Existing Code Insights
Reusable Assets
- Phase 1 TmuxSessionManager: 会话创建、恢复、销毁 —
/gsd:new-project预创建会话的基础 - Phase 1 StateManager: JSON 状态管理模式 — 用户上下文存储可直接复用原子写入模式
- Phase 1 WorkspaceManager: 工作空间目录创建 —
/gsd:new-project需要调用 - Phase 2 FeishuResponseFormatter: 卡片格式化 — format_success/format_error/format_info
- Phase 3 Orchestrator: 命令路由框架 — 需要扩展添加特殊命令处理分支
- Phase 3 ApprovalHandler: 按钮回调处理 — 「创建新项目」按钮可复用此机制
- Phase 3 ProgressMonitor: 进度更新 — 长命令的进度反馈
Established Patterns
- 状态持久化: JSON 格式,原子写入(tempfile + rename)
- 错误处理: 中文错误消息 + 异常类
- 卡片布局: 三区结构(标题区 + 内容区 + 操作区)
- 命名规范: gsd- 前缀统一
Integration Points
UserContextManager(新增): 用户上下文追踪,被 Orchestrator 调用Orchestrator.handle_message(): 需要扩展特殊命令处理逻辑Orchestrator.parse_command(): 已有的命令解析可复用- Phase 4 完成后,BRDG-06 需求将满足
</code_context>
## Deferred Ideas- 微信频道支持 — v2 特性
- Telegram/Discord 频道支持 — v2 特性
- 多语言支持(中文/英文切换)
- 项目共享(多用户协作同一项目)
- 命令历史记录和搜索
Phase: 04-gsd-integration Context gathered: 2026-03-11