a8ac23f699
完成项目: ✅ 文档: 设计、快速参考、示例工作流 ✅ 项目结构: 三个项目目录 + CLAUDE.md ✅ 角色 Skills: architect-role, backend-dev, frontend-dev ✅ 配置脚本: tmux, 启动, 消息队列, 测试 ✅ 环境验证: 18/18 测试通过 待用户操作: - 启动 tmux 环境 - 在各 pane 启动 Claude Code - 测试 SendMessage 协作 - (可选) 启动 ttyd Web 访问 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1097 lines
31 KiB
Markdown
1097 lines
31 KiB
Markdown
# sanguo_moziplus_v3 设计文档 v0.4
|
|
|
|
**项目名称**: sanguo_moziplus_v3
|
|
**版本**: v0.4
|
|
**创建日期**: 2026-06-30
|
|
**状态**: Draft
|
|
**基于**: v0.3 + 三实例方案
|
|
|
|
---
|
|
|
|
## 1. 版本变更
|
|
|
|
| 版本 | 变更说明 | 日期 |
|
|
|------|---------|------|
|
|
| v0.1 | 初始设计 | 2026-06-29 |
|
|
| v0.2 | 基于 videotext 调研更新,集成 GLM-5.2、Web 访问 | 2026-06-29 |
|
|
| v0.3 | 移除 CCB,采用 Claude Code 内置多 Agent 能力 | 2026-06-30 |
|
|
| **v0.4** | **三实例方案:所有 Agent 共享 Superpowers skills** | **2026-06-30** |
|
|
|
|
### v0.4 核心变化
|
|
|
|
| 变更项 | v0.3 | v0.4 | 原因 |
|
|
|--------|------|------|------|
|
|
| **Agent 数量** | 1 个主 Agent | **3 个独立实例** | 清晰的角色隔离 |
|
|
| **实例类型** | Claude Code 主实例 | **3 个 Claude Code 实例** | 统一的技术栈 |
|
|
| **Skills 访问** | 主实例访问 | **所有实例共享 Superpowers** | 统一的能力库 |
|
|
| **角色定义** | 通过 Agent 类型 | **通过 CLAUDE.md** | 更清晰的角色隔离 |
|
|
| **协作方式** | Agent 工具调用 | **SendMessage 跨实例** | 更灵活的协作 |
|
|
|
|
---
|
|
|
|
## 2. 架构概述
|
|
|
|
### 2.1 系统架构图
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────────┐
|
|
│ tmux sanguo_dev 会话 │
|
|
│ │
|
|
│ ┌───────────────────────────────────────────────────────────────┐ │
|
|
│ │ tmux pane #0: Claude (架构师/项目经理) │ │
|
|
│ │ 项目: ~/.claude/projects/sanguo-main │ │
|
|
│ │ 配置: sanguo-main/.claude/CLAUDE.md │ │
|
|
│ │ 职责: 需求分析、架构设计、任务拆分、审查、验收 │ │
|
|
│ │ 限制: 绝对不亲自编写代码 │ │
|
|
│ └───────────────────────────────────────────────────────────────┘ │
|
|
│ │
|
|
│ ┌───────────────────────────────────────────────────────────────┐ │
|
|
│ │ tmux pane #1: Codex (后端开发) │ │
|
|
│ │ 项目: ~/.claude/projects/sanguo-backend │ │
|
|
│ │ 配置: sanguo-backend/.claude/CLAUDE.md │ │
|
|
│ │ 职责: 服务端代码、API、数据库、Migration、测试 │ │
|
|
│ │ 限制: 只处理后端任务 │ │
|
|
│ └───────────────────────────────────────────────────────────────┘ │
|
|
│ │
|
|
│ ┌───────────────────────────────────────────────────────────────┐ │
|
|
│ │ tmux pane #2: Gemini (前端开发) │ │
|
|
│ │ 项目: ~/.claude/projects/sanguo-frontend │ │
|
|
│ │ 配置: sanguo-frontend/.claude/CLAUDE.md │ │
|
|
│ │ 职责: 前端组件、页面、样式、交互逻辑、审查 │ │
|
|
│ │ 限制: 只处理前端任务 │ │
|
|
│ └───────────────────────────────────────────────────────────────┘ │
|
|
└─────────────────────────────────────────────────────────────────────┘
|
|
|
|
┌─────────────────────────────────────────────────────────────────────┐
|
|
│ Superpowers Skills (共享) │
|
|
│ 路径: ~/.claude/skills/ │
|
|
│ 所有三个实例都可以访问 │
|
|
│ │
|
|
│ ┌───────────────────────────────────────────────────────────────┐ │
|
|
│ │ • CODE-REVIEW (代码审查专业知识) │ │
|
|
│ │ • test-engineer (测试专业知识) │ │
|
|
│ │ • copywriting-base (营销文案等47个技能) │ │
|
|
│ │ • debugger (调试技能) │ │
|
|
│ │ • ... (100+ 专业技能) │ │
|
|
│ └───────────────────────────────────────────────────────────────┘ │
|
|
└─────────────────────────────────────────────────────────────────────┘
|
|
|
|
┌─────────────────────────────────────────────────────────────────────┐
|
|
│ GLM-5.2 (统一后端) │
|
|
│ 端点: https://api.z.ai/api/anthropic │
|
|
│ 所有三个实例通过同一模型执行 │
|
|
└─────────────────────────────────────────────────────────────────────┘
|
|
|
|
┌─────────────────────────────────────────────────────────────────────┐
|
|
│ Web 访问层 (ttyd) │
|
|
│ 端口: 8088 │
|
|
│ 访问: http://YOUR_LAN_IP:8088 │
|
|
│ 共享 tmux sanguo_dev 会话 │
|
|
└─────────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
### 2.2 完整链路
|
|
|
|
```
|
|
用户输入需求
|
|
↓
|
|
Claude (架构师) 接收
|
|
↓
|
|
加载 planning skill 进行规划
|
|
↓
|
|
SendMessage 指派任务:
|
|
→ backend: "实现后端 API"
|
|
→ frontend: "实现前端页面"
|
|
↓
|
|
Codex (后端) 加载 backend-dev skill
|
|
Gemini (前端) 加载 frontend-dev skill
|
|
↓
|
|
各自执行任务 (通过 GLM-5.2)
|
|
↓
|
|
SendMessage 返回结果给架构师
|
|
↓
|
|
Claude (架构师) 加载 CODE-REVIEW skill 审查
|
|
↓
|
|
Git 提交
|
|
```
|
|
|
|
---
|
|
|
|
## 3. 三实例角色定义
|
|
|
|
### 3.1 Claude — 架构师/项目经理
|
|
|
|
**项目配置**:
|
|
- 项目路径: `~/.claude/projects/sanguo-main`
|
|
- CLAUDE.md: `sanguo-main/.claude/CLAUDE.md`
|
|
|
|
**角色定义**:
|
|
```markdown
|
|
# sanguo-main/.claude/CLAUDE.md
|
|
|
|
## 角色定义
|
|
|
|
你是架构师/项目经理,负责项目的整体规划和协调。
|
|
|
|
### 核心职责
|
|
|
|
- 需求分析和理解
|
|
- 架构设计和技术选型
|
|
- 任务拆分和优先级排序
|
|
- 代码审核和质量把关
|
|
- 最终验收和 Git 提交管理
|
|
|
|
### 严格限制
|
|
|
|
**绝对不亲自编写代码**。所有编码任务必须通过 SendMessage 指派给 backend 或 frontend agent。
|
|
|
|
### 工作流程
|
|
|
|
1. 接收用户需求
|
|
2. 加载 planning skill 进行规划
|
|
3. 拆分任务为后端和前端两部分
|
|
4. 通过 SendMessage 指派任务:
|
|
- SendMessage({ to: "backend", message: "..." })
|
|
- SendMessage({ to: "frontend", message: "..." })
|
|
5. 等待 agents 返回结果
|
|
6. 加载 CODE-REVIEW skill 审查代码
|
|
7. 整合结果并提交 Git
|
|
|
|
### 协作规范
|
|
|
|
- 使用 Superpowers skills 进行:
|
|
- 规划: planning skill
|
|
- 审查: CODE-REVIEW skill
|
|
- 调试: debugger skill
|
|
- 验收: test-engineer skill
|
|
|
|
- 向 backend/frontend 指派任务时,提供:
|
|
- 清晰的任务描述
|
|
- 技术要求和约束
|
|
- 预期输出格式
|
|
- 验收标准
|
|
|
|
### 决策框架 (Linus 三问)
|
|
|
|
1. 这是现实问题还是想象问题? → 拒绝过度设计
|
|
2. 这个问题真的需要解决吗? → 拒绝伪需求
|
|
3. 这个方案真的能解决问题吗? → 拒绝自嗨
|
|
```
|
|
|
|
**Superpowers 使用**:
|
|
- `planning` — 技术方案规划
|
|
- `CODE-REVIEW` — 代码审查
|
|
- `debugger` — 问题调试
|
|
- `test-engineer` — 测试策略
|
|
|
|
---
|
|
|
|
### 3.2 Codex — 后端开发
|
|
|
|
**项目配置**:
|
|
- 项目路径: `~/.claude/projects/sanguo-backend`
|
|
- CLAUDE.md: `sanguo-backend/.claude/CLAUDE.md`
|
|
|
|
**角色定义**:
|
|
```markdown
|
|
# sanguo-backend/.claude/CLAUDE.md
|
|
|
|
## 角色定义
|
|
|
|
你是后端开发专家,专注于服务器端代码实现。
|
|
|
|
### 核心职责
|
|
|
|
- 服务端代码实现 (Node.js/Python/Go 等)
|
|
- API 设计和实现 (REST/GraphQL/gRPC)
|
|
- 数据库设计和 Migration
|
|
- 单元测试和集成测试
|
|
- 性能优化和错误处理
|
|
|
|
### 严格限制
|
|
|
|
- 只处理后端任务
|
|
- 拒绝前端相关任务 (组件、页面、样式)
|
|
- 如果收到前端任务,明确拒绝并告知转给 frontend agent
|
|
|
|
### 工作流程
|
|
|
|
1. 从架构师接收任务 (通过 SendMessage)
|
|
2. 加载 backend-dev skill 进行分析
|
|
3. 设计实现方案
|
|
4. 编写代码
|
|
5. 编写测试
|
|
6. 自测验证
|
|
7. 返回结果给架构师 (通过 SendMessage)
|
|
|
|
### 技术标准
|
|
|
|
- 代码规范: 遵循项目约定的代码风格
|
|
- API 设计: RESTful 原则,清晰的错误码
|
|
- 数据库: 规范化设计,适当的索引
|
|
- 测试: 单元测试覆盖率 > 80%
|
|
- 文档: API 文档 (OpenAPI/Swagger)
|
|
|
|
### Superpowers 使用
|
|
|
|
- `CODE-REVIEW` — 自我审查代码
|
|
- `debugger` — 调试后端问题
|
|
- `test-engineer` — 编写测试
|
|
|
|
### 输出格式
|
|
|
|
完成任务后,通过 SendMessage 返回:
|
|
- 实现的文件列表
|
|
- API 端点说明
|
|
- 数据库变更 (如有)
|
|
- 测试结果
|
|
- 已知问题或限制
|
|
```
|
|
|
|
**backend-dev Skill**:
|
|
```markdown
|
|
## ~/.claude/skills/backend-dev/SKILL.md
|
|
|
|
你现在是后端开发专家。专注于服务器端代码实现。
|
|
|
|
### 核心原则
|
|
|
|
1. **API First**: 先设计 API,再实现逻辑
|
|
2. **测试驱动**: 先写测试,再写代码
|
|
3. **安全优先**: 输入验证、输出编码、权限检查
|
|
4. **性能意识**: 避免N+1查询、适当缓存、异步处理
|
|
|
|
### 实现流程
|
|
|
|
1. **理解需求**: 确认功能、约束、验收标准
|
|
2. **设计 API**: 端点、方法、参数、响应
|
|
3. **设计数据库**: 表结构、索引、关系
|
|
4. **实现逻辑**: 按照最佳实践编写代码
|
|
5. **编写测试**: 单元测试、集成测试
|
|
6. **自测验证**: 确保功能正常
|
|
|
|
### 拒绝任务
|
|
|
|
如果任务涉及:
|
|
- 前端组件
|
|
- 页面样式
|
|
- UI 交互
|
|
- 浏览器兼容性
|
|
|
|
明确拒绝并告知转给 frontend agent。
|
|
```
|
|
|
|
---
|
|
|
|
### 3.3 Gemini — 前端开发
|
|
|
|
**项目配置**:
|
|
- 项目路径: `~/.claude/projects/sanguo-frontend`
|
|
- CLAUDE.md: `sanguo-frontend/.claude/CLAUDE.md`
|
|
|
|
**角色定义**:
|
|
```markdown
|
|
# sanguo-frontend/.claude/CLAUDE.md
|
|
|
|
## 角色定义
|
|
|
|
你是前端开发专家,专注于用户界面实现。
|
|
|
|
### 核心职责
|
|
|
|
- 前端组件开发 (React/Vue/等)
|
|
- 页面布局和样式实现
|
|
- 用户交互逻辑
|
|
- 前端性能优化
|
|
- 浏览器兼容性处理
|
|
- 代码审查和安全审计
|
|
|
|
### 严格限制
|
|
|
|
- 只处理前端任务
|
|
- 拒绝后端相关任务 (API、数据库、服务器逻辑)
|
|
- 如果收到后端任务,明确拒绝并告知转给 backend agent
|
|
|
|
### 工作流程
|
|
|
|
1. 从架构师接收任务 (通过 SendMessage)
|
|
2. 加载 frontend-dev skill 进行分析
|
|
3. 设计组件结构
|
|
4. 实现页面和样式
|
|
5. 实现交互逻辑
|
|
6. 浏览器测试
|
|
7. 返回结果给架构师 (通过 SendMessage)
|
|
|
|
### 技术标准
|
|
|
|
- 组件化: 可复用的组件设计
|
|
- 响应式: 适配不同设备和屏幕
|
|
- 性能: 懒加载、代码分割、缓存优化
|
|
- 可访问性: ARIA 标准、键盘导航
|
|
- 兼容性: 支持主流浏览器
|
|
|
|
### Superpowers 使用
|
|
|
|
- `CODE-REVIEW` — 审查前端代码
|
|
- `ui-ux-pro-max` — UI/UX 设计指导
|
|
- `debugger` — 调试前端问题
|
|
|
|
### 输出格式
|
|
|
|
完成任务后,通过 SendMessage 返回:
|
|
- 实现的组件列表
|
|
- 页面预览或截图
|
|
- 交互说明
|
|
- 性能优化措施
|
|
- 兼容性问题 (如有)
|
|
```
|
|
|
|
**frontend-dev Skill**:
|
|
```markdown
|
|
## ~/.claude/skills/frontend-dev/SKILL.md
|
|
|
|
你现在是前端开发专家。专注于用户界面实现。
|
|
|
|
### 核心原则
|
|
|
|
1. **组件优先**: 可复用的组件设计
|
|
2. **移动优先**: 响应式设计,移动设备优先
|
|
3. **渐进增强**: 基础功能优先,逐步增强
|
|
4. **性能第一**: 懒加载、代码分割、资源优化
|
|
|
|
### 实现流程
|
|
|
|
1. **理解需求**: 确认功能、UI设计、交互要求
|
|
2. **组件设计**: 拆分为可复用的组件
|
|
3. **样式实现**: 响应式布局、动画效果
|
|
4. **交互实现**: 事件处理、状态管理
|
|
5. **测试验证**: 浏览器测试、性能测试
|
|
6. **优化改进**: 性能优化、兼容性处理
|
|
|
|
### 拒绝任务
|
|
|
|
如果任务涉及:
|
|
- API 端点实现
|
|
- 数据库设计
|
|
- 服务器逻辑
|
|
- 后端性能优化
|
|
|
|
明确拒绝并告知转给 backend agent。
|
|
```
|
|
|
|
---
|
|
|
|
## 4. Superpowers Skills 共享
|
|
|
|
### 4.1 共享机制
|
|
|
|
**所有三个实例共享同一套 Superpowers skills**:
|
|
|
|
```
|
|
~/.claude/skills/
|
|
├── CODE-REVIEW/ ← 三实例共享
|
|
├── test-engineer/ ← 三实例共享
|
|
├── copywriting-base/ ← 三实例共享
|
|
│ ├── skills/
|
|
│ │ ├── copywriting/ ← 三实例共享
|
|
│ │ ├── seo-audit/ ← 三实例共享
|
|
│ │ └── ... (47 skills)
|
|
├── debugger/ ← 三实例共享
|
|
├── ui-ux-pro-max/ ← 三实例共享
|
|
└── ... (100+ skills)
|
|
```
|
|
|
|
### 4.2 使用差异
|
|
|
|
**虽然共享同一套 skills,但使用方式因角色而异**:
|
|
|
|
| Skill | Claude (架构师) | Codex (后端) | Gemini (前端) |
|
|
|-------|----------------|-------------|---------------|
|
|
| **planning** | ✅ 主要使用 | ⚠️ 仅规划自己的实现 | ⚠️ 仅规划自己的实现 |
|
|
| **CODE-REVIEW** | ✅ 审查所有代码 | ✅ 自我审查 | ✅ 自我审查 + 审查前端 |
|
|
| **debugger** | ✅ 调试整体问题 | ✅ 调试后端问题 | ✅ 调试前端问题 |
|
|
| **test-engineer** | ✅ 设计测试策略 | ✅ 编写后端测试 | ✅ 编写前端测试 |
|
|
| **ui-ux-pro-max** | ❌ 不使用 | ❌ 不使用 | ✅ 主要使用 |
|
|
| **copywriting** | ❌ 不使用 | ❌ 不使用 | ⚠️ 仅文案相关 |
|
|
|
|
### 4.3 角色 Skills
|
|
|
|
**新增三个角色专属 skills**:
|
|
|
|
```
|
|
~/.claude/skills/
|
|
├── architect-role/ ← 架构师专属
|
|
├── backend-dev/ ← 后端开发专属
|
|
└── frontend-dev/ ← 前端开发专属
|
|
```
|
|
|
|
---
|
|
|
|
## 5. 协作流程
|
|
|
|
### 5.1 SendMessage 机制
|
|
|
|
**跨实例通信**:
|
|
|
|
```
|
|
Claude (架构师) Codex (后端)
|
|
│ │
|
|
│─── SendMessage ──────────────>│
|
|
│ to: "backend" │
|
|
│ message: "实现用户 API" │
|
|
│ │
|
|
│ │
|
|
│<──── SendMessage ─────────────│
|
|
│ to: "main" │
|
|
│ message: "后端完成,返回..." │
|
|
│ │
|
|
```
|
|
|
|
**验证需求**: 需要验证 Claude Code 的 SendMessage 是否支持跨实例通信。
|
|
|
|
### 5.2 典型工作流
|
|
|
|
**场景:实现用户认证系统**
|
|
|
|
```
|
|
1. 用户: "实现用户认证系统"
|
|
↓
|
|
2. Claude (架构师) 接收
|
|
- 加载 planning skill
|
|
- 规划任务: JWT认证 + 登录页面
|
|
↓
|
|
3. Claude 指派任务
|
|
- SendMessage({ to: "backend", message: "实现JWT认证API" })
|
|
- SendMessage({ to: "frontend", message: "实现登录注册页面" })
|
|
↓
|
|
4. Codex (后端) 执行
|
|
- 加载 backend-dev skill
|
|
- 设计API: /auth/login, /auth/register
|
|
- 实现JWT逻辑
|
|
- 编写测试
|
|
- SendMessage({ to: "main", message: "后端完成" })
|
|
↓
|
|
5. Gemini (前端) 执行
|
|
- 加载 frontend-dev skill
|
|
- 设计登录页面组件
|
|
- 实现表单验证
|
|
- 调用后端API
|
|
- SendMessage({ to: "main", message: "前端完成" })
|
|
↓
|
|
6. Claude (架构师) 整合
|
|
- 加载 CODE-REVIEW skill
|
|
- 审查后端代码
|
|
- 审查前端代码
|
|
- 集成测试
|
|
- Git 提交
|
|
```
|
|
|
|
### 5.3 错误处理
|
|
|
|
**任务拒绝流程**:
|
|
|
|
```
|
|
Codex (后端) 收到前端任务
|
|
↓
|
|
加载 backend-dev skill
|
|
↓
|
|
识别为前端任务
|
|
↓
|
|
SendMessage({ to: "main", message: "这不是后端任务,请转给 frontend" })
|
|
↓
|
|
Claude (架构师) 重新指派
|
|
↓
|
|
SendMessage({ to: "frontend", message: "原任务..." })
|
|
```
|
|
|
|
---
|
|
|
|
## 6. 实施步骤
|
|
|
|
### Phase 1: 环境准备
|
|
|
|
#### 1.1 配置 GLM-5.2
|
|
|
|
**创建 `~/.claude/settings.json`**:
|
|
```json
|
|
{
|
|
"env": {
|
|
"CLAUDE_CODE_AUTO_COMPACT_WINDOW": "1000000",
|
|
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
|
|
"ANTHROPIC_API_KEY": "6903e83faf454106aa7529c9e18e2ea5.gYMSjWwk1XDN0U5h",
|
|
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-5.2[1m]",
|
|
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-5.2[1m]"
|
|
}
|
|
}
|
|
```
|
|
|
|
#### 1.2 安装 ttyd
|
|
|
|
```bash
|
|
brew install ttyd
|
|
```
|
|
|
|
**配置 `~/.ttyd`**:
|
|
```
|
|
address = "0.0.0.0"
|
|
port = "8088"
|
|
permit-write = true
|
|
enable-basic-auth = false
|
|
```
|
|
|
|
---
|
|
|
|
### Phase 2: 创建项目结构
|
|
|
|
#### 2.1 创建三个项目目录
|
|
|
|
```bash
|
|
# 创建项目目录
|
|
mkdir -p ~/.claude/projects/sanguo-main/.claude
|
|
mkdir -p ~/.claude/projects/sanguo-backend/.claude
|
|
mkdir -p ~/.claude/projects/sanguo-frontend/.claude
|
|
```
|
|
|
|
#### 2.2 创建 CLAUDE.md 文件
|
|
|
|
**sanguo-main/.claude/CLAUDE.md**:
|
|
```markdown
|
|
# sanguo-main — 架构师/项目经理
|
|
|
|
[使用第 3.1 节的完整内容]
|
|
```
|
|
|
|
**sanguo-backend/.claude/CLAUDE.md**:
|
|
```markdown
|
|
# sanguo-backend — 后端开发
|
|
|
|
[使用第 3.2 节的完整内容]
|
|
```
|
|
|
|
**sanguo-frontend/.claude/CLAUDE.md**:
|
|
```markdown
|
|
# sanguo-frontend — 前端开发
|
|
|
|
[使用第 3.3 节的完整内容]
|
|
```
|
|
|
|
---
|
|
|
|
### Phase 3: 创建角色 Skills
|
|
|
|
#### 3.1 创建 architect-role skill
|
|
|
|
```bash
|
|
mkdir -p ~/.claude/skills/architect-role
|
|
```
|
|
|
|
**`~/.claude/skills/architect-role/SKILL.md`**:
|
|
```markdown
|
|
---
|
|
name: architect-role
|
|
description: 当你作为架构师/项目经理角色时使用。负责需求分析、架构设计、任务拆分、代码审查、最终验收。绝对不亲自编写代码。
|
|
---
|
|
|
|
# Architect Role
|
|
|
|
你现在是架构师/项目经理角色。
|
|
|
|
## 核心职责
|
|
|
|
- 需求分析和理解
|
|
- 架构设计和技术选型
|
|
- 任务拆分和优先级排序
|
|
- 代码审核和质量把关
|
|
- 最终验收和 Git 提交管理
|
|
|
|
## 严格限制
|
|
|
|
**绝对不亲自编写代码**。
|
|
|
|
## 工作流程
|
|
|
|
1. 接收用户需求
|
|
2. 进行需求分析
|
|
3. 规划技术方案
|
|
4. 拆分任务
|
|
5. 指派给合适的 agent (backend/frontend)
|
|
6. 等待并整合结果
|
|
7. 审查和验收
|
|
8. 提交 Git
|
|
```
|
|
|
|
#### 3.2 创建 backend-dev skill
|
|
|
|
```bash
|
|
mkdir -p ~/.claude/skills/backend-dev
|
|
```
|
|
|
|
**`~/.claude/skills/backend-dev/SKILL.md`**:
|
|
```markdown
|
|
---
|
|
name: backend-dev
|
|
description: 后端开发专家。专注于服务器端代码、API、数据库、测试。只处理后端任务,拒绝前端任务。
|
|
---
|
|
|
|
# Backend Developer
|
|
|
|
你现在是后端开发专家。
|
|
|
|
## 核心职责
|
|
|
|
- 服务端代码实现
|
|
- API 设计和实现
|
|
- 数据库设计和 Migration
|
|
- 单元测试和集成测试
|
|
|
|
## 严格限制
|
|
|
|
- 只处理后端任务
|
|
- 拒绝前端相关任务
|
|
|
|
## 实现流程
|
|
|
|
1. 理解需求
|
|
2. 设计 API
|
|
3. 设计数据库
|
|
4. 实现代码
|
|
5. 编写测试
|
|
6. 自测验证
|
|
```
|
|
|
|
#### 3.3 创建 frontend-dev skill
|
|
|
|
```bash
|
|
mkdir -p ~/.claude/skills/frontend-dev
|
|
```
|
|
|
|
**`~/.claude/skills/frontend-dev/SKILL.md`**:
|
|
```markdown
|
|
---
|
|
name: frontend-dev
|
|
description: 前端开发专家。专注于组件、页面、样式、交互。只处理前端任务,拒绝后端任务。
|
|
---
|
|
|
|
# Frontend Developer
|
|
|
|
你现在是前端开发专家。
|
|
|
|
## 核心职责
|
|
|
|
- 前端组件开发
|
|
- 页面布局和样式
|
|
- 用户交互逻辑
|
|
- 浏览器兼容性
|
|
|
|
## 严格限制
|
|
|
|
- 只处理前端任务
|
|
- 拒绝后端相关任务
|
|
|
|
## 实现流程
|
|
|
|
1. 理解需求
|
|
2. 组件设计
|
|
3. 样式实现
|
|
4. 交互实现
|
|
5. 浏览器测试
|
|
```
|
|
|
|
---
|
|
|
|
### Phase 4: tmux 会话配置
|
|
|
|
#### 4.1 创建 tmux 配置
|
|
|
|
**创建 `~/.tmux-sanguo.conf`**:
|
|
```bash
|
|
# sanguo tmux 配置
|
|
new-session -d -s sanguo_dev -n "main"
|
|
|
|
# pane 0: main (架构师)
|
|
selectp -t 0
|
|
split-window -h -p 50
|
|
|
|
# pane 1: backend (后端开发)
|
|
selectp -t 1
|
|
split-window -v -p 50
|
|
|
|
# pane 2: frontend (前端开发)
|
|
selectp -t 2
|
|
|
|
# 回到 main pane
|
|
selectp -t 0
|
|
|
|
# 设置 pane 标题
|
|
select-pane -t 0 -T "Claude (架构师)"
|
|
select-pane -t 1 -T "Codex (后端)"
|
|
select-pane -t 2 -T "Gemini (前端)"
|
|
```
|
|
|
|
#### 4.2 启动 tmux 会话
|
|
|
|
```bash
|
|
# 加载配置启动 tmux
|
|
tmux new -f ~/.tmux-sanguo.conf
|
|
|
|
# 或手动创建
|
|
tmux new -s sanguo_dev
|
|
tmux split-window -h
|
|
tmux split-window -v
|
|
```
|
|
|
|
#### 4.3 在各 pane 中启动 Claude Code
|
|
|
|
**pane 0 (架构师)**:
|
|
```bash
|
|
cd ~/.claude/projects/sanguo-main
|
|
claude
|
|
# 设置为架构师角色
|
|
```
|
|
|
|
**pane 1 (后端)**:
|
|
```bash
|
|
cd ~/.claude/projects/sanguo-backend
|
|
claude
|
|
# 设置为后端开发角色
|
|
```
|
|
|
|
**pane 2 (前端)**:
|
|
```bash
|
|
cd ~/.claude/projects/sanguo-frontend
|
|
claude
|
|
# 设置为前端开发角色
|
|
```
|
|
|
|
---
|
|
|
|
### Phase 5: SendMessage 机制验证
|
|
|
|
#### 5.1 验证结果 (2026-06-30)
|
|
|
|
| 项目 | 结果 | 说明 |
|
|
|------|------|------|
|
|
| **跨会话能力** | ✅ 支持 | Claude Code v2.1.166+ 支持跨会话 SendMessage |
|
|
| **当前版本** | ✅ 2.1.187 | 已包含跨会话功能 |
|
|
| **安全限制** | ⚠️ 存在 | 有权限相关限制 |
|
|
|
|
**关键限制** (来源: changelog v2.1.166):
|
|
1. **权限限制**: 跨会话消息不携带用户权限
|
|
2. **工具调用**: 接收方拒绝中继的权限请求
|
|
3. **Auto 模块**: 自动模式会阻止跨会话消息
|
|
|
|
#### 5.2 对 v0.4 方案的影响
|
|
|
|
| 功能 | 原设计 | 实际情况 | 调整方案 |
|
|
|------|--------|----------|----------|
|
|
| **传递任务** | SendMessage 传递任务 | ✅ 可用 | 无需调整 |
|
|
| **执行工具** | 跨实例工具调用 | ❌ 受限 | 各实例自主执行 |
|
|
| **自动模式** | 自动指派/接收 | ❌ 受限 | 需手动确认 |
|
|
|
|
#### 5.3 实施建议
|
|
|
|
1. **保持设计**: SendMessage 可用于传递任务描述和结果
|
|
2. **自主执行**: 每个实例独立执行工具,不依赖跨实例调用
|
|
3. **文件辅助**: 大量代码传递使用共享文件系统
|
|
|
|
#### 5.4 工作流程调整
|
|
|
|
**原设计流程**:
|
|
```
|
|
架构师 SendMessage(任务) → 后端 执行工具 → 架构师
|
|
```
|
|
|
|
**实际可行流程**:
|
|
```
|
|
架构师 SendMessage(任务描述) → 后端 接收消息 → 后端 自主执行 → 后端 SendMessage(结果)
|
|
```
|
|
|
|
#### 5.5 备选方案 (保留)
|
|
|
|
如果遇到 SendMessage 问题,可以使用文件系统作为消息队列:
|
|
|
|
```bash
|
|
# 创建消息目录
|
|
mkdir -p ~/.claude/messages/sanguo
|
|
|
|
# 架构师发送任务
|
|
echo '{"to": "backend", "task": "...", "files": [...]}' > ~/.claude/messages/sanguo/backend_$(date +%s).json
|
|
|
|
# 后端监听并处理
|
|
fswatch ~/.claude/messages/sanguo/backend_*.json | xargs -I {} sh -c 'process_task {}'
|
|
```
|
|
|
|
---
|
|
|
|
### Phase 6: 启动 Web 访问
|
|
|
|
```bash
|
|
# 启动 ttyd 共享 tmux 会话
|
|
ttyd -p 8088 tmux attach -t sanguo_dev
|
|
|
|
# 访问: http://YOUR_LAN_IP:8088
|
|
```
|
|
|
|
---
|
|
|
|
## 7. 端口规划
|
|
|
|
| 服务 | 端口 | 说明 |
|
|
|------|------|------|
|
|
| **ttyd Web** | 8088 | tmux Web 访问 |
|
|
| **Claude Code** | 默认 | 由 Claude Code 管理 (每个实例) |
|
|
|
|
**已占用端口(避开)**: 3001, 6379, 18789, 19999
|
|
|
|
---
|
|
|
|
## 8. 配置文件汇总
|
|
|
|
### 8.1 配置文件位置
|
|
|
|
| 文件 | 路径 | 用途 |
|
|
|------|------|------|
|
|
| **settings.json** | `~/.claude/settings.json` | GLM-5.2 端点配置 |
|
|
| **ttyd 配置** | `~/.ttyd` | Web 访问配置 |
|
|
| **tmux 配置** | `~/.tmux-sanguo.conf` | tmux 会话配置 |
|
|
| **main CLAUDE.md** | `sanguo-main/.claude/CLAUDE.md` | 架构师角色定义 |
|
|
| **backend CLAUDE.md** | `sanguo-backend/.claude/CLAUDE.md` | 后端角色定义 |
|
|
| **frontend CLAUDE.md** | `sanguo-frontend/.claude/CLAUDE.md` | 前端角色定义 |
|
|
| **角色 Skills** | `~/.claude/skills/{architect-role,backend-dev,frontend-dev}/` | 角色专属技能 |
|
|
|
|
### 8.2 环境变量汇总
|
|
|
|
```bash
|
|
# GLM-5.2 (Anthropic 兼容)
|
|
export ANTHROPIC_BASE_URL="https://api.z.ai/api/anthropic"
|
|
export ANTHROPIC_API_KEY="你的智谱API_Key"
|
|
```
|
|
|
|
---
|
|
|
|
## 9. 技术栈
|
|
|
|
| 组件 | 技术/版本 | 说明 |
|
|
|------|----------|------|
|
|
| **Claude Code** | v2.1.39+ | 主控 CLI (三个实例) |
|
|
| **Superpowers** | Marketplace | 共享技能库 |
|
|
| **GLM-5.2** | 智谱 AI | 统一后端 |
|
|
| **ttyd** | v1.7.7 | Web 终端 |
|
|
| **tmux** | 系统包管理器 | 终端复用 (三 pane) |
|
|
|
|
---
|
|
|
|
## 10. 成本估算
|
|
|
|
| 组件 | 用量 | 单价 | 预估成本占比 |
|
|
|------|------|------|-------------|
|
|
| **Claude (架构师)** | 规划+审查+验收(中) | 低 | ~30% |
|
|
| **Codex (后端)** | 代码实现(高) | 低 | ~50% |
|
|
| **Gemini (前端)** | 页面实现(中) | 低 | ~20% |
|
|
|
|
**v0.4 成本优势**:
|
|
- 统一使用 GLM-5.2,成本最低
|
|
- 三个实例按需消耗 token
|
|
- 1M 上下文减少频繁请求
|
|
|
|
---
|
|
|
|
## 11. 检查清单
|
|
|
|
### 环境检查
|
|
|
|
- [ ] Claude Code 已安装
|
|
- [ ] tmux 已安装
|
|
- [ ] ttyd 已安装
|
|
|
|
### 配置验证
|
|
|
|
- [ ] `~/.claude/settings.json` 已配置 GLM-5.2 端点
|
|
- [ ] 智谱 API Key 已设置
|
|
- [ ] ttyd 配置 8088 端口
|
|
- [ ] tmux 配置文件已创建
|
|
|
|
### 项目创建
|
|
|
|
- [ ] sanguo-main 项目目录已创建
|
|
- [ ] sanguo-backend 项目目录已创建
|
|
- [ ] sanguo-frontend 项目目录已创建
|
|
- [ ] 三个 CLAUDE.md 文件已创建
|
|
|
|
### Skills 创建
|
|
|
|
- [ ] architect-role skill 已创建
|
|
- [ ] backend-dev skill 已创建
|
|
- [ ] frontend-dev skill 已创建
|
|
|
|
### 功能验证
|
|
|
|
- [ ] tmux 三 pane 会话正常启动
|
|
- [ ] 三个 Claude Code 实例正常启动
|
|
- [ ] SendMessage 跨实例通信正常
|
|
- [ ] 各实例能正确加载角色定义
|
|
- [ ] 各实例能访问 Superpowers skills
|
|
- [ ] ttyd web 访问正常
|
|
|
|
---
|
|
|
|
## 12. 故障排查
|
|
|
|
### 12.1 SendMessage 不工作
|
|
|
|
**问题**: 跨实例 SendMessage 无法传递消息
|
|
|
|
**解决**:
|
|
1. 验证 Claude Code SendMessage 能力
|
|
2. 使用文件系统作为备选消息队列
|
|
3. 实现简单的轮询机制
|
|
|
|
### 12.2 角色隔离不生效
|
|
|
|
**问题**: 实例没有按照 CLAUDE.md 定义的角色执行
|
|
|
|
**解决**:
|
|
1. 确认 CLAUDE.md 文件位置正确
|
|
2. 确认 Claude Code 加载了正确的 CLAUDE.md
|
|
3. 在启动 Claude Code 时明确指定角色
|
|
|
|
### 12.3 Skills 访问问题
|
|
|
|
**问题**: 某个实例无法访问 Superpowers skills
|
|
|
|
**解决**:
|
|
1. 确认 `~/.claude/skills/` 目录存在
|
|
2. 确认技能文件权限正确
|
|
3. 重新安装 Superpowers
|
|
|
|
---
|
|
|
|
## 13. 参考资料
|
|
|
|
- [GLM-5.2 - 智谱AI开放文档](https://docs.bigmodel.cn/cn/guide/models/text/glm-5.2)
|
|
- [ttyd GitHub](https://github.com/tsl0922/ttyd)
|
|
- [tmux 官方文档](https://github.com/tmux/tmux/wiki)
|
|
|
|
---
|
|
|
|
## 14. 实施状态
|
|
|
|
### 已完成 (2026-06-30 更新)
|
|
|
|
| 组件 | 状态 | 说明 |
|
|
|------|------|------|
|
|
| **ttyd** | ✅ 已安装 | v1.7.7 |
|
|
| **Claude Code** | ✅ v2.1.187 | 支持跨会话 SendMessage |
|
|
| **项目目录** | ✅ 已创建 | sanguo-main, sanguo-backend, sanguo-frontend |
|
|
| **CLAUDE.md 文件** | ✅ 已创建 | 三个角色定义文件 |
|
|
| **角色 Skills** | ✅ 已创建 | architect-role, backend-dev, frontend-dev |
|
|
| **SendMessage 验证** | ✅ 已验证 | 支持跨会话但有限制 |
|
|
| **tmux 配置** | ✅ 已创建 | ~/.tmux-sanguo.conf |
|
|
| **消息队列** | ✅ 已创建 | ~/.claude/messages/sanguo/message.sh |
|
|
| **启动脚本** | ✅ 已创建 | start-sanguo-env.sh |
|
|
| **快速参考** | ✅ 已创建 | docs/04-quick-reference.md |
|
|
|
|
### 待启动
|
|
|
|
| 组件 | 状态 | 说明 |
|
|
|------|------|------|
|
|
| **tmux 会话** | ⚠️ 待启动 | 运行 start-sanguo-env.sh |
|
|
| **Claude Code 实例** | ⚠️ 待启动 | 在各 pane 中启动 claude |
|
|
| **ttyd Web** | ⚠️ 待启动 | ttyd -p 8088 tmux attach |
|
|
|
|
### 验证结果
|
|
|
|
- [x] SendMessage 跨实例通信 — ✅ 支持 (有限制)
|
|
- [x] CLAUDE.md 角色隔离 — ✅ 已定义
|
|
- [x] Superpowers skills 共享 — ✅ 已确认可用
|
|
- [ ] 三实例协作流程 — ⚠️ 待实际测试
|
|
|
|
### 关键发现
|
|
|
|
**SendMessage 限制**:
|
|
- 跨会话消息不携带用户权限
|
|
- 接收方拒绝中继的权限请求
|
|
- Auto 模式会阻止跨会话消息
|
|
|
|
**应对方案**:
|
|
- 使用 SendMessage 传递任务描述和结果
|
|
- 每个实例独立执行工具
|
|
- 文件消息队列作为备选方案
|
|
|
|
### 创建的文件
|
|
|
|
```
|
|
~/.tmux-sanguo.conf # tmux 配置
|
|
~/.claude/messages/sanguo/message.sh # 消息队列脚本
|
|
~/.claude/messages/sanguo/start-sanguo-env.sh # 启动脚本
|
|
~/.claude/projects/sanguo-main/.claude/CLAUDE.md # 架构师角色
|
|
~/.claude/projects/sanguo-backend/.claude/CLAUDE.md # 后端角色
|
|
~/.claude/projects/sanguo-frontend/.claude/CLAUDE.md # 前端角色
|
|
~/.claude/skills/architect-role/SKILL.md # 架构师 skill
|
|
~/.claude/skills/backend-dev/SKILL.md # 后端 skill
|
|
~/.claude/skills/frontend-dev/SKILL.md # 前端 skill
|
|
docs/04-quick-reference.md # 快速参考
|
|
```
|
|
|
|
---
|
|
|
|
**文档版本**: v0.4
|
|
**最后更新**: 2026-06-30
|
|
**作者**: Claude Dev
|
|
**审核状态**: Draft
|
|
**实施状态**: ✅ 设计和基础设施完成 - 待启动测试
|
|
|
|
### 完成清单
|
|
|
|
#### 文档
|
|
- [x] 完整设计文档 (04-design-v0.4.md)
|
|
- [x] 快速参考 (04-quick-reference.md)
|
|
- [x] 示例工作流 (05-example-workflows.md)
|
|
|
|
#### 项目结构
|
|
- [x] sanguo-main 项目目录 + CLAUDE.md
|
|
- [x] sanguo-backend 项目目录 + CLAUDE.md
|
|
- [x] sanguo-frontend 项目目录 + CLAUDE.md
|
|
|
|
#### 角色 Skills
|
|
- [x] architect-role/SKILL.md
|
|
- [x] backend-dev/SKILL.md
|
|
- [x] frontend-dev/SKILL.md
|
|
|
|
#### 配置和脚本
|
|
- [x] ~/.tmux-sanguo.conf
|
|
- [x] start-sanguo-env.sh
|
|
- [x] message.sh
|
|
- [x] test-sanguo-env.sh
|
|
|
|
#### 验证
|
|
- [x] 环境测试: 18/18 通过
|
|
- [x] SendMessage 跨实例通信验证
|
|
|
|
### 启动步骤
|
|
|
|
```bash
|
|
# 1. 测试环境
|
|
~/.claude/messages/sanguo/test-sanguo-env.sh
|
|
|
|
# 2. 启动 tmux 环境
|
|
~/.claude/messages/sanguo/start-sanguo-env.sh
|
|
|
|
# 3. 在各 pane 中启动 Claude Code
|
|
# pane 0 (architect): cd ~/.claude/projects/sanguo-main && claude
|
|
# pane 1 (backend): cd ~/.claude/projects/sanguo-backend && claude
|
|
# pane 2 (frontend): cd ~/.claude/projects/sanguo-frontend && claude
|
|
|
|
# 4. (可选) 启动 Web 访问
|
|
ttyd -p 8088 tmux attach -t sanguo_dev
|
|
```
|
|
|
|
### Git 提交历史
|
|
|
|
```
|
|
5d85c08 docs: 添加示例工作流文档
|
|
0187809 docs: 完成 v0.4 基础设施实施
|
|
0829b34 docs: 更新 v0.4 设计 - SendMessage 验证结果和实施状态
|
|
eda9930 docs: 添加 v0.4 设计文档 - 三实例方案
|
|
```
|