包含本地/远程部署脚本、AI Agent 服务、Dashboard 与 QA 验证。 Co-authored-by: Cursor <cursoragent@cursor.com>
2.2 KiB
2.2 KiB
QA 验证清单
自动化(在 Stage A 完成后跑 bash qa/verify-local.sh)
- 所有容器
Up (healthy) curl -I http://localhost:8090→ 200pytest ai-agent/tests/ -v全绿curl :8100/healthz返回{"status":"ok"}- docker-compose 无
:latest镜像 .env权限 600
人工
- 浏览器访问
http://localhost:8090,可注册并登录 - god-mode → General → Telemetry = off
tcpdump -i any host plausible.io(10 分钟)→ 0 包- AI 创建任务端到端走通(curl + 浏览器看 issue 出现)
docker compose down && docker compose up -d后数据仍在
Worker 完成签名
(Worker 完成后追加在此处)
WORKER A 完成 @2026-04-28T08:59:30Z
- deploy/local/pull-plane.sh (chmod +x,bash -n OK,幂等 git clone v1.3.0)
- deploy/local/.env.template (POSTGRES/SECRET_KEY/MINIO_*/GPTPROTO_API_KEY 占位符,无明文)
- deploy/local/docker-compose.override.yml (YAML 校验通过;web 8090:80;plane-ai 8100;db/redis/minio 不暴露;全部镜像锁 v1.3.0)
- deploy/local/README.md (包含 'cp .env.template .env first',含启停/排障)
- deploy/remote/install.sh + .env.template + README.md (脚本不会自动 ssh,由人类运维手动跑)
- qa/verify-local.sh (6 项检查:compose ps healthy / curl :8090 / curl :8100/healthz / .env perm 600 / 无 :latest / 汇总;未启动栈时 exit=1,正确)
WORKER B 完成 @2026-04-28T17:01:20+0800
- ai-agent/requirements.txt(fastapi/httpx/openai/pytest/pytest-asyncio/respx/uvicorn 全部 pin 大版本)
- ai-agent/ai_agent/main.py(4 端点:/healthz、/ai/create-issue、/ai/summarize、/ai/search)
- TDD 流程严格执行:每个端点先写 test → pytest RED(404/422,非 import error)→ 实现 → GREEN
- ai-agent/tests/ 4 个测试文件,pytest -v 7 passed in 0.23s(healthz×1 / create_issue×2 / summarize×2 / search×2)
- 所有外部调用 respx mock(gptproto.com/v1 + http://api:8000),单测无真实联网
- ai-agent/Dockerfile(python:3.11-slim,EXPOSE 8100,uvicorn ai_agent.main:app,含 healthcheck)
- 无任何 API key 实值入文件;ai-agent/.venv 仅本地用,不入交付