基于 OpenClaw + Claude Code 的全流程自动化研发系统
从需求分析到自动部署的完整指南
本系统是基于 OpenClaw(开源个人 AI 助手平台)和 Claude Code(Anthropic 智能编码工具)构建的端到端研发自动化系统。系统通过自然语言指令驱动,实现从需求输入到生产部署的全流程自动化,支持多角色 Agents 协同工作,并在关键节点提供人机协同能力。
| 组件名称 | 技术栈 | 核心功能 | 负责角色 |
|---|---|---|---|
| OpenClaw | Python + MCP | 任务编排、Agents 调度、工作流管理 | 系统管理员 |
| Claude Code | Claude 3.7/4.x | 代码生成、文件编辑、Git 操作、测试执行 | 开发工程师 |
| MCP Services | Model Context Protocol | 上下文管理、知识库检索、工具集成 | 技术负责人 |
| Jenkins + K8S | KubeSphere | 持续集成、容器化部署、服务编排 | DevOps 工程师 |
| Playwright/Selenium | Python/Node.js | UI 自动化测试、视觉回归测试 | QA 工程师 |
需求分析 Agent 是系统的第一个智能处理节点,负责接收原始需求输入(自然语言描述、语音转文字、文档上传等),进行语义理解、需求拆解、优先级排序,并输出结构化的需求规格说明书。
# 通过 OpenClaw 命令行启动需求分析 Agent
openclaw agent start --name="requirement_analyzer" \
--model="claude-opus-4" \
--skill="requirement_analysis_v2" \
--output-dir="./output/requirements"
支持多种输入方式:
# 示例:通过自然语言输入需求
openclaw task create --agent="requirement_analyzer" \
--input="我们需要一个用户管理系统,支持注册登录、权限管理、个人资料编辑,
需要对接企业微信 OAuth,后台要有数据看板展示活跃用户统计" \
--priority="high" \
--deadline="2026-03-20"
# 查看需求分析报告
openclaw task result --task-id="REQ-20260313-001"
# 输出示例 JSON 格式
{
"task_id": "REQ-20260313-001",
"status": "completed",
"requirements": [
{
"id": "USR-001",
"type": "functional",
"title": "用户注册与登录",
"description": "支持手机号、邮箱注册,企业微信 OAuth 登录",
"priority": "P0",
"acceptance_criteria": ["AC1", "AC2", "AC3"]
},
{
"id": "USR-002",
"type": "functional",
"title": "权限管理系统",
"description": "RBAC 模型,支持角色分配和权限控制",
"priority": "P0",
"acceptance_criteria": ["AC1", "AC2"]
},
{
"id": "ANA-001",
"type": "analytics",
"title": "数据看板",
"description": "展示 DAU、MAU、留存率等核心指标",
"priority": "P1",
"acceptance_criteria": ["AC1", "AC2", "AC3", "AC4"]
}
],
"stakeholders": ["产品总监", "技术负责人", "运营团队"],
"estimated_effort": "45 story points",
"risks": ["企业微信 API 限流", "数据隐私合规"]
}
# 发起人工审核流程
openclaw review request --task-id="REQ-20260313-001" \
--reviewers="product_manager,tech_lead" \
--channel="feishu" \
--deadline="24h"
# 审核通过后自动触发下一阶段
openclaw workflow trigger --next-stage="prd_generation" \
--input="./output/requirements/REQ-20260313-001.json"
| 文件名 | 格式 | 内容说明 |
|---|---|---|
| requirement_specification.json | JSON | 结构化需求规格说明书 |
| user_stories.md | Markdown | 用户故事列表(含验收标准) |
| priority_matrix.xlsx | Excel | 需求优先级矩阵(MoSCoW 法则) |
| stakeholder_map.json | JSON | 干系人地图与沟通计划 |
PRD(Product Requirement Document)生成模块基于需求分析结果,自动生成完整的产品需求文档,包含功能描述、业务流程、原型示意、数据字典等内容。
# 启动 PRD 生成 Agent
openclaw agent start --name="prd_generator" \
--model="claude-sonnet-4" \
--skill="prd_generation_v3" \
--template="standard_product_prd" \
--output-format="html,pdf,markdown"
# PRD 配置文件 prd_config.yaml
template: standard_product_prd
sections:
- executive_summary
- problem_statement
- goals_objectives
- user_personas
- user_stories
- functional_requirements
- non_functional_requirements
- wireframes
- data_dictionary
- success_metrics
- timeline_milestones
- risks_dependencies
branding:
company_name: "Your Company"
logo_path: "./assets/logo.png"
color_scheme: "corporate_blue"
# 执行 PRD 生成任务
openclaw task execute --agent="prd_generator" \
--input="./output/requirements/REQ-20260313-001.json" \
--config="./configs/prd_config.yaml" \
--output="./output/prd/PRD-20260313-001" \
--async
# 查看生成进度
openclaw task status --task-id="PRD-20260313-001"
# 调用原型生成技能
openclaw skill invoke --name="wireframe_generator" \
--input="./output/prd/PRD-20260313-001/user_stories.md" \
--style="modern_minimalist" \
--output="./output/prd/PRD-20260313-001/wireframes/" \
--format="figma,svg,png"
# PRD-20260313-001 用户管理系统
# ========================================
## 1. 执行摘要
本项目旨在构建一套完整的用户管理系统,支持多渠道用户接入和精细化运营。
## 2. 问题陈述
当前缺乏统一的用户管理平台,导致:
- 用户数据分散在多个系统
- 无法进行统一的用户行为分析
- 权限管理混乱,存在安全隐患
## 3. 目标与 OKR
### 3.1 业务目标
- O1: 建立统一用户管理体系
- KR1: 整合 3 个现有系统的用户数据
- KR2: 实现 99.9% 的登录成功率
- KR3: 用户注册时间缩短至 2 分钟内
## 4. 用户画像
### 4.1 普通用户
- 年龄:25-45 岁
- 使用场景:日常登录、个人信息管理
- 痛点:忘记密码、找不到修改入口
### 4.2 管理员
- 角色:运营人员、系统管理员
- 使用场景:用户审核、权限分配、数据分析
## 5. 功能需求
### 5.1 用户注册与登录 (USR-001)
#### 功能描述
支持手机号、邮箱注册,企业微信 OAuth 快捷登录
#### 验收标准
- AC1: 手机验证码 60 秒内到达
- AC2: 密码强度校验符合 OWASP 标准
- AC3: 企业微信扫码后自动绑定账号
#### 界面原型
[wireframes/register_login.svg]
## 6. 非功能需求
### 6.1 性能要求
- 页面加载时间 < 2 秒
- API 响应时间 P95 < 500ms
- 支持 10 万并发用户
### 6.2 安全要求
- 数据传输采用 HTTPS + TLS1.3
- 密码存储使用 bcrypt + salt
- 符合 GDPR 数据保护规范
## 7. 数据字典
| 字段名 | 类型 | 长度 | 必填 | 说明 |
|--------|------|------|------|------|
| user_id | UUID | 36 | 是 | 用户唯一标识 |
| username | VARCHAR | 50 | 是 | 用户名 |
| email | VARCHAR | 100 | 是 | 邮箱地址 |
| phone | VARCHAR | 20 | 否 | 手机号码 |
## 8. 成功指标
- DAU > 50,000
- 用户留存率(7 日)> 40%
- NPS > 30
## 9. 时间线与里程碑
| 阶段 | 开始日期 | 结束日期 | 交付物 |
|------|----------|----------|--------|
| 需求确认 | 2026-03-13 | 2026-03-15 | PRD v1.0 |
| 技术设计 | 2026-03-16 | 2026-03-18 | 技术方案文档 |
| 开发迭代 1 | 2026-03-19 | 2026-03-25 | 核心功能 MVP |
| 测试验收 | 2026-03-26 | 2026-03-28 | 测试报告 |
| 上线发布 | 2026-03-29 | 2026-03-29 | 生产环境部署 |
## 10. 风险与依赖
### 10.1 技术风险
- 企业微信 API 限流策略变更
- 高并发场景下的数据库性能瓶颈
### 10.2 外部依赖
- 企业微信开放平台审批(预计 3 个工作日)
- 云服务商 SSL 证书申请(预计 1 个工作日)
# 发起 PRD 评审
openclaw review create --doc="./output/prd/PRD-20260313-001/PRD.md" \
--reviewers="product_manager,tech_lead,ux_designer,qa_lead" \
--meeting-time="2026-03-14T14:00:00+08:00" \
--channel="feishu" \
--auto-schedule
# 收集评审意见并合并
openclaw review collect --review-id="REV-PRD-001" \
--merge-strategy="consensus" \
--output="./output/prd/PRD-20260313-001/PRD_v2.md"
| 文件名 | 格式 | 用途 |
|---|---|---|
| PRD.md / PRD.pdf | Markdown/PDF | 完整产品需求文档 |
| PRD.html | HTML | 可交互在线文档(含目录导航) |
| wireframes/*.svg | SVG/PNG | 界面原型图 |
| wireframes/design.fig | Figma | 可编辑 Figma 设计文件 |
| data_dictionary.json | JSON | 数据字典(供开发参考) |
| api_requirements.json | JSON | API 接口需求清单 |
基于 PRD 中的功能需求和非功能需求,自动生成后端技术架构方案,包括技术选型、数据库设计、API 规划、部署架构等。
# 启动后端技术方案 Agent
openclaw agent start --name="backend_architect" \
--model="claude-opus-4" \
--skill="backend_design_v2" \
--stack="python_fastapi,postgresql,redis,rabbitmq"
# 执行技术设计
openclaw task execute --agent="backend_architect" \
--input="./output/prd/PRD-20260313-001/PRD.md" \
--output="./output/tech_design/backend/"
# 启动前端技术方案 Agent
openclaw agent start --name="frontend_architect" \
--model="claude-sonnet-4" \
--skill="frontend_design_v2" \
--stack="react,typescript,tailwindcss,zustand"
# 执行前端技术设计
openclaw task execute --agent="frontend_architect" \
--input="./output/prd/PRD-20260313-001/wireframes/" \
--output="./output/tech_design/frontend/"
基于 PRD 功能需求和后端技术方案,自动生成 RESTful API 或 GraphQL Schema 定义,包含请求/响应格式、错误码、认证方式等。
# 启动 API 设计 Agent
openclaw agent start --name="api_designer" \
--model="claude-sonnet-4" \
--skill="api_design_v3" \
--spec="openapi3"
# 生成 API 协议
openclaw task execute --agent="api_designer" \
--input="./output/tech_design/backend/api_specification.yaml" \
--output="./output/api_contract/" \
--generate-mock-server
# openapi.yaml 片段
openapi: 3.0.3
info:
title: 用户管理系统 API
version: 1.0.0
paths:
/api/v1/users/register:
post:
summary: 用户注册
tags: [用户管理]
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
username:
type: string
minLength: 3
maxLength: 50
email:
type: string
format: email
password:
type: string
minLength: 8
responses:
'201':
description: 注册成功
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'400':
description: 请求参数错误
'409':
description: 用户已存在
# 启动 Mock 服务器供前端并行开发
openclaw mock-server start --spec="./output/api_contract/openapi.yaml" \
--port=3001 \
--delay=200ms" \
--persist-logs
# 安装 Claude Code
npm install -g @anthropic-ai/claude-code
# 配置 API Key
export ANTHROPIC_API_KEY="sk-ant-api03-..."
# 验证安装
claude --version
# 进入项目目录
cd ./projects/user-management-system/backend
# 使用 Claude Code 生成代码
claude << 'EOF'
根据以下要求生成 FastAPI 后端代码:
1. 实现用户注册接口 POST /api/v1/users/register
2. 使用 SQLAlchemy ORM,PostgreSQL 数据库
3. 密码加密使用 bcrypt
4. 添加输入验证和错误处理
5. 编写对应的单元测试
参考 API 规范:./output/api_contract/openapi.yaml
数据库模型:./output/tech_design/backend/database_schema.sql
EOF
# 进入前端项目目录
cd ./projects/user-management-system/frontend
# 使用 Claude Code 生成 React 组件
claude << 'EOF'
根据 PRD 原型图和 API 规范,生成以下 React 组件:
1. 注册页面 RegisterPage.tsx
2. 登录页面 LoginPage.tsx
3. 用户资料编辑 UserProfile.tsx
4. 使用 TailwindCSS 样式
5. 使用 Zustand 进行状态管理
6. 集成 React Query 处理 API 请求
参考文件:
- 原型图:../output/prd/PRD-20260313-001/wireframes/
- API 规范:../output/api_contract/openapi.yaml
EOF
# Claude Code 自动创建分支并提交
claude << 'EOF'
1. 创建功能分支 feature/user-auth-module
2. 将所有生成的代码文件添加到暂存区
3. 提交代码,提交信息遵循 Conventional Commits 规范
4. 创建 Pull Request 指向 develop 分支
5. 关联 Jira 任务 USER-123
EOF
# 输出示例
✓ Created branch: feature/user-auth-module
✓ Added 15 files to staging
✓ Committed: feat(auth): implement user registration and login
✓ Created PR #45: Feature/user-auth-module
✓ Linked to Jira: USER-123
# 为后端代码生成单元测试
claude << 'EOF'
为以下 Python 文件生成 pytest 单元测试:
- app/api/users.py
- app/services/auth_service.py
- app/models/user.py
要求:
1. 测试覆盖率 > 90%
2. 包含边界条件和异常场景
3. 使用 factory_boy 创建测试数据
4. Mock 外部依赖(数据库、第三方 API)
EOF
# 运行单元测试
pytest tests/ --cov=app --cov-report=html --cov-fail-under=90
# 生成集成测试脚本
claude << 'EOF'
基于 API 规范生成集成测试:
1. 使用 Postman/Newman 或 pytest + requests
2. 测试完整用户流程:注册→登录→获取 token→访问受保护接口
3. 验证数据库数据一致性
4. 测试并发场景和性能基线
EOF
# 执行集成测试
docker-compose up -d postgres redis
pytest tests/integration/ --env=docker
newman run tests/integration/postman_collection.json
# 生成测试报告
openclaw report generate --type="test_coverage" \
--input="./coverage/" \
--output="./reports/test_report_20260313.html" \
--include-trends
# 发送测试报告到飞书群
openclaw notify send --channel="feishu_dev_group" \
--message="✅ 测试完成:覆盖率 92%,发现 3 个 Bug" \
--attachment="./reports/test_report_20260313.html"
# 生成 Jenkinsfile
claude << 'EOF'
生成声明式 Jenkins Pipeline:
1. 多阶段构建:Build → Test → Security Scan → Deploy
2. 支持多环境(dev/staging/prod)
3. 集成 SonarQube 代码质量扫描
4. Docker 镜像构建并推送到 Harbor
5. 部署到 K8S 集群(KubeSphere)
6. 失败时自动回滚
EOF
pipeline {
agent any
environment {
REGISTRY = 'harbor.company.com'
IMAGE_NAME = 'user-management-system'
KUBECONFIG = credentials('k8s-config')
}
stages {
stage('Checkout') {
steps {
git branch: 'develop',
url: 'https://github.com/company/user-management.git'
}
}
stage('Build & Test') {
parallel {
stage('Backend') {
steps {
sh 'docker build -t backend ./backend'
sh 'docker run backend pytest --cov=app'
}
}
stage('Frontend') {
steps {
sh 'cd frontend && npm ci && npm run build'
sh 'npm run test:coverage'
}
}
}
}
stage('Security Scan') {
steps {
sh 'trivy image ${REGISTRY}/${IMAGE_NAME}:latest'
sonarQubeScanner additionalProperties: '-Dsonar.projectKey=user-mgmt'
}
}
stage('Deploy to Dev') {
when {
branch 'develop'
}
steps {
sh 'kubectl apply -f k8s/dev/'
sh 'kubectl rollout status deployment/user-mgmt'
}
}
stage('Deploy to Prod') {
when {
branch 'main'
}
steps {
input message: '确认部署到生产环境?', ok: '部署'
sh 'kubectl apply -f k8s/prod/'
}
}
}
post {
always {
junit '**/test-results/*.xml'
publishHTML target: [
reportDir: './reports',
reportFiles: 'test_report.html',
reportName: 'Test Report'
]
}
failure {
sh 'kubectl rollout undo deployment/user-mgmt'
slackSend channel: '#deploy-alerts',
message: "❌ 部署失败:${env.JOB_NAME} #${env.BUILD_NUMBER}"
}
}
}
# 生成 K8S 部署 YAML
claude << 'EOF'
生成 Kubernetes 部署配置:
1. Deployment(3 副本,资源限制)
2. Service(ClusterIP + Ingress)
3. ConfigMap(环境变量)
4. Secret(敏感信息)
5. HPA(自动扩缩容)
6. NetworkPolicy(网络隔离)
EOF
# 部署到 KubeSphere
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
kubectl apply -f k8s/ingress.yaml
# 通过 KubeSphere CLI 查看状态
ks describe deployment user-mgmt -n production
# 生成 UI 自动化测试脚本
claude << 'EOF'
基于 PRD 验收标准生成 Playwright 测试:
1. 用户注册流程端到端测试
2. 登录功能测试(含错误场景)
3. 个人资料编辑测试
4. 响应式布局测试(多分辨率)
5. 无障碍访问测试(WCAG 2.1)
6. 视觉回归测试(像素级对比)
EOF
# tests/e2e/user_registration.spec.ts
import { test, expect } from '@playwright/test';
test('用户注册完整流程', async ({ page }) => {
// 访问注册页面
await page.goto('/register');
// 填写注册表单
await page.fill('[name="username"]', 'testuser2026');
await page.fill('[name="email"]', 'test@example.com');
await page.fill('[name="password"]', 'SecurePass123!');
// 提交表单
await page.click('button[type="submit"]');
// 验证注册成功
await expect(page).toHaveURL('/dashboard');
await expect(page.locator('.welcome-message'))
.toContainText('欢迎,testuser2026');
// 验证数据库记录
const userExists = await checkUserInDB('testuser2026');
expect(userExists).toBe(true);
});
test('视觉回归测试 - 注册页面', async ({ page }) => {
await page.goto('/register');
await expect(page).toHaveScreenshot('registration-page.png', {
fullPage: true,
threshold: 0.1
});
});
# 运行 Playwright 测试
npx playwright test --project=chromium --headed
# 生成测试报告
npx playwright show-report
# 集成到 CI 流程
openclaw ci run --stage="ui_test" \
--browser="chromium,firefox,webkit" \
--parallel=4 \
--video="on-first-retry" \
--trace="retain-on-failure"
| 角色 | 对应 Agent | 主要职责 | 人机协同点 |
|---|---|---|---|
| 产品经理 | Requirement Analyzer + PRD Generator | 需求审核、PRD 确认、优先级调整 | 需求评审会、PRD 签字确认 |
| 架构师 | Backend/Frontend Architect | 技术方案审核、技术选型决策 | 架构评审、关键技术点确认 |
| 开发工程师 | Claude Code + API Designer | Code Review、复杂逻辑实现、Bug 修复 | PR 审核、代码质量把关 |
| QA 工程师 | Test Generator + Playwright | 测试用例审核、探索性测试、Bug 验证 | 测试计划确认、Bug 分级 |
| DevOps | CI/CD Pipeline + K8S Deployer | 发布审批、监控告警配置、应急响应 | 生产发布审批、故障处理 |
# 配置异常处理策略
# openclaw_config.yaml
error_handling:
auto_retry:
enabled: true
max_attempts: 3
backoff: exponential
escalation:
- level: 1
condition: "compile_error"
action: "notify_developer"
channel: "slack"
- level: 2
condition: "test_failure_rate > 20%"
action: "pause_pipeline"
notify: ["qa_lead", "tech_lead"]
- level: 3
condition: "security_vulnerability == critical"
action: "block_deployment"
notify: ["cto", "security_team"]
| 指标类别 | 具体指标 | 目标值 | 测量方式 |
|---|---|---|---|
| 效率提升 | 需求到上线周期 | < 5 天 | Jira 工时统计 |
| 代码生成占比 | > 70% | Git 提交分析 | |
| 自动化测试覆盖率 | > 90% | Coverage 报告 | |
| 质量保障 | 生产缺陷密度 | < 0.5 个/KLOC | Bug 追踪系统 |
| 一次性通过率 | > 85% | CI/CD Pipeline 统计 | |
| 成本优化 | 人力投入减少 | > 60% | 工时对比分析 |
| 返工率 | < 10% | 需求变更统计 |
# ==================== OpenClaw 常用命令 ====================
# 启动 Agent
openclaw agent start --name=<agent_name> --model=<model> --skill=<skill_name>
# 创建任务
openclaw task create --agent=<agent> --input=<input_file> --priority=<priority>
# 查看任务状态
openclaw task status --task-id=<task_id>
# 发起审核
openclaw review request --task-id=<task_id> --reviewers=<users> --channel=<channel>
# 触发工作流
openclaw workflow trigger --next-stage=<stage_name> --input=<input_file>
# ==================== Claude Code 常用命令 ====================
# 交互式使用
claude
# 执行单次任务
claude "Generate a Python function to validate email format"
# 读取文件并处理
claude --file ./src/app.py "Refactor this function to improve readability"
# Git 操作
claude "Create a branch, commit changes, and open a PR"
# ==================== CI/CD 相关命令 ====================
# 触发构建
jenkins-cli build -job user-mgmt-pipeline
# 查看构建状态
jenkins-cli console user-mgmt-pipeline -build 123
# K8S 部署
kubectl apply -f deployment.yaml
kubectl rollout status deployment/user-mgmt
# 回滚
kubectl rollout undo deployment/user-mgmt
A: 检查以下条件:① macOS 版本是否为 Sonoma+ ② 网络连接是否正常 ③ Node.js 和 Python 版本是否符合要求 ④ 查看日志文件 ~/.openclaw/logs/error.log 获取详细错误信息。
A: ① 提供更详细的上下文信息(API 规范、数据库 schema 等)② 使用更强大的模型(claude-opus-4)③ 在 prompt 中明确代码规范和最佳实践 ④ 启用 Code Review 环节进行人工把关。
A: ① 使用单元测试快速发现问题 ② 通过 CI Pipeline 自动拦截编译错误 ③ 在 Code Review 中标注问题并要求 AI 重新生成 ④ 对于复杂逻辑,建议人工编写。
A: 系统配置了自动回滚机制,当健康检查失败时会自动执行 kubectl rollout undo。也可以手动触发:openclaw rollback --env=prod --target=previous-stable-version。
A: ① 集成 SAST 工具(SonarQube、Semgrep)进行静态分析 ② 使用 SCA 工具检查依赖漏洞 ③ 强制 Code Review 流程 ④ 敏感操作(如数据库删除)必须人工确认。