本文通过一个完整案例,展示如何使用 Agent Dev Dashboard + GLM-4.7 进行实际的开发工作。
Agent Dev Dashboard GitHub 仓库

📋 案例背景
项目 : 电商后端服务 ecommerce-api
任务 : 添加用户商品评论功能
团队 : 3 人(Alice 作为 Owner,Bob 和 Charlie 作为 Member)
AI: 智谱 GLM-4.7 大模型
第一步:创建项目并邀请成员
1.1 Alice 创建项目
登录系统后,在首页填写:
| 字段 | 值 |
|---|---|
| Project name | ecommerce-api |
| Repo URL | git@github.com:acme/ecommerce-api.git |
| Default branch | main |
系统自动克隆仓库到本地。
1.2 Alice 邀请团队成员
使用邀请码系统:
- Alice 进入项目详情页
- 在 Invitations 区块设置:
- 有效期:7 天
- 点击 "Create Invitation"
- 系统生成邀请码:
ABCD1234EFGH - Alice 将邀请码通过 IM/邮件发送给 Bob 和 Charlie
Bob 注册:
- 访问系统,点击登录
- 看到注册表单,输入:
- 用户名:bob
- 密码:******
- 邀请码:
ABCD1234EFGH
- 点击 "Create User"
Charlie 注册:使用相同流程
第二步:配置 LLM
Alice 设置项目级 LLM 配置(项目费用统一核算):
- Alice 进入项目详情页
- 在 LLM Configuration 区块填写:
- Provider: GLM (Zhipu AI)
- API Key: 项目专用 API Key
- Base URL: https://open.bigmodel.cn/api/paas/v4/
- Model: glm-4-plus
- Temperature: 0.7
- Max Tokens: 4096
- 点击 "Save Configuration"
结果:该项目所有 Agent 调用都使用项目配置,费用统一核算到项目。
第三步:创建 Slice
Alice 创建一个新的开发 Slice:
| 字段 | 填写内容 |
|---|---|
| Title | 添加用户商品评论功能 |
| Scope | 用户可以对商品发表评论、评分、查看评论列表;管理员可以删除不当评论 |
| Out of Scope | 不包含评论点赞、评论回复、图片上传功能 |
| Risk Level | low-write |
第四步:设定验收标准
Alice 在 Slice 详情页添加验收标准:
Code: AC-001
Text: 用户可以查看指定商品的所有评论
Verification: GET /api/products/{id}/reviews 返回评论列表
Code: AC-002
Text: 用户可以提交商品评论(评分 1-5 星 + 文字内容)
Verification: POST /api/products/{id}/reviews 创建评论,数据库验证
第五步:生成上下文包
Bob 点击 "Generate Context Pack",系统自动收集上下文信息。
第六步:执行 PM Agent(AI 辅助需求分析)
6.1 Bob 触发 AI Agent
点击 PM → Run。
系统后台执行流程:
1. 创建独立的 Git Worktree
├── 路径: workspace/project_1/worktrees/run_1_slice_0001/
└── 基于 branch: slice-1-add-product-comments
2. 获取有效 LLM 配置(项目级配置)
└── API Key: 项目专用 API Key
└── Model: glm-4-plus
3. 调用 PM Agent(使用 GLM-4.7)
├── 输入: Context Pack + 验收标准 + 现有代码
├── System Prompt: "你是一位经验丰富的产品经理..."
├── User Prompt: 详细的需求描述和 AC
│
└── GLM-4.7 输出: AI 生成的 PRD 文档
4. 写入文件
├── docs/PRD.md (PM Agent 生成的 PRD)
├── docs/ACCEPTANCE.md (验收标准文档)
└── tasks/0001-slice-1.md (任务卡片)
5. Git 自动提交
└── commit: "slice 1: pm artifacts"
6.2 GLM-4.7 生成的 PRD 文档
AI 生成的 PRD:
markdown
📁 docs/PRD.md
## Slice 1: 添加用户商品评论功能
### 背景与目标
- 背景:当前电商系统缺少用户互动功能,无法了解用户对商品的真实反馈
- 目标:增加用户评论功能,提升购买转化率和用户参与度
### 用户故事
- US-001 作为买家,我希望查看商品评论,以便做出购买决策
- US-002 作为买家,我希望发表商品评论,以便分享使用体验
- US-003 作为管理员,我希望管理不当评论,以便维护社区氛围
### 业务规则
- 规则:
- 每个用户对每个商品只能评论一次
- 评论内容长度限制在 500 字以内
- 评论需要管理员审核后才能公开显示
- 评分范围 1-5 星
- 边界:
- 不支持评论编辑和删除(用户)
- 不支持评论回复和点赞
- 异常流程:
- 评论提交失败返回 400 错误
- 重复评论返回提示信息
6.3 Bob 审核并迭代
Bob 发现的问题:
- ❌ 缺少评论内容审核机制
Bob 的处理(方式 A:重新运行):
-
Bob 在 AC 中补充:
Code: AC-006 Text: 管理员审核后评论才公开 Verification: 新建评论默认状态为 pending -
重新点击 PM → Run
-
GLM-4.7 根据补充的 AC 更新了文档:
markdown### 业务规则 - 规则: - 每个用户对每个商品只能评论一次 - 评论内容长度限制在 500 字以内 - 评论需要管理员审核后才能公开显示 ⭐ 新增 - 评分范围 1-5 星
Bob 确认:PRD 现在完整了,继续下一步。
第七步:执行 Architect Agent(AI 辅助架构设计)
7.1 Bob 触发 AI Agent
点击 Architect → Run。
GLM-4.7 生成的架构文档:
markdown
📁 docs/DESIGN.md
## Slice 1: 添加用户商品评论功能
### 系统架构
- 整体架构:分层架构(Controller → Service → Repository)
- 模块划分:reviews API 模块、Review 数据模型
### API 契约
- RESTful API 设计
- 请求/响应格式:JSON
- 错误码定义
### 数据模型
GLM-4.7 生成的 OpenAPI 规范:
yaml
📁 contracts/openapi.yaml
openapi: 3.0.0
info:
title: Product Reviews API
version: 1.0.0
paths:
/api/products/{id}/reviews:
get:
summary: 获取商品评论列表
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: page
in: query
schema:
type: integer
default: 1
responses:
200:
description: 成功
第八步:执行 Dev Agent(AI 辅助代码开发)
8.1 Charlie 触发 AI Agent
点击 Dev → Run。
GLM-4.7 生成的代码:
python
📁 src/models/review.py
from datetime import datetime
from sqlalchemy import Column, Integer, Text, String, DateTime, ForeignKey
from sqlalchemy.orm import relationship
from src.db import Base
class Review(Base):
__tablename__ = 'reviews'
id = Column(Integer, primary_key=True)
user_id = Column(Integer, ForeignKey('users.id'), nullable=False)
product_id = Column(Integer, ForeignKey('products.id'), nullable=False)
rating = Column(Integer, nullable=False)
content = Column(Text, nullable=False)
status = Column(String(20), default='pending')
created_at = Column(DateTime, default=datetime.utcnow)
# 关系
user = relationship("User", back_populates="reviews")
product = relationship("Product", back_populates="reviews")
python
📁 src/api/reviews.py
from fastapi import APIRouter, Depends, HTTPException
from pydantic import BaseModel, validator
class ReviewCreate(BaseModel):
rating: int
content: str
@validator('rating')
def validate_rating(cls, v):
if not 1 <= v <= 5:
raise ValueError('Rating must be between 1 and 5')
return v
@router.post("/{product_id}/reviews", status_code=201)
def create_review(
product_id: int,
review: ReviewCreate,
db: Session = Depends(get_db),
current_user: dict = Depends(get_current_user)
):
"""创建商品评论"""
# Pydantic 自动验证评分
# 检查重复评论
existing = db.query(Review).filter(
Review.user_id == current_user['id'],
Review.product_id == product_id
).first()
if existing:
raise HTTPException(
status_code=400,
detail="User has already reviewed this product"
)
# 创建评论
new_review = Review(
user_id=current_user['id'],
product_id=product_id,
rating=review.rating,
content=review.content,
status='pending' # 默认待审核
)
db.add(new_review)
db.commit()
return new_review
第九步:执行 QA Agent(AI 辅助测试)
9.1 Charlie 触发 AI Agent
点击 QA → Run。
GLM-4.7 生成的测试用例:
python
📁 tests/integration/test_reviews_api.py
import pytest
from fastapi.testclient import TestClient
def test_get_reviews_pagination(client: TestClient, db_session):
"""测试评论列表分页(AC-005)"""
# 准备 25 条评论
for i in range(25):
review = Review(
product_id=1,
user_id=i,
rating=5,
content="Test",
status='approved'
)
db_session.add(review)
db_session.commit()
# 请求第一页
response = client.get("/api/products/1/reviews?page=1&page_size=20")
assert response.status_code == 200
data = response.json()
assert data['total'] == 25
assert data['page'] == 1
assert len(data['data']) == 20
def test_create_review_success(client: TestClient, auth_headers):
"""测试成功创建评论(AC-002)"""
response = client.post(
"/api/products/1/reviews",
json={"rating": 5, "content": "Great product!"},
headers=auth_headers
)
assert response.status_code == 201
data = response.json()
assert data['rating'] == 5
assert data['status'] == 'pending' # 待审核
第十步:执行 Ops Agent(AI 辅助运维文档)
点击 Ops → Run。
GLM-4.7 生成的部署文档:
markdown
📁 docs/DEPLOY.md
# 评论功能部署指南
## 数据库迁移
```sql
CREATE TABLE reviews (
id SERIAL PRIMARY KEY,
user_id INTEGER NOT NULL REFERENCES users(id),
product_id INTEGER NOT NULL REFERENCES products(id),
rating INTEGER NOT NULL CHECK (rating >= 1 AND rating <= 5),
content TEXT NOT NULL,
status VARCHAR(20) DEFAULT 'pending' CHECK (status IN ('pending', 'approved', 'rejected')),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_review_product ON reviews(product_id);
CREATE INDEX idx_review_user ON reviews(user_id);
CREATE INDEX idx_review_status ON reviews(status);
-- 防止用户重复评论
CREATE UNIQUE INDEX idx_review_user_product ON reviews(user_id, product_id);