docs(02): capture phase context

This commit is contained in:
2026-03-11 12:12:24 +08:00
parent 446dcd21c4
commit 86e6eabc1c
@@ -0,0 +1,106 @@
# Phase 2: Integration Layer - Context
**Gathered:** 2026-03-11
**Status:** Ready for planning
<domain>
## Phase Boundary
创建 OpenClaw 技能定义(SKILL.md)、频道自适应响应格式化和提示模板,使 OpenClaw 能够加载和调用技能。这是 gsd-openclaw 技能的"门面"层,定义了如何触发技能以及如何向用户呈现输出。
</domain>
<decisions>
## Implementation Decisions
### SKILL.md 触发器设计
- **触发模式**: 仅 `/gsd:*` 命令,不支持自然语言触发
- **命令匹配**: 通配符 `/gsd:*` 模式,由 orchestrator.py 验证命令有效性
- **技能描述**: 详细描述,包含功能说明和示例命令
- **项目上下文**: 显式切换项目模式(`/gsd:use <project>` 设置当前项目)
### 频道格式化策略
- **支持频道**: 仅飞书(Phase 2)
- **消息格式**: 飞书卡片消息(Card Message)
- **交互元素**:
- 交互按钮(用于审批确认、操作触发)
- 下拉选择器(用于项目选择等)
- 链接按钮(跳转到 OpenClaw 控制面板)
### 卡片布局规范
- **三区结构**:
- 标题区:命令名 + 状态图标(成功/失败/进行中)
- 内容区:GSD 输出内容
- 操作区:相关按钮(确认/取消/查看详情等)
### 长消息处理
- **处理方式**: 分页发送(超出限制时自动分割)
- **分页呈现**: 消息编号 `[1/N]` 标记在消息末尾
### 错误消息格式化
- **格式**: 错误卡片(红色警示样式)
- **内容**: 错误标题 + 详情 + 建议操作
- **项目不存在时**: 错误卡片 + 「创建新项目」按钮 + 「查看我的项目」按钮
### GSD 审批流程集成
- **审批方式**: 飞书按钮交互
- **流程**: GSD 请求确认时,发送带「确认」/「取消」按钮的卡片,用户点击即完成审批
### Prompt 模板设计
- **模板类型**:
- `context_recovery.md`: 上下文恢复(会话中断后恢复)
- `command_mapping.md`: 命令映射(用户输入解析)
- `error_recovery.md`: 错误处理(生成用户友好的错误消息)
- **模板格式**: Markdown 模板,变量用 `{{variable}}` 标记
### Claude's Discretion
- 单条消息的精确字符限制(根据飞书 API 文档)
- 代码块在卡片中的渲染方式
- 卡片的颜色主题和图标选择
- 分页时的断点位置(避免截断代码块或表格)
</decisions>
<specifics>
## Specific Ideas
- 卡片设计参考飞书官方的机器人消息样式
- 错误卡片使用红色主题,成功卡片使用绿色主题
- 按钮文案保持简洁(2-4 个中文字符)
</specifics>
<code_context>
## Existing Code Insights
### Reusable Assets
- **Phase 1 state_manager.py**: 可用于获取用户的项目列表(显示在「查看我的项目」时)
- **Phase 1 tmux_session.py**: 提供会话状态(可用于判断当前项目上下文)
- **Phase 1 cli.py**: 命令解析模式可参考
### Established Patterns
- **状态持久化**: JSON 格式,原子写入
- **错误处理**: 中文错误消息 + 异常类
- **命名规范**: gsd- 前缀统一
### Integration Points
- 本 phase 产出的 `response_formatter.py` 将被 Phase 3 的 `orchestrator.py` 调用
- `SKILL.md` 定义了 OpenClaw 加载技能的入口
- `prompts/` 目录的模板将被 Phase 3/4 的命令处理逻辑使用
</code_context>
<deferred>
## Deferred Ideas
- 微信频道支持(Phase 3 或后续)
- Telegram/Discord 频道支持(Phase 3 或后续)
- 多语言支持(中文/英文切换)
- 卡片主题自定义
</deferred>
---
*Phase: 02-integration-layer*
*Context gathered: 2026-03-11*