From 86e6eabc1c52cfe02f57e22977033231825d5f69 Mon Sep 17 00:00:00 2001 From: starmen1265 Date: Wed, 11 Mar 2026 12:12:24 +0800 Subject: [PATCH] docs(02): capture phase context --- .../phases/02-integration-layer/02-CONTEXT.md | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 gsd-openclaw/.planning/phases/02-integration-layer/02-CONTEXT.md diff --git a/gsd-openclaw/.planning/phases/02-integration-layer/02-CONTEXT.md b/gsd-openclaw/.planning/phases/02-integration-layer/02-CONTEXT.md new file mode 100644 index 0000000..e452edf --- /dev/null +++ b/gsd-openclaw/.planning/phases/02-integration-layer/02-CONTEXT.md @@ -0,0 +1,106 @@ +# Phase 2: Integration Layer - Context + +**Gathered:** 2026-03-11 +**Status:** Ready for planning + + +## Phase Boundary + +创建 OpenClaw 技能定义(SKILL.md)、频道自适应响应格式化和提示模板,使 OpenClaw 能够加载和调用技能。这是 gsd-openclaw 技能的"门面"层,定义了如何触发技能以及如何向用户呈现输出。 + + + + +## Implementation Decisions + +### SKILL.md 触发器设计 +- **触发模式**: 仅 `/gsd:*` 命令,不支持自然语言触发 +- **命令匹配**: 通配符 `/gsd:*` 模式,由 orchestrator.py 验证命令有效性 +- **技能描述**: 详细描述,包含功能说明和示例命令 +- **项目上下文**: 显式切换项目模式(`/gsd:use ` 设置当前项目) + +### 频道格式化策略 +- **支持频道**: 仅飞书(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 文档) +- 代码块在卡片中的渲染方式 +- 卡片的颜色主题和图标选择 +- 分页时的断点位置(避免截断代码块或表格) + + + + +## Specific Ideas + +- 卡片设计参考飞书官方的机器人消息样式 +- 错误卡片使用红色主题,成功卡片使用绿色主题 +- 按钮文案保持简洁(2-4 个中文字符) + + + + +## 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 的命令处理逻辑使用 + + + + +## Deferred Ideas + +- 微信频道支持(Phase 3 或后续) +- Telegram/Discord 频道支持(Phase 3 或后续) +- 多语言支持(中文/英文切换) +- 卡片主题自定义 + + + +--- + +*Phase: 02-integration-layer* +*Context gathered: 2026-03-11*