把一句需求,扔进锻造炉,出来一个工业级全栈网站。 一个专属于 DeepSeek Harness 的 Skill:9 阶段强制流水线 × 9 道独立质检门禁 × 三角色对抗评审 × 人工在环,把"成熟全栈工程师从零到上线"的完整方法学,编码成可复现的自动化系统。
FullStack Forge(全栈锻造) 是一个为 DeepSeek Harness(Web GUI 智能体平台)设计的 Skill 包。你在对话框里说一句"帮我做一个 XX 网站",它会自动走完:
需求审析 → 架构选型 → 数据建模 → NestJS 后端 → React 前端
→ 安全加固(OWASP) → 测试 → Docker 部署 → 三角色对抗评审 → 终版
每一步有独立质检(写代码的 Agent 永远不能质检自己的产出),每一道门禁按证据裁决,FAIL 就退回修复、复验,直到通过。产出物不只是代码——还有可审计的全流程报告。
FullStack = 全栈(前端 + 后端 + 数据库 + 部署);Forge = 锻造炉——一句话需求就像矿石,经过 9 道工序的高温锤炼、质检敲打(门禁)、对抗淬火(三角色评审),锻出的是工业级成品,不是能跑的草稿。
通用 Agent 建网站的三个致命问题,本 skill 用工程手段解决:
| 通用 Agent 的问题 | FullStack Forge 的对策 |
|---|---|
| 想到哪写到哪,安全"后面再补" | 9 阶段强制流水线:安全(阶段6)与测试(阶段7)是硬阶段,禁止跳步 |
| 自己写的代码自己说"没问题" | 角色分离铁律:独立只读质检 Subagent 按证据裁决,FAIL 必退回 |
| 一次生成,好坏靠运气 | 对抗评审闭环:三角色并行打分,加权 <8.0 退回重改,最多 3 轮 |
| 聊到一半忘了上下文 | 状态持久化:decision_log.json + resume_point,中断可恢复 |
| AI 幻觉假装完成 | 落盘即证据:产物文件不存在 = 阶段未完成;质检只认实测 |
| 层 | 选型 | 说明 |
|---|---|---|
| 前端 | React 19 + Vite + TypeScript (strict) | 路由守卫、401 自动刷新、zod 表单、三态、a11y |
| 后端 | NestJS 11 + TypeScript (strict) | 模块化、DTO 校验、RBAC Guard、审计拦截器 |
| 数据库 | PostgreSQL 16 + Prisma ORM | 参数化查询、迁移管理、索引与级联规范 |
| 部署 | Docker + docker-compose | TLS 终结、非 root 镜像、迁移先行、健康检查依赖链 |
- OWASP Top 10 (2021) 逐条落地:越权/加密失败/注入/不安全设计/配置错误/易受攻击组件/认证失败/完整性/日志监控/SSRF,每条有实现位置与验证方法
- 认证授权:argon2id 密码哈希 + JWT access 15min/refresh 7d 轮换 + 重放家族撤销 + RBAC
- 传输与配置:nginx TLS 1.2+ 终结 + HSTS + CSP + 非 root 容器 + 密钥零入库 + env fail-fast 强度校验
- 防护:防 IDOR(无权 404 不泄露存在性)、登录限流+失败锁定、SameSite=Strict + Origin 校验双 CSRF 保险、审计日志(含 IP/UA)
- 依赖:npm audit 0 漏洞门禁
| 门禁 | 触发时机 | 被审产物 | 通过标准 |
|---|---|---|---|
| R1 | 需求审析后 | REPORT §1 | 需求完整性 8 项 |
| A1 | 架构选型后 | REPORT §2 + OpenAPI | 架构合理性 7 项(含契约 lint 0 errors) |
| D1 | 数据建模后 | prisma schema + 迁移 | 建模规范 8 项 |
| B1 | 后端实现后 | backend/ | 构建通过 + 规范 8 项 |
| F1 | 前端实现后 | frontend/ | 类型检查+构建 + 规范 8 项 |
| S1 | 安全加固后 | 全站 | OWASP 10 项 ⛔硬阻断 |
| T1 | 测试后 | 测试报告 | 单测/e2e/构建全绿 + 安全用例 |
| O1 | 部署就绪后 | compose/Dockerfile | 就绪 8 项 |
| W1 | 对抗评审后 | 终版 | 加权均分 ≥ 8.0 ⛔硬阻断 |
外加 AP1(后端)/ AP2(前端)/ AP3(安全)反模式硬阻断:48 条反模式弹药库(每条含编号、级别、grep 可复现的识别特征、危害、修复方案),High 级命中 = 必须退回修复,不允许带病进入下一阶段。
🛑 人工在环:H1(需求后)/ H2(安全后)/ H3(终版前)三个检查点强制暂停,把关键产物交给你做"合理性嗅探"——AI 承认自己不是产品经理,也不是安全专家。
三个评审角色并行批改同一份站点,加权聚合评分:
| 角色 | 职责 | 权重 |
|---|---|---|
| ff-arch-reviewer 架构师 | 分层、模块边界、API 设计、数据模型 | 30% |
| ff-security-reviewer 安全专家 | OWASP 覆盖、认证授权、密钥、攻击面 | 40% |
| ff-quality-reviewer 质量专家 | 可维护性、类型安全、测试、文档 | 30% |
规则:加权均分 < 8.0 → 退回修改重评(最多 3 轮);任一维度 < 6.0 触发硬上限直接判 FAIL;三角色分差 > 2.5 触发仲裁(ff-reasoner 复核)。
samples/taskflow/ 是本 skill 的实战验证——一个团队任务管理平台,完整走完 9 阶段,全部数字为独立质检实测:
| 指标 | 结果 |
|---|---|
| 12 道门禁 | ✅ 全 PASS(R1/A1/D1/B1/AP1/F1/AP2/S1/AP3/T1/O1/W1) |
| 对抗评审 | 第 1 轮 7.3 分 → 修复 8 个 High → 第 2 轮 8.04/10 PASS |
| 后端测试 | 13 单测 + 35 e2e(PGlite 真实 PostgreSQL 语义,无需 Docker) |
| 前端测试 | 25 用例 + tsc strict + build + lint 全绿 |
| 依赖安全 | 双端 npm audit 0 漏洞 |
| 部署验证 | prisma migrate deploy 在裸库实测成功 |
门禁的实战价值:独立质检 Subagent 在样本上逼出并修复了 20+ 个真实缺陷——YAML 语法错误、OpenAPI 3.1 规范违例、生产无 TLS 硬伤、migration_lock 文件损坏、trust proxy 缺失(限流与审计 IP 失效)、邮箱大小写绕过、锁定 DoS、前端静默清空指派的数据丢失 bug……每一轮 FAIL→修复→复验都记录在 samples/taskflow/state/,全程可审计。
git clone https://github.com/Linference/FullStack-Forge.git
# 将 skill/ 目录复制到 DSH host 的技能目录(如 C:\Users\你\.agents\skills\fullstack-forge)在会话中输入 /fullstack-forge + 你的网站需求,流水线自动执行,H1/H2/H3 会暂停向你确认。
把 skill/SKILL.md 全文作为系统提示词粘贴到 DSH 会话,工作流脚本(skill/workflows/*.js)用 workflow 工具逐段执行,效果一致。
cd samples/taskflow
cp .env.example .env # JWT_ACCESS_SECRET 改成 ≥32 字符随机值
docker compose up -d --build
# 或本机无 Docker: node backend/scripts/pglite-server.js 5433 + npm run start:prodskill/
├── SKILL.md # 主技能定义(流水线/门禁/评审协议)
├── VERSION · CHANGELOG.md
├── references/ # 9 本专家参考手册
│ ├── 01-requirements-analysis.md 需求审析
│ ├── 02-architecture-selection.md 架构选型
│ ├── 03-data-modeling.md 数据建模(Prisma+PG)
│ ├── 04-backend-engineering.md NestJS 后端规范
│ ├── 05-frontend-engineering.md React 19 前端规范
│ ├── 06-security-hardening.md OWASP Top10 安全加固
│ ├── 07-testing-gates.md 测试门禁
│ ├── 08-deployment-ops.md Docker 部署运维
│ └── 09-anti-patterns.md 48 条反模式弹药库(AP1/AP2/AP3)
├── workflows/
│ ├── fullstack-build.js 主流水线(阶段0→9+门禁派发+FAIL中断守卫)
│ └── adversarial-review.js 三角色对抗评审(加权/硬上限/仲裁)
├── templates/ docker-compose/.env.example/.gitignore/README 模板
└── scripts/doctor.js 环境自检(Node/npm/Docker/端口)
samples/
└── taskflow/ 验证样本: 团队任务管理平台(完整走完 9 阶段)
- 多技术栈矩阵(Python/FastAPI、Vue 等按需求自动选型)
- 锁定计数 Redis 化(多实例部署)
- OpenAPI → 前端类型 codegen(消除手工契约漂移)
- GitHub Actions CI 模板集成到阶段 8
- 评审证据自动回写 PR 评论
MIT