从全封闭内网的困境出发,八个章节逐个问题给出解决方案与技术实现,直至 24 小时全自动开发落地。
本单位实行全封闭式管理,数据保密要求最高;与此同时,AI 正在重写软件开发的生产方式,用得上的单位与用不上的单位,生产力差距按月拉大。本方案回答一个问题:在数据绝对安全的前提下,如何让全单位用上大模型,并实现 24 小时不间断的自动开发。
AI 编程智能体在 2025–2026 年跨过实用门槛,行业头部已进入"人指挥、机器写"的阶段;同时我们的容器云桌面平台 察元AI工舱 已建成,底座就绪,只差工厂外围。
"隔离上网 + 远程工作区隔离"是安全行业验证多年的标准架构(协议中断、像素流、网闸摆渡),我们做的是把它与 AI 数字员工工厂组合落地,而非发明新安全模型。
四阶段推进,每一级自动化权限都以上一阶段的验收数据为前提;所有护栏做在系统里不依赖自觉。风险前置识别(12 个阶段性问题逐条有对策)。
全篇按"标准方案文档"逻辑组织:先讲清为什么做(问题与需求),再给设计准则与总体架构,然后分组详解,最后落到实施、成效、风险与请示。
全封闭内网既要用上最强 AI 生产力、又要守住保密底线。本方案用"隔离上网 + 容器化数字员工 24×7 自动开发"一次性回答这对矛盾。下面四句话是全篇骨架。
云端 AI、开源生态进不来;一联网又有泄密与入侵风险,产能与成本还难两全——共九大问题。
仅一台服务器联网(DMZ),容器化 AI 数字员工 7×24 自动领单、写码、自测、评审,人只在关口裁决。
开发产能 8h→24h、周期缩短、成本可控;安全从"识别拦截"升级为"结构性不存在",全程留痕。
试点范围、服务器扩容、采购与预算、组织与制度配套——详见结尾"结论与请示"。
解决一个问题会引出下一个:基础环境不通,谈不上研发效能;效能上来了,资源与组织问题随之而来。每个问题的解法在对应章节展开。
先立标尺,再看方案。目标分两类:能干成什么(功能需求),以及必须守住的硬约束(非功能需求)。后续每一章都在满足其中某几条。
数字员工无人值守完成 领单→写码→测试→评审→交付 全链路。
各部门可配置自己的数字助手,带个人/部门记忆,不写代码即可用。
低代码底座 + 服务化扩展,业务系统"新增服务/页面/配置"即成。
| 非功能需求 | 要求 | 衡量 / 判据 |
|---|---|---|
| 保密隔离 最高 | 数据与危险不出内网,跨界只保留可枚举的三条受控通道 | 零泄密事件;边界通道全留痕可审 |
| 产能 | 支撑约 50 个数字员工 + 常驻助手并发 | 并发数达标;一次通过率纳入 KPI |
| 成本可控 | 模型费用分层路由、可预算、可熔断 | 单任务/全局费用触顶自动熔断;ROI 达标 |
| 合规审计 | 全流程留痕、可追溯、可裁决 | 每次变更/操作有记录;高风险人签批 |
| 可迁移 | 模型与工具可替换,防厂商锁定 | 模型经网关一键切换;技能资产跨平台复用 |
同样的问题有很多种解法,本方案的取舍遵循以下六条原则。每一章的技术决策都能追溯到其中一条。
安全不靠"识别拦截坏流量"(永远有漏网),靠"内网数据在联网环境里结构性不存在"。
AI 执行、人裁决;高风险动作必须人签批。AI 提效,人担责。
规则硬编码、全程留痕、可审计,不靠自觉——熔断、门禁、白名单皆如此。
模型与工具可替换,技能资产可迁移;关键处保留国产/内网替代路径。
复用成熟开源与现有平台(察元AI工舱、JeecgBoot 等),不重复造轮子。
自动化权限靠上一阶段实测数据挣来,不一步到位,风险随信任逐级放开。
全单位仅一台服务器联网(DMZ 隔离区),其上以 Docker 部署多套 察元AI工舱 容器。安全靠"隔离上网",产能靠"数字员工",两者共用同一个容器底座。
协议中断 + 像素流:内外网无直接连接,出去只有键鼠、回来只有像素;文件进出只走摆渡;编译调试交付留在内网内部机。
每员工一容器,人机同环境;调度器派单、AI 开发、CI 与交叉评审双门禁、人做终审,昼夜循环不间断。
全部组件可私有化部署、可审计;唯一自研件是调度器(约千行)。成本经网关统一计量熔断,组织按新角色分工运转。
| 层 | 核心选型 | 职责 |
|---|---|---|
| 基座 | 察元AI工舱(容器化云桌面)· Docker · Squid · Vector/Loki | 员工工作台、出网白名单、审计外送 |
| 研发 | GitLab CE + Runner · Nexus · Playwright | 工单/代码/CI、依赖库、端到端测试 |
| 智能体 | Claude Code(开发)· Codex(评审)· OpenClaw(值班)· LiteLLM + vLLM(网关/本地模型) | 数字员工引擎、交叉评审、模型路由与计量 |
| 调度与安全 | Temporal(工单生命周期)+ systemd timer/DolphinScheduler(定时批处理)+ 自研规则层 + agent-bridge · gitleaks/Trivy/ClamAV · Prometheus + VictoriaMetrics + 夜莺 + Grafana | 派单/回炉/超时/晨审签批由 Temporal 承载,摆渡班次等定时作业走 timer;三重扫描(阶段二增配 Semgrep/Dependency-Track);监控告警 |
把系统骨架立体拆开看——下层是地基(隔离、设施),中层是大脑(智能体),上层是护栏与业务(观测、底座)。鼠标悬停某层可"抬起"查看。每层软件的搭建步骤见第十一章部署手册。
引擎与模型均为可替换候选:默认 Claude Code + Sonnet/Opus,评审用 Codex/GPT-5.5,涉密走内网自托管 Qwen Code / DeepSeek / GLM 等——具体产品以评测集实测选定,经 LiteLLM 网关一键切换,不锁死任何厂商。
同一套平台,一天里角色在"人"与"机"之间交接。人工上班时间为 9:00–18:00。超六成时间(夜间 15 小时)是无人值守自动开发——这正是产能从 8 小时跃到 24 小时的来源。
调度器派单 → Claude Code 写码 → 自测/扫描 → 交叉评审 → 门禁裁决 → 不过自动回炉。几十个容器并行,全程无人。
值班架构师到岗即批阅夜间产出:合并 / 驳回 / 转人工——人握终审,责任可追。
人定方向:写需求、编任务卡、复杂设计、复盘沉淀技能;同时用订阅额度人机结对开发。
下图按全生命周期把"人"(上方紫色泳道:架构师/产品/值班)与"机"(下方青色泳道:数字员工/流水线)用连线接力起来。光点会自动巡游每个节点;把鼠标移到任一节点(或点击)即可在右侧看到这一步做什么、用什么技术、解决什么问题、去哪安装/部署。
Claude、GPT 等最强 AI 编程引擎全在云端,内网不通,数字员工体系无从谈起。
GitHub、npm、pip 进不来,依赖更新、安全补丁、新工具全部滞后。
文档、社区问答无法检索,同类问题外面十分钟解决,我们要一天。
更隐蔽的门槛:就算隔离上网放行了 anthropic.com,国内机房 IP 直连仍被 Anthropic 按地域拒服务(403/451),Claude Code 连登录都过不去——"能出网"≠"用得上"。
数据可藏在加密流量里外流,防火墙看不见隧道内容。
恶意网页、投毒开源包直接在存有数据的终端执行。
一台失陷即横向渗透,封闭内网素来缺纵深防御。
回答不了"什么数据、经谁、何时出去了"。
全单位仅一台服务器联网、划入 DMZ 隔离区,所有外网工作发生在它的容器里;人通过浏览器远程操纵容器桌面。这套模式的正式名称:
| 层次 | 标准术语 | 通俗解释 |
|---|---|---|
| 网络总体 | 物理隔离(Air Gap)+ DMZ 隔离区 | 内网照旧断网;联网服务器单独圈起来 |
| 上网模式 | 隔离上网 · 远程工作区隔离 | 人不直接上网,远程操纵隔离区里的桌面替自己干活 |
| 边界机制 | 协议中断 + 像素流传输 | 内外网在服务器上"断开";网页和文件永远不以原始形态进内网 |
| 数据交换 | 网闸式受控摆渡 | 确需带回的文件走"扫描→审批→单向导入",全程留痕 |
# 禁 IP 转发:内外网卡之间无任何路由
echo "net.ipv4.ip_forward = 0" >> /etc/sysctl.d/99-dmz.conf
sysctl --system
# 内网口只放行容器端口 + 堡垒机 SSH
nft add rule inet filter input iifname "eth0" \
tcp dport { 6901-6999 } accept
nft add rule inet filter input iifname "eth0" \
ip saddr <堡垒机IP> tcp dport 22 accept
nft add rule inet filter input iifname "eth0" drop
# 容器出网只能走 Squid,其余出站全拒
nft add rule inet filter forward oifname "eth1" \
ip saddr <容器网段> ip daddr != <squidIP> drop
tlog 全程录屏acl allowed dstdomain .anthropic.com .openai.com
acl allowed dstdomain .github.com .npmjs.org
acl allowed dstdomain .pypi.org .docker.io
http_access allow localnet allowed
http_access deny all # 白名单外一律拒绝
# 全量访问日志 → Vector → Loki 留痕
# 数字员工/开发容器 .env 基线
CLIPBOARD_IN=0 # 禁 内网→容器 粘贴(防泄密)
FILES_UPLOAD=0 # 禁上传内网文件
FILES_DOWNLOAD=0 # 禁会话内下载,成果走摆渡
# 服务端强制(云桌面引擎参数 + 后端 403)
从国内服务器直连 Claude、GPT,会被 AI 服务商按来源地封锁,连登录都过不去。与其在国内绕来绕去,不如把真正跑 Claude Code 的 AI 工舱直接搬到美国——反正内网与工舱之间跨境的只有像素和键鼠,工舱在美国,内网照样一分不泄。
AI 服务商按请求来源的国家/地区拦截:国内机房直连 Claude、GPT 一律被拒;账号、付费也要求海外主体,用国内环境硬撑极易被判异常而封号。
这套方案的命门是"出去的只有键鼠,回来的只有像素"。内网只收画面、从不发出真实数据——AI 工舱摆在国内还是美国,对内网的隔离性毫无区别。
AI 工舱(含数字员工池)托管美国,Claude、GitHub 全部原生可用;境内保留一个隔离接入区做像素流中继、摆渡与审计,内网只连它、不直接出境。
| 可选路线 | 能否用上 AI | 复杂度 / 说明 | 代码存放 | 结论 |
|---|---|---|---|---|
| ① 全在国内、直连 | 连不上(被封锁) | — | 国内 | 不可行 |
| ② 国内工舱 + AI 请求走美国中转 | 能用 | 要多搭中转/网关,链路更绕 | 国内 | 可行但更复杂 |
| ③ AI 工舱托美国 + 境内隔离接入区 | 原生可用 | 工舱原生上网;境内留合规抓手 | 美国(仅非涉密) | 推荐 |
把 AI 工舱放美国,很多人第一反应是"数据会不会跑出去"。不会——内网的安全边界一点没变,只是内网连的那个境内隔离区,再往外接了一段跨太平洋的加密链路。三个关心的点,逐一说清。
内网仍物理隔离,只连境内隔离区;跨界仍只有两条可枚举通道——像素流(键鼠出、画面回)+ 摆渡(扫描·审批·单向)。真实业务数据从不出内网;涉密代码永不出内网、涉密任务用内网自己的 AI。
白天真人操作美国工舱桌面,像素流跨太平洋约 150–250ms,手感略钝但可用,选美西机房 + 调优可缓解。而夜间 15 小时数字员工无人值守,没人盯屏,延迟完全无所谓——产能主力恰在这里。
美国工舱里只有非涉密开发代码(按定义就不敏感);涉密项目全程在内网、永不上美国工舱。成果回内网仍走摆渡:扫描 + 审批 + 单向导入,合规抓手留在境内隔离区。
开发在隔离区(有 AI、快),但交付物必须可信、联调必须用真实数据——所以编译、调试、交付都在内网内部机。两侧靠摆渡形成闭环:
# A. 代码:git bundle(含完整历史,逐 commit 可审)
git bundle create projA-$(date +%F).bundle main
sha256sum *.bundle > manifest.sha256
# B. 依赖快照:Nexus 导出 + 软件成分清单
syft dir:/nexus-cache -o spdx-json > deps-sbom.json
tar czf deps-snapshot.tgz /nexus-cache/{npm,pypi}
# C. 出区前三重扫描(任一不过即拒绝)
clamscan -r /ferry/out/ --infected # 病毒
gitleaks detect --source /ferry/out/ # 密钥
trivy fs /ferry/out/ --severity HIGH,CRITICAL \
--exit-code 1 # 漏洞
git fetch xx.bundle 导入# 内网 Nexus 配置为唯一依赖源
npm config set registry \
https://nexus.intra/repository/npm-offline/
# 内网 Runner 全局禁外联
NO_PROXY=* ; HTTP_PROXY= ; HTTPS_PROXY=
# new-workbay.sh —— 一条命令、交互式,无需记参数
./new-workbay.sh
# ↳ 输入①工舱用户名(小写字母/数字/-_,1–32 位)
# ↳ 输入②登录密码
# 内部动作(全自动):
# 1. 校验 chatop:<VERSION> 镜像;从 6901 起自动避让空闲端口
# 2. 落盘 workbays/<用户名>/:.env + docker-compose.yml + workbay.json
# 3. docker compose -p chatop-<用户名> -f docker-compose.yml up -d
# (绑定挂载 workbays/<用户名>/home → /home/admin,重建不丢数据)
# 4. 隔离基线随 .env 下发、可固化成角色模板:
# CLIPBOARD_IN/OUT、FILES_UPLOAD/DOWNLOAD、FILES_DIR
# 完成 → https://localhost:<自动分配端口>
# 改名 / 改密:./reset-workbay.sh <用户名>
bot/* 分支和开 MR,不能合并、不能碰保护分支,令牌 90 天轮换git clone 全新目录,结束即删;容器每周日凌晨销毁重建(seed-home 播种),杜绝环境漂移现有服务器:Intel Xeon Silver 4210 · 20 逻辑核(10 物理核 × 超线程)· 内存 608 GB · 硬盘 50 TB。关键前提:大模型推理在远端(API / 网关),容器本身不跑模型——所以单容器主要消耗在云桌面、编译与测试,CPU 才是约束。
| 容器用途 | vCPU | 内存 | 磁盘 |
|---|---|---|---|
| 交互云桌面(白天) | 2 | 4 GB | 60–100 GB |
| 无头开发容器(夜间数字员工) | 1–2 | 2–4 GB | 40–80 GB |
| 组件 | 合计 |
|---|---|
| GitLab+Runner · Nexus · Temporal+PG · Redis · LiteLLM · 观测栈 | ≈ 6 vCPU · 24 GB · ~2 TB |
| 资源 | 可用 | 理论席位 | 是否瓶颈 |
|---|---|---|---|
| CPU | 20 − 6 = 14 核 | 2×超配 ≈ 14–20 | ← 瓶颈 |
| 内存 | 608 − 24 = 584 GB | ÷4GB ≈ 140 席 | 富余 |
| 硬盘 | 50 − 2 = 48 TB | ÷80GB ≈ 600 席 | 富余 |
现有单机(20 线程)稳健支撑约 10–16 席。目标 50 个并发数字员工并叠加常驻业务智能体后,瓶颈仍是 CPU 与构建 I/O——内存和硬盘现有配置基本够用。前提不变:各类智能体的推理都在远端 API / 网关,本机不跑模型。
| 项目 | 估算 |
|---|---|
| 数字员工并发 50(每席均值 ~1.5 vCPU,含编译/测试峰值) | ~75 vCPU → 1.5×超配 ≈ 50 线程 |
| 常驻业务智能体池(OpenClaw / Hermes / OpenHuman ~10–20 个) | ~5 vCPU |
| 平台服务(GitLab + 多 CI Runner · Nexus · Temporal · Redis · LiteLLM · 观测栈) | ~10–12 vCPU |
| CPU 合计 | ≈ 64 物理核 / 128 线程 |
| 内存 | 50×4GB + 平台 ≈ 256GB(建议 512GB) |
| 磁盘 | 50×80GB + 制品/缓存/日志 ≈ 8–10TB(NVMe) |
| 路径 | 配置 |
|---|---|
| 集中一台 (scale-up) | CPU:2× Xeon Gold(如 6338 32C/64T ×2 = 64C/128T)或 1× AMD EPYC 9004(64C/128T);内存 512GB;磁盘 8–16TB NVMe SSD;万兆内网 |
| 多台横向 (scale-out) | 3–4 台 24–32 核服务器组成容器集群,调度器跨机分发工单;现有 4210 机可作其中一台(承载 ~12 席),逐步加机扩容 |
工单 = GitLab Issue,状态用标签驱动,调度器与 CI webhook 推动流转。任何失败路径回到"开发中"(回炉)或"等人"(blocked)。
工具:GitLab Issue 模板。写不出验收标准的任务不许打 ready 标签——整条流水线质量的源头闸门。
# .gitlab/issue_templates/task-card.md
---
task_id: PROJ-1234
classification: open # open | restricted | secret(secret 不进本流水线,留内网)
risk: low # low | medium | high —— 决定 STEP 6 裁决路径
priority: P2 # P0-P3
budget_usd: 8 # 本单模型费用上限(STEP 8 熔断依据)
touches: [src/api/user, tests/api] # 触碰模块(STEP 2 互斥锁依据)
model_tier: standard # standard | premium
---
## 背景
用户列表页需要支持按部门筛选。
## 验收标准(每条必须可翻译为测试)
1. GET /api/users?dept=xx 返回该部门用户,分页保持不变
2. dept 不存在时返回 200 + 空列表(不是 404)
3. 现有 /api/users 全量查询行为不变(回归)
## 约束
- 不许改动 auth 中间件;不许引入新依赖
## 验证命令
pytest tests/api/test_users.py -q
选型:Temporal(MIT 开源,docker compose 自托管,纯内网运行)承载可靠性——每个工单一个持久化工作流:重试上限(回炉计数)、超时兜底、断电续跑、"晨审挂起等人签批"(Signal)全是内置能力。自研只剩业务规则(下方伪代码),经 agent-bridge 下发容器。
# dispatcher 核心逻辑(伪代码)
def dispatch_cycle():
tasks = gitlab.issues(labels=["ready"],
order="priority")
for t in tasks:
card = parse_frontmatter(t)
if card.classification == "secret":
continue # 涉密不进 DMZ
if repo_active(t.project) >= 2:
continue # 同仓库并发 ≤ 2
if module_locked(card.touches):
continue # 模块互斥
bot = pick_idle_bot(healthy=True)
if not bot: break
lock_modules(card.touches, t.id)
gitlab.relabel(t, "assigned", bot)
bridge.send(bot, {"task": t.id,
"budget": card.budget_usd,
"tier": card.model_tier})
redis.hset(f"task:{t.id}",
{"rework": 0, "deadline": "+4h"})
touches 声明的目录加锁,防止两个 bot 改同一片代码冲突RetryPolicy maximum_attempts=3)工具:无头 CLI 智能体 + 规范/技能自动加载 + git。引擎可选——国产 通义灵码/Qoder CLI · Qwen Code 或 Claude Code(下例以 claude -p 示意,各家命令形态相近);涉密项目走国产 CLI + 内网自托管模型(Qwen/DeepSeek/GLM),代码与数据不出网。
# run-task.sh(容器内,agent-bridge 触发)
git clone --depth=50 "$REPO" "/work/$TASK_ID"
cd "/work/$TASK_ID"
git checkout -b "bot/${TASK_ID}-${SLUG}"
claude -p "$(render_prompt task-card.md)" \
--append-system-prompt "$(cat /opt/agent/policy.md)" \
--allowedTools "Read,Edit,Write,Grep,Glob,Bash(git *),Bash(pytest *),Bash(npm test*)" \
--max-turns 300 \
--output-format stream-json \
> /var/log/agent/${TASK_ID}.jsonl
glab mr create 开 MR,描述附:改动摘要、验收标准逐条对照、自测输出、风险自评工具:GitLab CI + pytest/vitest + Playwright + gitleaks/Trivy。失败即带日志自动回炉给原容器(保留上下文)。
# .gitlab-ci.yml(骨架)
stages: [check, build, test, e2e, gates]
lint: { stage: check, script: [npm run lint, ruff check .] }
commit-rules: { stage: check, script: [commitlint --from origin/main] } # 校验提交规范+trailer
build: { stage: build, script: [npm run build] }
unit: { stage: test, script: [pytest -q --cov], coverage: '/TOTAL.*\s(\d+)%/' }
contract: { stage: test, script: [pytest tests/contract -q] } # API 契约测试
e2e: { stage: e2e, script: [playwright test --reporter=junit] } # 浏览器端到端
security: { stage: gates, script: [gitleaks detect, trivy fs . --exit-code 1 --severity HIGH,CRITICAL] }
test-integrity: { stage: gates, script: [python ci/test_weaken_check.py] } # 防作弊(第五章)
eval: { stage: gates, script: [python ci/run_eval.py --baseline main] } # AI 功能评测集
工具:异模型评审——可用国产 DeepSeek / Qwen(经国产 CLI 或网关)或 Codex CLI,评审引擎与开发引擎必须不同模型/不同厂商,防同模型盲区互证(下例以 codex exec 示意,换国产引擎命令相近)。
# review-mr.sh(评审专用容器)
glab mr diff $MR_IID > /tmp/diff.patch
codex exec "你是对抗式评审员。
任务卡:$(cat card.md)
逐条核对验收标准是否真正满足;
找出正确性缺陷、安全隐患、测试造假迹象。
输出 JSON:
{verdict: approve|reject,
risk: low|medium|high,
findings: [{file, line, severity, reason}],
acceptance_check: [...]}" \
--output /tmp/verdict.json
touches 声明范围即 reject)ai-approved 标签 + 风险等级 → 进 STEP 6| 条件(全部满足) | 裁决路径 | 执行者 |
|---|---|---|
risk=low + CI 全绿 + ai-approved + 无 needs-human + 改动 ≤ 400 行 + 不触碰敏感目录(auth / payment / migrations) |
自动合并(merge-bot 调 API,squash 合并) | merge-bot —— 阶段四才开启;阶段三一律进晨审 |
risk=medium/high,或任一门禁挂 needs-human,或回炉 ≥ 2 轮后才通过 |
晨审队列(打 morning-queue 标签) |
值班架构师,次日 09:00–10:00 |
| 回炉满 3 轮仍不过 / 预算耗尽 / 双评审结论冲突 | blocked:停止自动尝试,附完整上下文包 | 晨会分派给人类工程师接手 |
① 看 MR 描述的验收对照表 → ② 看评审 AI 判词 → ③ 抽看关键文件 diff → ④ 三选一:Approve 合并 / 写驳回意见(今晚重跑)/ 转人工。看板 = GitLab MR 按 morning-queue 过滤 + Grafana 夜间战报。
main 禁直推、禁 force push;合并必须 MR + CI 绿 + 至少一个 approval——GitLab 设置层面写死,对管理员同样生效。
合并 main → 自动部署 staging → Playwright E2E + 评测集验收 → semantic-release 自动出版本号和变更日志 → 灰度 5% 观察 30 分钟(错误率/延迟 vs 基线)→ 正常全量、劣化自动回滚。夜间只发 staging,生产窗口默认工作时间。内网生产走摆渡 + 内部机构建(第二章)。
① 按单预算:LiteLLM 给每任务发临时 key(max_budget),超支 API 直接拒绝,任务挂起;② 回炉上限:3 轮不过转 blocked,禁止无限重试;③ 容器/全局熔断:单容器费用异常或连败 2 单移出池;每晚全局费用触顶即停止派单。
每晚夜间战报推送(完成/回炉/blocked、费用、驳回原因 Top3)。驳回归因三类:任务卡不清 → 改模板;规范缺口 → 补 CLAUDE.md/技能;能力不足 → 升档模型或标记仅人工。生产缺陷 RCA 后自动建回归任务卡,回到 STEP 1。
技能(Agent Skills,Anthropic 2025-12 提出的开放标准)= 一个 SKILL.md 目录,把资深工程师的隐性经验打包成机器每次都遵守的显式流程,可移植到 Claude Code / Codex 等。夜间没有人盯着,产出一致性和质量就靠它。
.claude/skills 的行业通用技能(分四类)| 类别 | 技能(举例) | 作用 |
|---|---|---|
| 流程纪律 | brainstorming · TDD · debugging · code-review | 先澄清再动手、测试先行、系统化排障、每个 MR 一致评审 |
| 工程实践 | refactoring · 废弃迁移 · writing-plans · 提交规范 | 安全重构、平滑替换、先计划后编码、可追溯提交 |
| 栈专属 | JeecgBoot 代码生成器/服务模板 · SQL 只读校验 · 前端组件规范 | 底座正确用法、结构化查询安全、组件复用统一 |
| 交付运维 | deployment · observability · 灰度/回滚预案 | 标准化上线、埋点可观测、异常可秒级止血 |
SKILL.md 是开放标准,跨 Claude Code / Codex / Cursor 通用,换模型不用重写流程(需适配执行细节)。
企业版可由管理员统一 provision、默认启用;技能入库像代码一样评审、版本化随仓库走,避免劣质技能污染。
业界共识:大模型编码要可靠,靠的不是"更聪明的提示",而是把约束做进流程与门禁——显式规格、小步增量、遵循既有结构、分层校验。下表按全生命周期逐环节列出约束与落地机制 / 可用技能。
| 环节 | 关键约束(最佳实践) | 落地机制 / 可用技能 |
|---|---|---|
| ① 需求接收 | 必须是结构化任务卡(背景 + 可测验收标准 + 约束 + 预算 + touches 白名单);歧义先澄清、不硬猜;先做保密分级(open/restricted/secret)决定用云端还是内网模型;单卡单一职责、粒度可控,大需求先拆 | 任务卡模板 · 分级签认 · brainstorming(澄清)· writing-plans(拆解) |
| ② 上下文与架构 | 显式声明语言/框架/版本(如 Java 17 + Spring Boot 3);遵循既有目录结构与命名;不跨层调用、守模块边界;匹配周边代码风格(altitude),不夹带无关重构;对外契约向后兼容;底座只调用不修改 | CLAUDE.md 项目规范 · 仓库上下文注入 · base-protect 门禁 · 契约 diff · 代码生成器/服务模板技能 |
| ③ 编码 | 测试先行(TDD):先写失败测试再实现;小步增量——一次一函数/一 bug/一功能,每步跑测试;不新增依赖需审批;文件/函数大小设上限;只动 touches 白名单目录;密钥不硬编码;SQL 只读 + 白名单表 | TDD 技能 · policy 强制工作法 · 依赖门禁 · SQL 只读校验 · systematic-debugging |
| 环节 | 关键约束(最佳实践) | 落地机制 / 可用技能 |
|---|---|---|
| ④ 测试 | 每条验收标准 = 一条测试;不许 mock 掉被测逻辑、不许改测试迁就实现;测试确定性(不 flaky);测试数据隔离;关键路径E2E 覆盖;覆盖率达门槛 | TDD · 全自动测试(Playwright + MCP · Healer 自愈)· eval 评测集 · testcontainers |
| ⑤ 提交 | 小而可审的 diff;Conventional Commits + AI 署名 + 容器溯源;必须走 MR、不直推保护分支;提交前过全部门禁;附自测证据 | 提交规范技能 · 保护分支 · CI 门禁 · requesting-code-review |
| ⑥ 评审 / 门禁 | 异模型交叉评审(第二双"不同来源"的眼睛);对抗式验证(尽量驳倒它);不过关自动回炉 ≤ 3 轮,超限转人工;高风险变更人握终审 | GPT 系交叉评审 · code-review · receiving-code-review · 回炉/熔断 · 晨审签批 |
| ⑦ 安全 | 无密钥入库;工具最小权限白名单;出网白名单;三重扫描(密钥/依赖漏洞/病毒);防提示注入(输入护栏 + 系统提示硬化);安全需专门复审——模型不可靠地发现自己的安全错误;不做检测规避 | gitleaks · Trivy · ClamAV · Squid 白名单 · 权限白名单 · 安全专项评审 |
| ⑧ 运维 / 交付 | 灰度放量 + 可一键回滚;值班 AI 只执行人批过的白名单预案;全程审计、容器内不可删改 | 灰度/回滚 · 预案白名单 · 审计实时外送 |
| 层 | 技术 | 谁来写 | 门禁标准 |
|---|---|---|---|
| L1 单元/契约 | pytest / vitest + OpenAPI 契约测试 | 数字员工 TDD 先行(STEP 3 强制) | 全绿 + 覆盖率不低于主干基线 −1% |
| L2 集成/E2E | Playwright(trace + 截图留证) | 测试工程师定义用户旅程,实现交给数字员工 | 关键旅程 100% 通过;staging 部署后复跑 |
| L3 评测集 | 自建 eval harness:固定输入 + 金标准 + 轻量模型打分 | 架构师/测试共同维护金标准 | 总分不低于基线;单类跌幅 > 5% 即失败 |
# ci/test_weaken_check.py 判定项
# (任一命中 → needs-human 强制人审)
1. diff 删除了 test 文件或测试函数
2. 新增 skip / xit / --ignore 跳过标记
3. 断言总数较主干下降
4. 覆盖率较基线下降 > 1%
5. 改动了 ci/ 目录或 .gitlab-ci.yml
(bot 无权修改门禁本身)
"像 ChatGPT 自动打开浏览器点一遍"属于 computer use / 浏览器智能体能力。本方案落地方式是 Playwright MCP——比纯截图式 computer use 更省 token(读无障碍树 2–5KB,截图 100KB+,省 20–50 倍)、更稳、可回归。它在全生命周期的第五步(自测)与门禁的 E2E 阶段落地。
| 层 | 做什么 | 技术 |
|---|---|---|
| 单元 | 每条验收标准先写失败测试再实现(TDD) | pytest / JUnit |
| 集成/契约 | 服务间接口、DB 迁移、API 契约 diff | testcontainers · 契约测试 |
| E2E 浏览器 | 模拟真人在浏览器走完整流程 | Playwright · Playwright MCP |
| 问题 | 对策 |
|---|---|
| 登录态 | 会话持久化:存储 storageState,避免每次重登触发风控 |
| 测试数据 | 用独立测试库 + 每用例前置造数/清理 |
| 并行隔离 | 每容器独立浏览器上下文,互不串数据 |
| 不稳定用例 | Healer 自愈 + 失败重试上限,仍不过转人工 |
告警发生时 AI 第一件事是对照"最近两小时发布记录",命中即自动回滚——多数夜间故障在人醒来之前已恢复。
轻量 AI 每小时巡检容器健康(磁盘、进程、费用曲线),异常容器自动隔离出派单池,防止带病干活。
Prometheus/VictoriaMetrics → 夜莺(告警规则与分发) → webhook
→ 值班 agent(OpenClaw 常驻)
1. 拉上下文:近 1h 指标 + 日志关键行
2. 对照发布记录:2h 内有发布?
有 → 直接执行预案"回滚"(先止血)
3. 按告警指纹匹配白名单预案
4. 命中 → 执行 → 复核指标恢复
→ 发"已自愈"通报
5. 未命中 → 生成诊断报告
(现象/时间线/嫌疑/建议)→ 叫人
# playbooks/rollback.yml
name: rollback-last-release
trigger: [http_5xx_rate > 5%,
deploy_within: 2h]
max_auto_runs_per_day: 2 # 防抖,超过转人工
steps:
- docker compose -f prod.yml rollback
verify: http_5xx_rate < 1% within 10m
on_fail: page_oncall
| 任务层级 | 用什么模型 | 典型任务 | 成本控制 |
|---|---|---|---|
| 决策层 | 旗舰模型(最强推理) | 架构方案、疑难攻坚、高风险评审 | 仅由架构师触发,占比小、价值高 |
| 执行层 | 性价比主力模型 | 日常功能开发、写测试(数字员工默认引擎) | 连续失败自动升档,不盲目用旗舰 |
| 巡检层 | 轻量高速模型 | 代码检查分诊、日志摘要、批量小改 | 单价约为旗舰的几十分之一 |
| 涉密层 | 仅内网本地模型 | 涉密项目全部工作 | 无外部费用;云端 API 按仓库标签硬性拒绝 |
# litellm-config.yaml
model_list:
- model_name: tier-premium # 决策层
litellm_params: { model: anthropic/claude-fable-5 }
- model_name: tier-standard # 执行层(默认)
litellm_params: { model: anthropic/claude-sonnet-5 }
- model_name: tier-light # 巡检层
litellm_params: { model: anthropic/claude-haiku-4-5 }
- model_name: tier-review # 评审层(异模型)
litellm_params: { model: openai/gpt-5-codex }
- model_name: tier-local # 涉密层:内网 vLLM
litellm_params: { model: hosted_vllm/qwen3-coder,
api_base: http://vllm.intra:8000 }
general_settings:
max_budget_per_key: true # 每任务独立预算
budget_duration: 24h
一张表看全主流专业编程模型。下列产品均为候选而非既定选择——最终以第五章评测集实测选定,并经 LiteLLM 网关随时替换,不绑定任何厂商。价格为 2026 年 7 月时点官方 API 定价($/百万 token,入 / 出);能力列以 SWE-bench Verified与社区实测综合。可私有化(开源权重、可部署到内网 GPU)是涉密场景关键。
| 模型 / 产品 | 形态 | 编码能力 | 无人值守适配 | 价格($/百万token 入/出) | 优势与局限 | 本方案角色 |
|---|---|---|---|---|---|---|
| Claude Sonnet 5 Anthropic |
API(Claude Code 引擎) | ★★★★★ | ★★★★★ | $3 / $15 优惠价 $2/$10(至2026-08-31) |
接近 Opus 级编码质量,性价比最优;Claude Code 无头模式 + 权限白名单 + 技能体系最完善 | 数字员工默认主力 |
| Claude Opus 4.8 | API(Claude Code 引擎) | ★★★★★ | ★★★★★ | $5 / $25 | 长时程自主开发当前最强梯队;回炉升档的目标模型 | 复杂任务升档 |
| Claude Fable 5 | API | ★★★★★ | ★★★★★ | $10 / $50 | 最强推理与超长任务能力;单价最高,只投高价值决策点 | 架构攻坚 · 疑难分析(少量调用) |
| Claude Haiku 4.5 | API | ★★★☆☆ | ★★★★☆ | $1 / $5 | 快且便宜;不适合多步复杂决策 | 巡检 · 分诊 · 批量小活 |
| GPT-5.5 OpenAI(旗舰) |
API(ChatGPT / Codex 系) | ★★★★★ SWE ≈88.7% |
★★★★☆ | 旗舰档 / $30(出) 输入以官网为准 |
OpenAI 当前最强编程旗舰,与 Claude 并列第一梯队;成本偏高,作异模型高档补位 | 交叉评审旗舰 · 复杂任务异模型备选 |
| GPT-5.2 Codex OpenAI(ChatGPT系) |
API(Codex CLI) | ★★★★★ | ★★★★☆ | $1.75 / $14 缓存输入 $0.175 |
codex exec 无头执行成熟;与 Claude 分属两家——正是交叉评审需要的"异模型" | 交叉评审引擎 · 备灾冗余 |
| GLM-5 智谱 AI |
API / Coding Plan 订阅 | ★★★★☆ | ★★★☆☆ | 输入 ¥4/M(≈$0.55) 输出价以官网为准;订阅 ¥20/月起(Lite 档为 GLM-4.7) |
国产旗舰、单价低、合规采购便利;注意 2026-02 起整体提价 30%+(海外 API 提价 67–100%),无人值守生态较新 | 国产备选 · 供应链备份 |
| Qwen3-Coder-Next 阿里(QwenCode) |
API / 开源可自托管 | ★★★★☆ | ★★★☆☆ | $0.11 / $0.80 内网 vLLM 自托管零 token 边际成本 |
开源权重是最大优势:可私有化部署到内网 GPU,涉密数据不出网;云端能力弱于头部旗舰 | 涉密层候选(内网自托管) |
| DeepSeek V4-Pro 深度求索 |
API / 开源 MIT 可自托管 | ★★★★☆ SWE 80.6%(开源第一) |
★★★☆☆ | $0.44 / $0.87 永久 75% 折 |
开源可私有化、价格极低;作涉密自托管强力候选,试点期评估 | 涉密自托管候选 |
1 个 token 约等于 0.7 个汉字。100 万 token ≈ 70 万字——大约两部《三体》第一部的文字量。所谓"输入 $3/百万token"就是:让 AI 通读两部长篇小说的材料,收约 ¥22。
一行代码约 10–15 个 token,100 万 token ≈ 7–10 万行代码——够 AI 把一个中型项目的全部源码从头读一遍。启用提示缓存后,重复阅读的部分最高可省约九成费用。
数字员工做完一张中等任务卡,全程约消耗 100–300 万 token 阅读 + 10–30 万 token 产出。按 Sonnet 5 单价折算约 ¥15–50 / 单——相当于一份外卖的价格,换来一个通宵开发完的功能。
| 供应商 / 工具 | 入门档 | 主力档 | 顶配档 | 本方案取舍 |
|---|---|---|---|---|
| Claude(Anthropic) | Pro $20 | Max 5x $100 | Max 20x $200 | 人类员工首选:含 Claude Code,建议每人 Max 5x;夜间容器走 API |
| OpenAI / ChatGPT | Plus $20 | — | Pro $200 | 含 Codex / GPT-5.5;少量席位用于交叉评审与备用 |
| GLM Coding Plan(智谱) | Lite ≈$10–18 | Pro $30–72 | Max $80–160 | 国产备选,季付更省;可小规模试点 |
| Qwen Coder(阿里) | —(Lite 已停) | Pro $50 | — | 以内网自托管为主,订阅仅少量 |
| DeepSeek | API 按量 · 约 $2–10/月(V4-Pro 永久 75% 折) | 涉密自托管 / 低成本批量首选 | ||
| GitHub Copilot | Pro $10 | Pro+ $39 | 企业按量 | 偏补全,2026-06 起转按量;不作主力 |
| Windsurf(Devin Desktop) | Pro $20 | — | Max $200 | 已被 Cognition 收购改名,定位重叠;暂不选 |
所有岗位的重心从"动手执行"移向"定义、约束、裁决"。判断新价值的标准:写下的东西能否让一批数字员工同时正确工作。
| 角色 | 过去 | 现在 |
|---|---|---|
| 架构师 | 画图、定技术栈、看代码 | 模型指挥官:选模型、建技能库、写机器可执行的规范与门禁规则、终审高风险变更 |
| 工程师 | 写代码、修 bug | 编排与评审者:拆任务卡、批阅 AI 产出、攻坚机器搞不定的硬骨头 |
| 测试 | 手工用例、执行回归 | 质量门禁设计者:设计验收关卡与评测集,让不合格代码"过不去"而不是"被发现" |
| 运维 | 值班响应、手工发布 | 智能运维策略师:编写 AI 可自动执行的预案边界,自己只接超纲升级 |
| 产品/业务 | 写文档、开会、催进度 | 需求编译器:把需求写成机器可执行的任务卡,直接驱动数字员工——这就是"全员开发" |
~/.claude/CLAUDE.md # 用户级:语言、通用纪律
/work/CLAUDE.md # 工作区级:架构原则、Git 纪律
<repo>/CLAUDE.md # 项目级:技术栈、验证命令、红线
<repo>/.claude/skills/ # 项目技能:启动/测试/发布/已知坑
<repo>/.claude/settings.json # 权限白名单 + hooks
这四层就是"架构师对数字员工的指挥系统":规范写得越像操作手册,夜间产出越稳定。事故复盘的标准动作 = 回答"哪条规范/技能要改"。
| 角色 | 每日固定动作 |
|---|---|
| 架构师(轮值) | 09:00 晨审裁决;blocked 任务归因;批准发布窗口 |
| 产品/业务 | 维护任务卡(一次通过率是其 KPI);验收 staging |
| 测试工程师 | 维护 E2E 旅程与评测集;复核防作弊命中项 |
| 运维 | 审预案库变更;看成本/健康看板;管摆渡班次 |
| 新人(学徒制) | 晨审观摩 → 独立批低风险 MR → 参与规范建设 |
"每员工一容器"的架构天然支持全员使用——业务部门不写代码,在自己的察元AI工舱里用 OpenClaw、Hermes 等智能体处理日常业务,助手还会"记住"每个人的工作习惯,越用越顺手。
消息驱动、7×24 常驻容器:起草文稿、查资料、定时提醒、流程跟办。桌面自带 OpenClaw 可视化配置器,业务人员不写一行代码就能定义自己助手的人设、职责和记忆开关。
自主执行多步长任务:整理一批档案、核对一个月台账、汇总一季度数据。用日常语言交办,它自动拆步骤干完再汇报——适合"给个任务、下班前给我结果"的批处理业务。
察元AI工舱应用市场百余项工具按岗位一键安装;业务容器沿用第一章的权限模板(剪贴板/上传/下载逐容器授权),隔离上网的安全边界对业务部门同样生效。
智能体记忆把员工的操作习惯、常用格式、业务口径沉淀为可读的记忆文件,存放在本人容器的数据卷中——容器重建不丢、其他人不可见。第一周你教它,之后它记住。
| 记忆层 | 记什么 | 存在哪 | 例子 |
|---|---|---|---|
| 会话记忆 | 当前对话的上下文 | 容器内当次会话 | "刚才那份通知,日期再改成下周一"——不用重复交代 |
| 个人操作记忆 | 工作习惯、格式偏好、常用流程、历次纠正 | 本人容器数据卷"我的记忆"目录(持久化,仅本人可见) | "写通知永远用红头模板、落款综合办";"这位领导审稿不喜欢长句"——纠正一次,永久记住 |
| 部门知识库 | 共享口径、制度模板、常见问答 | 部门共享目录(授权挂载,负责人维护) | 报销标准、公文格式规范、对外统一话术——新人的助手第一天就"懂行" |
察元AI工舱提供"我的记忆"目录:记忆以普通文件存放,员工随时查看、修改、删除自己的记忆——透明可控,不是黑箱。
记忆随数据卷持久化:每周容器销毁重建(安全机制)时,记忆卷完整保留;换电脑、换工位,打开云桌面助手还是"老样子"。
OpenClaw 配置器中可视化开关记忆、挂载部门知识库、导出/清空记忆——离职交接时个人记忆按制度处置,部门知识库自然留存。
对应实际组织架构:业务部(产品组、项目组)、运营部、销售部,每部门两个典型场景。
客户反馈、会议记录丢给助手,自动整理成需求清单,并按第四章的任务卡模板直接生成验收标准草稿——产品组写完签认,当晚数字员工就能开工。记住产品术语表和历次需求口径。这是"全员开发"的枢纽岗。
会议纪要自动提取行动项、逐条跟办提醒;每周五自动汇总各项目里程碑进展生成周报,按记忆中领导习惯的格式和口径排版。延期风险自动标红,项目决策由人做。
每天清晨自动汇总运营指标、用户动态、待办进展生成晨报;记住领导关注的核心口径(哪些指标放前面、同比还是环比),格式一次调好、天天照办。
交办"把本周用户反馈工单分类归档并出处理建议",自动逐条分类、拟回复口径、汇总高频问题;活动文案与推送素材按部门知识库中的话术规范批量起草。对外发布必经人审。
说"给某客户出一版标准方案和报价",按记忆中的方案书模板、报价规则和该客户历史沟通记录生成初稿;每次成单/丢单的复盘沉淀进部门知识库。报价单必经负责人签发。
月底交办"核对本月客户台账",自动比对合同、回款、开票记录,标出异常和逾期清单;日常按记忆中的跟单节奏自动提醒:"某客户方案发出 7 天未回复,该跟进了。"
用户管理、权限管理、网关、鉴权、菜单、日志——每个业务系统都需要这一套。让数字员工每次重造一遍,既浪费 token 又埋安全隐患。正确做法:选定一个成熟开源底座,通用能力全部复用,AI 只开发业务本身。
| 候选底座 | 技术栈 | 底座能力(用户/权限/网关/鉴权) | 低代码能力 | 微服务 | 评估 |
|---|---|---|---|---|---|
| JeecgBoot 单体版 | Spring Boot 单应用 + Vue3 + Ant Design Vue | 齐全:用户/角色/菜单/按钮级权限、JWT 鉴权、数据字典、日志、定时任务(无独立网关,鉴权内置) | 同微服务版:代码生成器、Online 在线表单、积木报表、大屏、工作流全都有 | ❌ 单应用(业务以 Maven 模块划分) | ✔ 简单/中小系统首选 一个 jar 打包即部署,运维成本最低 |
| JeecgBoot 微服务版 | Spring Boot / Spring Cloud Alibaba + Vue3 + Ant Design Vue | 齐全:在单体版基础上增加独立网关、Nacos 注册/配置、服务间 Feign 调用 | 同左(两版同源,低代码能力通用) | ✅ Nacos + Gateway | ✔ 多业务域/大系统用 服务独立部署伸缩、故障隔离 |
| RuoYi-Cloud | Spring Cloud Alibaba + Vue | 齐全,结构更简单 | 基础代码生成,无 Online 表单/报表 | ✅ | 备选 更轻量易读,低代码能力弱一档 |
| 完全自研 | 自定 | 全部要自己写和维护 | 无 | 自定 | ✘ 不推荐 重造轮子数月,安全能力难与成熟底座看齐 |
代码生成器输出的骨架是确定性模板——数字员工在统一骨架上填业务逻辑,产出结构一致、评审好审、回炉率低。模板即规范。
简单的表单、台账、报表类需求用 Online 在线表单直接配置出来——连数字员工都不用出动,业务人员自己就能建。
JeecgBoot 开源可免费商用(以官方协议为准);积木报表等个别组件为免费不开源,涉密项目部署前逐项核对组件许可。
以"新增订单管理功能"为例(微服务版),走完整生命周期。单体版对应简化:跳过网关路由与独立镜像步骤,新业务是 Maven 模块随主应用一起打包部署,其余节点与纪律完全相同。与第四章流水线的关系:这九个节点就是任务卡进入 STEP 3 后的业务系统专用作业规程。本页可上下滚动。
touches 声明只允许 biz-order 服务目录与 views/biz-order 前端目录biz-order 服务(新业务域)——由架构师按业务域拍板biz_order_* 前缀),关联用户只存 user_id,外键绝不指向底座表.claude/skills 技能——数字员工每次都走同一套模板,产出统一、评审好审biz-order 内先把验收标准写成失败测试,再填业务逻辑(订单状态机、校验规则)@RequiresPermissions("biz:order:add"))与 Feign 接口(查用户、发消息、传文件)/biz-order/** 路由:改 Nacos 配置,不改网关代码views/biz-order/ 新页面文件 + 菜单配置挂载,框架层零改动biz-order 与 views/biz-order——任务卡 touches 白名单机制保证越不了界/v2,/v1 保留过渡期,调用方迁完再下# ci/base_protect.py 判定项(任一命中 → 拒绝合并)
1. diff 触碰底座目录:
jeecg-system/ · gateway/ · auth/
前端框架层(layout/ router/ permission/)
2. 业务模块 import 底座内部实现类
(只允许 feign 接口与公共注解包)
3. Flyway 脚本修改底座表结构(sys_ 前缀)
4. pom 里把底座模块版本改成本地快照
# 命中即打 needs-human + 默认 reject,
# 数字员工无任何豁免路径
| 变更类型 | 允许方式 |
|---|---|
| 新业务功能 | 新服务 + 新页面 + 配置(九节点全流程) |
| 简单表单/台账/报表 | Online 表单纯配置,零代码 |
| 既有业务修改 | 只动对应 biz-* 目录,touches 锁定 |
| 菜单/权限调整 | 配置 + Flyway 脚本 |
| 底座缺陷/升级 | 人主导专项,AI 只辅助 |
biz-*,越界在派单前就被拦下.claude/skills——数字员工的产出天然统一下面每一页给出该层每个软件的安装步骤、关键配置文件、验证方法。全部基于 Docker Compose 编排,配置文件即代码,随仓库版本化管理。
| 层 | 软件 | 作用 |
|---|---|---|
| ① 基座 | OS 加固 · Docker · Squid | 隔离区主机、容器运行时、唯一出网口 |
| ② 桌面网关 | 察元AI工舱 · Caddy · LiteLLM | 云桌面工作区、反代、模型网关 |
| ③ 研发设施 | GitLab CE · Runner · Nexus | 代码托管、流水线、私有制品库 |
| ④ 调度 | Temporal · Redis | 24×7 工作流引擎、并发锁 |
| ⑤ 观测安全 | Prometheus · VictoriaMetrics · 夜莺 | 采集、存储、告警、看板 |
| ⑥ 业务底座 | JeecgBoot · Nacos · Flyway | 低代码底座、注册配置、库迁移 |
# 1) 主机基线:Ubuntu 22.04 LTS / 内网时钟同步
sudo timedatectl set-timezone Asia/Shanghai
sudo apt update && sudo apt -y install chrony curl jq
# 2) 统一目录约定(所有软件数据挂到 /srv/app)
sudo mkdir -p /srv/app/{docker,gitlab,nexus,temporal,obs,jeecg}
sudo useradd -r -s /usr/sbin/nologin appsvc
# 3) 内网私有镜像仓(离线环境必须先摆渡镜像)
# 通过网闸把公网镜像 save→ferry→load 到内网 Harbor
export REGISTRY=registry.corp.local # 内网镜像仓
export TZ=Asia/Shanghai
# 4) 统一 .env(各 compose 复用,密钥走 vault/文件权限 600)
cat > /srv/app/.env <<'EOF'
TZ=Asia/Shanghai
REGISTRY=registry.corp.local
DB_PASS=__change_me__
EOF
chmod 600 /srv/app/.env
--env-file /srv/app/.env,改一处全局生效。# 安装(内网用离线包,公网用官方脚本)
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker
# /etc/docker/daemon.json —— 指向内网仓、限日志
sudo tee /etc/docker/daemon.json >/dev/null <<'EOF'
{
"registry-mirrors": ["https://registry.corp.local"],
"insecure-registries": ["registry.corp.local"],
"log-driver": "json-file",
"log-opts": { "max-size": "50m", "max-file": "3" },
"live-restore": true,
"default-address-pools": [{"base":"172.30.0.0/16","size":24}]
}
EOF
sudo systemctl restart docker
# 验证
docker info | grep -i "registry\|Live Restore"
ufw 默认拒绝,仅放行网关端口--read-only + 只写挂载卷# /etc/squid/squid.conf —— 白名单放行 + 全量审计
# 仅允许模型/镜像仓/包源域名,其余一律拒绝
acl allow_dom dstdomain "/etc/squid/whitelist.txt"
acl SSL_ports port 443
acl CONNECT method CONNECT
http_access allow allow_dom
http_access deny CONNECT !SSL_ports
http_access deny all # 默认全拒
http_port 3128
# 审计:记录每一次出网,供合规追溯
access_log /var/log/squid/access.log squid
logformat corp %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %un
# /etc/squid/whitelist.txt —— 出网白名单
.anthropic.com
.openai.com
registry.corp.local
mirrors.corp.local
# 应用侧统一走代理
export HTTPS_PROXY=http://squid.corp.local:3128
export NO_PROXY=.corp.local,localhost,127.0.0.1
# /srv/app/desk/docker-compose.yml
services:
desktop: # 容器化云桌面,预装 Claude Code/Codex
image: ${REGISTRY}/chatop:latest
shm_size: "2gb"
environment:
- HTTPS_PROXY=http://squid.corp.local:3128
volumes:
- /srv/app/desk/home:/home/admin
restart: unless-stopped
gateway: # Caddy 反代 + 鉴权
image: ${REGISTRY}/library/caddy:2
ports: ["443:443"]
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
depends_on: [desktop, litellm]
# /srv/app/desk/Caddyfile
desk.corp.local {
tls internal
reverse_proxy /api/* litellm:4000
reverse_proxy /files/* filebrowser:80
reverse_proxy * desktop:6901 # 像素流桌面
}
# /srv/app/desk/litellm.env
LITELLM_MASTER_KEY=sk-corp-__change_me__
DATABASE_URL=postgres://litellm:pass@pg:5432/litellm
# config.yaml —— 统一各模型入口、限额、路由
model_list:
- model_name: sonnet # 默认档
litellm_params:
model: anthropic/claude-sonnet-5
api_key: os.environ/ANTHROPIC_KEY
- model_name: opus
litellm_params: { model: anthropic/claude-opus-4-8 }
- model_name: qwen-coder # 内网 vLLM 自托管
litellm_params:
model: openai/qwen3-coder
api_base: http://vllm:8000/v1
router_settings:
routing_strategy: usage-based-routing
redis_host: redis
litellm_settings:
max_budget: 3000 # 月度美元硬顶
budget_duration: 30d
# /srv/app/gitlab/docker-compose.yml
services:
gitlab:
image: ${REGISTRY}/gitlab/gitlab-ce:latest
hostname: git.corp.local
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://git.corp.local'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
ports: ["8443:443","2222:22"]
volumes:
- /srv/app/gitlab/{config,logs,data}:/etc/gitlab
runner:
image: ${REGISTRY}/gitlab/gitlab-runner:latest
volumes:
- ./runner:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock
# 注册 Runner(executor=docker,供流水线跑测试/扫描)
docker exec -it runner gitlab-runner register \
--non-interactive \
--url https://git.corp.local \
--token "$RUNNER_TOKEN" \
--executor docker \
--docker-image "${REGISTRY}/library/alpine:3.20" \
--docker-privileged=false
# /srv/app/nexus/docker-compose.yml
services:
nexus:
image: ${REGISTRY}/sonatype/nexus3:latest
ports: ["8081:8081"]
volumes: [ "/srv/app/nexus/data:/nexus-data" ]
ulimits: { nofile: { soft: 65536, hard: 65536 } }
# 初始密码:
# docker exec nexus cat /nexus-data/admin.password
| 仓类型 | 用途 |
|---|---|
| maven-proxy | Java 依赖,代理内网镜像 |
| npm-proxy | 前端依赖 |
| pypi-proxy | Python 依赖 |
| docker-hosted | 业务镜像私有存放 |
| raw-hosted | 模型权重/离线包 |
settings.xml/.npmrc/pip.conf 全部改为内网仓地址,断网也能编译。# /srv/app/temporal/docker-compose.yml
services:
postgres:
image: ${REGISTRY}/library/postgres:16
environment: { POSTGRES_PASSWORD: ${DB_PASS} }
volumes: [ "/srv/app/temporal/pg:/var/lib/postgresql/data" ]
temporal:
image: ${REGISTRY}/temporalio/auto-setup:latest
environment:
- DB=postgres12
- POSTGRES_SEEDS=postgres
- POSTGRES_PWD=${DB_PASS}
ports: ["7233:7233"] # gRPC,worker 连这里
temporal-ui:
image: ${REGISTRY}/temporalio/ui:latest
ports: ["8088:8080"]
redis: # 派单并发锁/回炉计数
image: ${REGISTRY}/library/redis:7
command: redis-server --appendonly yes
# 自研规则层 worker(~300-500 行)连接方式
temporal operator namespace create --namespace dev-24x7
# worker 内:并发锁用 Redis SETNX,签批用 Temporal signal
# /srv/app/obs/docker-compose.yml
services:
victoriametrics: # 时序存储(省资源、抗高基数)
image: ${REGISTRY}/victoriametrics/victoria-metrics
ports: ["8428:8428"]
volumes: [ "/srv/app/obs/vm:/victoria-metrics-data" ]
prometheus: # 只采集,remote_write 到 VM
image: ${REGISTRY}/prom/prometheus
volumes: [ "./prometheus.yml:/etc/prometheus/prometheus.yml:ro" ]
nightingale: # 夜莺:告警 + 看板
image: ${REGISTRY}/flashcatcloud/nightingale
ports: ["17000:17000"]
grafana:
image: ${REGISTRY}/grafana/grafana
ports: ["3000:3000"]
# /srv/app/obs/prometheus.yml
global: { scrape_interval: 15s }
remote_write:
- url: http://victoriametrics:8428/api/v1/write
scrape_configs:
- job_name: pipeline # 流水线/网关自埋点
static_configs:
- targets: ['litellm:4000','temporal:7233']
# 1) 建库导初始 SQL
mysql -uroot -p < jeecgboot.sql
# 2) 后端 application-prod.yml 关键项
spring:
datasource:
url: jdbc:mysql://mysql:3306/jeecg?useUnicode=true
username: jeecg
password: ${DB_PASS}
redis: { host: redis, port: 6379 }
# 3) 起后端 + 前端
java -jar jeecg-boot-module-system.jar --spring.profiles.active=prod
# 前端
cd jeecgboot-vue3 && pnpm i && pnpm build
# 先起 Nacos(注册中心 + 配置中心)
docker run -d --name nacos -p 8848:8848 \
-e MODE=standalone ${REGISTRY}/nacos/nacos-server:latest
# 各服务 bootstrap.yml 指向 Nacos
spring:
cloud:
nacos:
discovery: { server-addr: nacos:8848 }
config: { server-addr: nacos:8848, file-extension: yml }
# 启动顺序:nacos → gateway → system → 业务服务
# biz-order/src/main/resources/db/migration/
# V2026.07.01__create_order.sql ← 只建 biz_ 前缀表
flyway:
locations: classpath:db/migration
baseline-on-migrate: true
# 门禁:禁止修改 sys_ 前缀底座表(base-protect 拦截)
biz-xxx 服务模块,只依赖底座 feign 接口与公共注解,不 import 内部实现views/biz-xxx/ 页面 + 菜单配置,不动 layout/router/permissionV*.sql 迁移,只碰 biz_ 表| 软件 | 验证命令 / 判据 |
|---|---|
| Docker | docker run --rm hello-world |
| Squid | curl -x squid:3128 https://anthropic.com → 200;非白名单 → 403 |
| LiteLLM | curl /health;调用 sonnet 返回且记账 +1 |
| GitLab | 推一次 commit 触发 pipeline 变绿 |
| Nexus | mvn 拉依赖命中代理仓,断公网仍成功 |
| Temporal | UI 8088 见 namespace;跑一条 workflow 完成 |
| 观测栈 | 夜莺见 target UP;造一次告警能触达 |
| JeecgBoot | 登录后台;新建 Online 表单落库 |
# /srv/app/healthcheck.sh —— 上线前跑一遍
set -e
check(){ printf "%-14s" "$1"; shift; "$@" && echo "[OK]" || echo "[FAIL]"; }
check docker docker info -f '{{.ServerVersion}}'
check litellm curl -fsS http://litellm:4000/health
check gitlab curl -fsSk https://git.corp.local/-/health
check nexus curl -fsS http://nexus:8081/service/rest/v1/status
check temporal curl -fsS http://temporal-ui:8080
check victoria curl -fsS http://victoriametrics:8428/health
check jeecg curl -fsS http://jeecg:8080/jeecg-boot/actuator/health
echo "==== 全栈健康检查完成 ===="
| 服务 | 端口 | 暴露给 |
|---|---|---|
| 察元AI工舱 容器 × N | 6901–6999 | 内网终端(HTTPS) |
| GitLab CE + Runner | 8443 / 8022 | 容器 + 内网终端 |
| Nexus OSS | 8081 | 仅容器与 CI |
| LiteLLM 网关 | 4000 | 仅容器;出网走 Squid |
| Squid 出口代理 | 3128 | 外网口唯一出口 |
| 调度器 + Redis | 内部 | agent-bridge / webhook |
| Prometheus / VictoriaMetrics / 夜莺 / Grafana / Loki | 3000 等 | 值班看板与告警管理(只读) |
| 评审容器 / 值班 / 巡检 agent | 内部 | webhook 驱动 |
| 问题 | 解决方式 | 效果 | |
|---|---|---|---|
| P1 | 用不上大模型与开源生态 | 唯一联网服务器 · DMZ 隔离区 | 全员用上最先进 AI 工具,内网其余一寸不改 |
| P2 | 联外网就有泄密与入侵风险 | 协议中断 + 像素流隔离上网 | 内外网无直接连接,防守面收敛为三条受控通道 |
| P3 | 数据交换与内网编译 | 受控摆渡 + 内部机构建闭环 | 交付物 100% 内网可复现编译,全程留痕 |
| P4 | 多人隔离与环境维护 | 每员工一容器,可销毁重建 | 爆炸半径 = 单容器,人机同环境可互相接管 |
| P5 | 产能只有 8 小时 | 数字员工 24×7 + 九步流水线 | 开发时间扩展至 24 小时,交付周期周变天 |
| P6 | AI 代码质量不可控 | 测试先行 + 双门禁 + 人工终审 | 不合格代码进不了主干,决定权在人 |
| P7 | 夜间无人运维 | AI 分诊 + 白名单预案 | 多数故障自动恢复,人只接超纲升级 |
| P8 | 模型费用失控风险 | 分层选型 + 预算熔断 + 统一计量 | 成本与产出挂钩,可核算可预测 |
| P9 | 人员价值与成长 | 角色升级 + 新学徒制 | 人从执行者升级为指挥者,经验沉淀为平台资产 |
开发时间 8 小时 → 24 小时;常规需求交付周期从"周"压缩到"天"。数字员工随业务量弹性扩容——加容器即加产能,不加编制。
相比现状:新增外网能力,内网暴露面没有增加一寸。相比直连外网:风险从"不可枚举"收敛为"三条受控通道"。审计能力远超人工时代。
模型分层付费 + 按单预算熔断 + 统一计量;一台服务器承载全员容器。主要成本是模型 API 费用,与产出直接挂钩、可核算。
"全员开发"成为可能:会写清楚需求的人就能指挥数字员工。经验沉淀为平台规范,不再随人员流动而流失。
以常规单功能开发为基准的对比(非涉密项目、试点期实测口径)。核心不是"机器替人",而是把人从重复劳动中释放,同时把安全与质量做进系统。
一条命令开出新容器;摆渡全流程跑通;上线检查单全绿。
半数以上变更由 AI 起草并通过门禁;任务卡一次通过率 ≥ 60%。
晨审通过率 ≥ 70%;零安全事件;单 MR 成本进入稳定区间。
人的工时 70% 以上花在定义与裁决;生产变更 100% 走流水线。
| 阶段 | 会遇到的问题 | 如何解决 |
|---|---|---|
| 阶段一 基建期 |
服务器加固不彻底,双网卡被打通即全盘皆输 | 按安全基线清单逐项验收(禁转发、端口最小化、完整性监控);请保密部门独立复核后才准联网 |
| 内网依赖镜像不全,第一次编译就卡住 | 正式启用前先做一次"全量依赖快照"摆渡预热;试编译现有全部项目,缺什么补什么 | |
| 摆渡审批流程无人负责、互相推诿 | 制度先行:明确审批授权人与时限(当日班次内办结),审批质量纳入考核 | |
| 阶段二 协作期 |
员工不适应云桌面,抵触新工作方式 | 试点自愿报名 + 种子用户示范;云桌面全中文、浏览器直达;保留过渡期双轨 |
| 任务卡写不清楚,AI 产出答非所问 | 提供任务卡模板与好坏示例;写不出验收标准的任务退回人工拆解——这本身就是训练 | |
| 各人各用各的 AI,产出风格混乱、规范不落地 | 规范写进平台配置文件随容器下发,AI 每次开工自动加载;提交规范由流水线强制校验 |
| 阶段 | 会遇到的问题 | 如何解决 |
|---|---|---|
| 阶段三 夜间自主期 |
夜间驳回率高,晨审积压,团队失去信心 | 先小流量(每晚限量派单),驳回逐条归因:任务卡问题改模板、规范缺口补规范——驳回率是改进指标,不是失败信号 |
| AI 死循环重试,一晚烧掉超额费用 | 按单预算 + 回炉上限 3 轮 + 连败容器隔离,三重熔断在派单器里硬编码,不依赖自觉 | |
| AI 为了"过关"弱化测试、绕过检查 | 门禁专项检测删测试/跳过检查类改动,一律强制人审;发现一例,规则库加一条,永久设防 | |
| 阶段四 运营期 |
质量漂移:自动合并率上去了,隐性缺陷也上去了 | 评测分与生产缺陷率纳入周报回归监测,发现漂移立即降一级自动化权限,查明原因再恢复 |
| 审批疲劳:晨审、摆渡审批走过场 | 自动扫描报告作为审批前置(没有报告不能批);抽样复审 + 审批质量考核;轮值制防止麻痹 | |
| 规范腐化与人才断层 | 事故复盘必答"哪条规范要改",规范有责任人有保鲜检查;晨审轮值 + 规范建设成为新人必修课 |
对全篇做一致性与可行性复核的结果。自审结论:方案骨架(隔离架构、流水线、门禁)无结构性矛盾;主要风险集中在"运营与人",而非技术。本清单随试点滚动更新。
| # | 问题 / 风险 | 说明 | 应对 |
|---|---|---|---|
| 01 | 价格时效 | Sonnet 5 优惠价 2026-08-31 到期、GLM 今年 2 月已提价一轮,预算页数字有时效性 | 采购前重取报价;预算按上限申报已留余量(已在预算页声明) |
| 02 | 预算口径需分线 | 研发线与第九章业务助手用量口径不同,不能一个数字混算 | 预算按线分算:研发线按任务计量 + 网关熔断上限;业务线按接入部门数另测叠加,试点期实测校准 |
| 03 | 技术栈示例不一致 | 第四章 CI 示例偏 Python/前端,第十章底座是 Java/Spring 栈 | 五段流水线是框架,按仓库栈实例化(Java=JUnit/Maven);示例是骨架非成品,阶段一逐仓适配 |
| 04 | 摆渡节拍 vs 紧急修复 | 每日 1-2 班摆渡,意味着内网发现的紧急缺陷最快隔天才能修复回流 | 增设"应急摆渡"通道:提级审批 + 双人操作 + 全程留痕,写入摆渡制度 |
| 05 | DMZ 单点故障 | 唯一联网服务器故障 = 全平台停摆;并发容量上限未实测 | 试点期可接受(冷备镜像已有);推广前双机热备 + 容量压测 |
| 06 | 平台组件运维负担 | DMZ 内 GitLab/Nacos/Temporal/LiteLLM 等十余个组件需要专人维护 | 平台组配 1-2 名专职;组件全容器化统一编排,巡检 agent 覆盖平台自身 |
| 07 | 任务卡质量瓶颈 | 一次通过率决定成本与信任,高度依赖产品组的编写能力 | 阶段二模板 + 好坏示例培训;通过率纳入 KPI;需求编译助手(第九章)辅助起草 |
| 08 | 晨审依赖个人 | 值班架构师的水平决定裁决质量,存在人的单点 | 轮值制 + 裁决记录复盘;高风险变更双人会签 |
| 09 | 记忆合规靠人判断 | "涉密不入记忆"难以全自动判别,存在无意写入风险 | 记忆文件纳入审计抽查 + 敏感词扫描辅助 + 保密培训;发现即处置并复盘规则 |
| 10 | 生态依赖 | 深度使用 Claude Code 生态存在切换成本 | 见附录·生态说明:资产三层防锁定;国产模型可经 Anthropic 兼容 API 接入同一生态,网关一键切换 |
本方案深度使用 Claude Code 生态,必须正面回答锁定问题。结论先行:生态资产分三层——规范与知识完全通用、技能可移植需适配、执行器配置专有但很薄;且主流国产模型已提供 Anthropic 兼容接口,可以"生态不动、底下换模型"。本页从"本方案会不会被锁定"作答;换模型的通用配置方法见本附录后文"换模型①②",不再重复。
| 生态资产 | 是什么 | 其他模型/工具能否使用 |
|---|---|---|
| CLAUDE.md 规范文件 | 纯 Markdown 工程规范(架构原则、红线、验证命令),会话自动加载 | ✅ 完全通用——Codex 读 AGENTS.md、Gemini CLI 读 GEMINI.md,业界正收敛为 AGENTS.md 事实标准;内容照搬、改个文件名即可 |
| Skills 技能(SKILL.md) | Markdown 指令 + 脚本的开放技能格式(Agent Skills),操作手册级的经验沉淀 | ⚠️ 可移植需适配——技能正文与模型无关;但内文引用的工具名(Read/Edit/Bash)是 Claude Code 工具协议,其他 CLI 需一层名称映射。本环境的 superpowers 套件已自带 Copilot CLI / Codex / Gemini CLI 的工具映射文档 |
| MCP 工具协议 | 连接外部系统(GitLab、数据库、浏览器)的开放标准 | ✅ 开放标准——Anthropic 发起但完全开放,OpenAI Codex、Cursor、Gemini CLI 等均已支持;一套 MCP 服务全家通用 |
| 提示词资产(policy.md、任务卡模板、评审提示) | 流水线各环节的指令文本 | ✅ 纯文本通用——不同模型对措辞敏感度不同,换模型需按其迁移指南微调,但资产本身不作废 |
执行器配置(claude -p 无头参数、权限白名单、hooks、子代理机制) |
Claude Code 本体的运行时机制 | ❌ 专有——换引擎需改用对方等价物(如 codex exec 的沙箱配置)。但这一层是"胶水"不是"资产",体量小、重写成本按天计 |
GLM、Kimi、DeepSeek、Qwen 等国产模型普遍提供 Anthropic 兼容 API(GLM Coding Plan 更是主打"在 Claude Code 里用 GLM")——即可以保留 Claude Code 客户端与全部技能规范,只把底层模型换掉。本方案的 LiteLLM 网关正是这层转换的标准化实现。
① 任务卡在 GitLab(数据不在任何 AI 工具里);② 模型经 LiteLLM 统一网关(换模型改一处路由);③ 技能/规范是明文 Markdown(可读可审可搬)。换引擎的成本是"重写胶水",不是"重建资产"。
以下技能已随本环境安装,全部为明文 Markdown、存于容器镜像、可审计可修改。它们正是第四章 policy.md"强制工作法"的现成实现——方案里的工程纪律不用从零开发。
| 分组 | 技能 | 作用 | 对应方案环节 |
|---|---|---|---|
| 工程纪律套件 superpowers |
brainstorming | 动手前强制需求澄清:一次一问 → 给 2-3 个方案对比 → 分节评审设计,防止拿到需求就闷头写 | STEP 1-2 任务卡与设计 |
| writing-plans / executing-plans | 把需求写成分阶段实施计划并带检查点执行 | STEP 2-3 | |
| test-driven-development | 先写失败测试再写实现,产生"先红后绿"提交序列 | STEP 3 强制工作法 | |
| systematic-debugging | 修 bug 前强制查文件血缘、分离症状与根因、假设需反证——禁止赌博式改代码 | STEP 6 回炉 · 第六章运维 RCA | |
| verification-before-completion / worktrees / 并行代理套件 | 声称完成前必须跑验证拿证据;并行任务用隔离工作区、多代理分派 | STEP 3 自测 · 并发开发 | |
| 质量与验证 | code-review / review / security-review | 按深度档位审查当前改动 / 审查 PR / 安全专项审查 | STEP 5 门禁二(交叉评审) |
| verify / run | 端到端把服务跑起来、打真实请求,验证改动真的工作(不是只看测试绿) | STEP 6 验证 | |
| simplify | 复用、简化、效率专项清理 | 代码质量 | |
| 自动化与调度 | loop | 按间隔循环执行任务(轮询 CI、值守监控) | 调度与夜间值守 |
| schedule | 云端定时任务(cron 例行:巡检、晨报、摆渡班次提醒) | 第六/七章例行作业 | |
| 参考与工装 | claude-api | Claude API / 模型 / 价格的权威参考(本方案预算页的 Claude 价格即出自它,非记忆猜测) | 模型选型与预算 |
| deep-research / dataviz / artifact-design | 多源联网核查研究 / 图表设计规范 / 文档页面设计规范(本方案的图表即按其规范制作) | 调研与文档产出 | |
| init / update-config / fewer-permission-prompts | 为仓库生成 CLAUDE.md / 配置权限与环境 / 生成权限白名单减少打断 | 阶段一规范建设 · 权限落地 | |
| 自我扩产 | writing-skills | 教 AI 编写和验证新技能——事故复盘的教训可以当天沉淀为新技能,技能库自我生长 | STEP 9 闭环(失败沉淀为资产) |
前面讲的是"我们怎么建平台";这一章补齐底层常识——底座到底是什么、这些工具能不能换模型、谁该会什么。面向全员(含非技术岗),用最少术语讲清 3 个概念 + 1 张生态图 + 1 张角色技能表。
什么是"技能 / 插件 / MCP"?大模型、智能体、工具三者是什么关系?为什么它们能"相互引用"?
像 VSCode 能换模型一样,Claude Code、Codex、OpenClaw 能不能换用别的(含国产、内网私有)模型?怎么配?
程序员、运维、测试、产品、管理——各自的职责、要了解什么、全员必须掌握什么?
最常见的误解是"大模型什么都能自己干"。其实大模型本身只会理解与生成文字,不会自己动手。要它真正把活干完,靠中间的"智能体框架"去调用"工具 / 技能"。
技能就是一份写给 AI 看的说明书(文件名固定为 SKILL.md):告诉它"遇到这种场景,按这套步骤做"。它不是代码,是结构化的自然语言流程。
# 开头是 YAML 头:名字 + 何时触发
---
name: code-review
description: 提交前审查代码,发现 bug 与坏味道
---
# 正文是 markdown 步骤
## 使用时机
当有人完成一段实现、准备合并前触发。
## 步骤
1. 读取变更 diff
2. 按 正确性 / 可维护性 / 安全 三维检查
3. 输出问题清单,最严重的排最前
/code-review)。SKILL.md,AI 以后遇到同类任务就照做——这正是本方案 writing-skills"失败沉淀为技能"的原理。技能、插件、MCP 三个词常被混用,其实分工清晰。一张表看懂:
| 名词 | 是什么 | 解决什么 | 形态 / 例子 |
|---|---|---|---|
| 技能 Skill | 教 AI"怎么做"的说明书 | 把一段流程知识传给 AI | 一个含 SKILL.md 的目录;如"代码审查 SOP" |
| 插件 Plugin | 把技能 + 命令 + 配置打包分发的单元 | 让能力可以批量安装、团队共享 | 一个含多技能的包/目录;如 superpowers 插件包 |
| MCP | 模型与外部工具/数据源的连接协议 | 让 AI 能读数据库、调 API、访问文件系统 | 标准化的 server/client 接口;如连 GitLab / 数据库 / 文件 |
核心问题:Claude Code、OpenClaw、Hermes 各写各的技能,还是能互通?答案是互通——因为它们共用同一套开放标准 AgentSkills / SKILL.md。
--plugin-dir 注入;ClawHub、ai-skills 等注册中心一份技能供多平台安装。技能是可迁移资产,不绑定单一工具或厂商——与本方案"资产三层防锁定"完全一致。| 维度 | Claude Code | OpenClaw | Hermes |
|---|---|---|---|
| 定位 | 官方编码 CLI 智能体 | 本地优先个人 AI 助理(多渠道) | 自我改进型自主智能体 |
| 出品 / 许可 | Anthropic(商用) | 开源 MIT | Nous Research · 开源 MIT |
| 技能格式 | SKILL.md + 插件 + subagent + MCP | SKILL.md(AgentSkills 规范)+ 扩展 | 自动萃取的"技能"(推理模板) |
| 触发 / 记忆 | 场景自动调用 + 子智能体 | 多智能体路由 + 记忆 + cron 常驻 | 学习闭环,成功经验自动沉淀 |
| 模型 | 可换 Claude 为主,经网关换任意 | 模型无关 多后端 | 模型无关 Claude/GPT/Gemini/Qwen/DeepSeek |
| 本方案角色 | 数字员工默认引擎 | 常驻业务助手 | 长任务代办智能体 |
按运行形态分三类:编辑器/IDE 内插件、命令行 CLI 智能体、常驻/自主智能体。国内外主流列举如下(同类能力,可按场景与合规组合)。
| 类别 | 国外代表 | 国内代表 | 说明 |
|---|---|---|---|
| IDE 插件 | GitHub Copilot · Cursor · Windsurf · Cline · Continue · Roo Code | 通义灵码 · 文心快码 Comate · CodeGeeX · 豆包 MarsCode · 腾讯 CodeBuddy · iFlow | 在 VSCode / JetBrains 里补全与对话 |
| CLI 智能体 | Claude Code · Codex CLI · Gemini CLI · Aider · Qwen Code | 通义灵码 CLI · iFlow CLI 等 | 终端里多步自动改代码、可无头运行 |
| 常驻 / 自主 | OpenClaw · Hermes | 多基于开源自建 | 消息驱动待命 / 长任务自动执行 |
就像 VSCode 里的插件可以切换用 Claude、GPT 或国产模型,命令行智能体大多也支持换模型。总览如下:
| 工具 | 默认模型 | 能否换 | 换法(机制) |
|---|---|---|---|
| VSCode 系(Copilot / Cline / Continue) | 各自默认 | 可换 | 设置里选模型或填 API Key,接任意 OpenAI/Anthropic 兼容端点 |
| Claude Code | Claude 家族 | 可换 | 原生 Bedrock / Vertex / Foundry;非 Claude 经 LLM 网关(Anthropic 兼容) |
| Codex CLI | OpenAI / GPT | 可换 | config.toml 自定义 provider;--oss 接本地 Ollama / LM Studio |
| OpenClaw / Hermes | 模型无关 | 可换 | 配置后端端点与 Key,多模型并存、按任务路由 |
| 国产 IDE 工具 | 自家模型 | 部分 | 多为绑定自家模型;私有化版可对接内网模型 |
ANTHROPIC_BASE_URL 指向网关(LiteLLM / Portkey),网关把 Anthropic API 转译到 GPT / Gemini / 国产 / 内网模型。# 方式一:走 Amazon Bedrock 上的 Claude
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1
# 走 Google Vertex 上的 Claude
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5
export ANTHROPIC_VERTEX_PROJECT_ID=你的项目
# 方式二:经 LLM 网关接入非 Claude / 内网模型
export ANTHROPIC_BASE_URL=http://litellm.internal:4000
export ANTHROPIC_AUTH_TOKEN=你的网关令牌
# 网关侧再把请求路由到 GPT / 通义 / 内网 vLLM
ANTHROPIC_BASE_URL 只改"请求发去哪",不改"谁来回答"——真正换成非 Claude 模型靠网关做协议转译。涉密任务在网关侧硬路由到内网模型。~/.codex/config.tomlmodel = "qwen2.5-coder"
model_provider = "local"
[model_providers.local]
name = "Local Ollama"
base_url = "http://localhost:11434/v1"
wire_api = "responses"
requires_openai_auth = false
codex --oss 接本地 Ollama / LM Studio。wire_api="responses"),第三方端点须支持它。无论你是研发、运维、测试、产品还是管理,下面 5 项是"安全、有效用 AI"的共同地基。
把需求讲清楚:背景 + 目标 + 约束 + 验收标准。这是一切 AI 协作的地基,也是任务卡的雏形。
AI 靠"喂进去的上下文"回答;会选对知识源、给对材料(对应本方案 ku_ids / 知识库绑定)。
AI 会"一本正经地编造"。重要结论必须核对来源、交叉验证,先验证后采信,不盲信。
涉密不入 prompt、不入记忆;分清哪些能上云、哪些只能走内网模型。此条高于一切。
AI 出草稿、人做裁决;高风险动作必须人签批(对应晨审、门禁)。AI 提效,人担责。
职责:用 AI 高质量产出代码,并为团队沉淀可复用的技能与工具。需了解:三层堆栈、SKILL.md / 插件 / MCP 机制、模型可替换与配置。
TDD 先行:让 AI 先写会失败的测试再实现;坚持小步、可审查的 diff,先红后绿留证据。
把团队最佳实践写成 SKILL.md;事故复盘当天沉淀为新技能,技能库自我生长。
把数据库、GitLab、内部 API 以 MCP 接给智能体,让 AI 能安全地读写真实系统。
用 Codex 等异模型评审,避免"自己批自己";审查正确性、安全与坏味道。
SKILL.md 都能被全平台(含其他模型)复用——个人经验变成组织资产。纵向是技能项,横向是角色。必备 该角色核心 · 了解 需理解概念 · 进阶 可深造 · — 暂不要求。
| 必备技能 | 全员 | 研发 | 运维 | 测试 | 产品 | 管理 |
|---|---|---|---|---|---|---|
| 提示词与任务卡 | 必备 | 必备 | 必备 | 必备 | 必备 | 必备 |
| 上下文 / 知识库 | 必备 | 必备 | 了解 | 必备 | 必备 | 了解 |
| 幻觉与校验 | 必备 | 必备 | 必备 | 必备 | 必备 | 了解 |
| 保密红线 | 必备 | 必备 | 必备 | 必备 | 必备 | 必备 |
| 人机协作边界 | 必备 | 必备 | 必备 | 必备 | 必备 | 必备 |
| SKILL.md / 插件 / MCP | 了解 | 必备 | 了解 | 了解 | 了解 | 了解 |
| 编写技能 / 工具 | — | 必备 | 进阶 | 进阶 | — | 了解 |
| 模型配置与替换 | 了解 | 必备 | 必备 | 了解 | — | 了解 |
| 评测 Eval | — | 了解 | 了解 | 必备 | 了解 | 了解 |
| 门禁 / 审计 / 留痕 | 了解 | 必备 | 必备 | 必备 | 了解 | 必备 |
| ROI / 成本 / 合规 | — | 了解 | 了解 | — | 必备 | 必备 |
正文中带虚线下划线的术语:鼠标悬停显示释义气泡,点击即跳转到本页对应词条(自动高亮)。软件类词条附"官网 / 下载安装"直达链接(需在可联网环境打开)。本页可上下滚动。
夹在内网与互联网之间的缓冲网络区域,本方案中指唯一联网服务器所在的受控区。默认它可能被攻破,所以涉密数据永不进入——出事死它、不死内网。
网络之间没有任何物理连线,数据无法通过网络流动,是保密等级最高的隔离方式。本方案中内网核心区始终保持物理隔离。
内外网的网络连接在中间设备上被彻底断开,任何网络协议都无法直接穿透,只有画面与键鼠信号被转发。
远程桌面回传的只是屏幕画面(像素),上行只有键盘鼠标事件——文件与网页永远不以原始形态跨越边界。
人不直接上网,而是远程操纵隔离区里的整套桌面替自己上网干活;是"远程浏览器隔离(RBI)"的全桌面升级版。
文件跨越内外网的唯一合法方式:暂存 → 三重扫描 → 人工审批 → 单向导入 → 全程留痕。按固定班次批量执行,不做实时通道。
在一台服务器上隔离出的多套独立运行环境,秒级创建与销毁、互不可见。本方案每名员工(人类或数字)分配一个容器。
本单位自建的容器云桌面平台:容器化云桌面引擎 + 统一登录网关 + 复制/上传/下载权限开关 + 预装 AI 智能体,平台已建成可用。
由 AI 编码智能体驱动的无人值守容器:自动领工单、写代码、自测、提交,全程受机器门禁与审计约束,最终由人裁决。
Anthropic 公司的命令行 AI 编程智能体,可无头(无界面)运行、按权限白名单使用工具,是本方案数字员工的默认引擎(可替换为 Codex / Qwen Code / GLM 等,经网关切换)。
OpenAI 系的命令行编程智能体。本方案用它做"异模型交叉评审"——评审者与开发者不是同一个模型,防止自己批自己。
结构化工单:背景 + 验收标准 + 约束 + 风险级 + 费用预算,机器可读。写不出验收标准的任务不许进自动开发队列。
把一段代码改动正式提请评审、请求合入主干的流程单位。本方案所有变更必须走 MR,禁止直接修改主干。
每次提交代码后自动执行的检查流水线:编译、测试、安全扫描、防作弊检测,任何一环不通过就拦下。
在代码平台层面锁死的主干分支:任何人(包括管理员)不能直接推送或强制覆盖,只能经 MR + 检查通过后合入。
先把需求写成会失败的测试,再写代码让测试通过。产生"先红后绿"的提交序列,保证每条验收标准都有可验证的证据。
模拟真实用户在浏览器中走完整业务流程的自动化测试,本方案用 Playwright 实现,带操作录像与截图留证。
针对 AI 功能的"标准考卷":固定输入 + 金标准答案 + 打分器。既做质量门禁(改动不许让分数下降),也做模型选型基准。
新版本先只放给一小部分流量(如 5%)观察一段时间,错误率、延迟等指标正常再全量;异常则自动回滚。
出现故障时把系统一键退回到上一个正常版本——先止血、后查原因,是夜间自动运维的第一预案。
所有大模型调用的统一出口:按任务路由到不同档位模型、按容器计费、超预算自动熔断;涉密任务硬路由到内网本地模型。
部署在内网 GPU 服务器上的开源推理引擎,运行私有化大模型——涉密项目专用,代码与数据不出内网。
开源分布式工作流引擎:任务重试、超时、断点续跑、"挂起等人签批"都是内置能力。本方案调度器的骨架,自研只剩业务规则。
数字员工的产出未通过 CI 或评审时,系统把失败原因拼进整改指令、自动打回原容器重做。上限 3 轮,超过转人工。
达到预设风险阈值时自动停止以防损失扩大:单任务超预算、容器连败、全局费用触顶都会触发,全部硬编码在系统里。
每天清晨由值班架构师批阅夜间 AI 产出队列:合并 / 驳回(今晚重跑)/ 转人工,每单约 5 分钟——人握最终决定权。
事先由人评审入库的运维操作脚本(回滚、重启、扩容、降级、清理磁盘五类)。值班 AI 只能执行这些,无权临场发明操作。
列出一个软件包含的全部依赖组件及其版本的清单,供安全审计、漏洞排查与摆渡审批使用。
容器访问外网的唯一通道:只放行白名单域名(模型 API、代码平台、依赖源),其余一律拒绝,访问日志全量留存。
消息驱动的常驻智能体:7×24 待命处理日常事务(起草、查询、提醒、跟办),带可视化配置器,业务人员不写代码即可定义自己的助手。
自主执行多步长任务的智能体:用日常语言交办(整理档案、核对台账),自动拆解步骤执行完毕后汇报,适合批处理型业务。
助手把员工的操作习惯、格式偏好、业务口径沉淀为可读的记忆文件,分三层:会话记忆、个人操作记忆(仅本人可见)、部门知识库(授权共享)。存于数据卷,重建不丢,纳入审计,涉密不入。
开源低代码开发平台:自带用户/角色/菜单/按钮级权限、鉴权、数据字典、日志等通用能力,以及代码生成器、Online 在线表单、报表等低代码工具。分两版:单体版(一个应用打包部署,简单/中小系统首选)与微服务版(加网关 + Nacos,多业务域用);两版同源,默认从单体版起步。
基础底座(用户/权限/网关/鉴权等)只调用、只配置、只升级,永不修改源码。新增功能一律走"新服务 + 新前端文件 + 配置",由 CI 门禁(base-protect)强制保证,不靠自觉。
微服务的"电话簿 + 配置台":业务服务启动后向它注册,网关据此路由;新增服务的路由、配置改 Nacos 即生效,不改网关代码。
把每次数据库变更(建表、加字段、菜单权限配置 SQL)写成带版本号的增量脚本,随代码一起走流水线——环境迁移可重放、可审计,不靠手工点数据库。
监控指标的存储引擎:与 Prometheus 接口完全兼容但性能更好、支持集群,业界通行做法是"Prometheus 负责采集、VictoriaMetrics 负责存储"。开源可自托管。
国产开源的告警引擎与运维平台:对接 Prometheus/VictoriaMetrics 等时序库,统一管理告警规则、判定异常、分发通知(对接值班 AI 的 webhook)。全中文界面,对值班人员比手写 YAML 友好。
把每个软件连同依赖打进独立容器,秒级创建销毁、互不干扰。本方案所有软件都用 Docker Compose 一份 YAML 编排部署,数据与配置外挂到宿主目录。开源。
开源现代网关:配置极简、自动签发 HTTPS。在察元AI工舱前面做入口反代,把 /api 路由到模型网关、/files 路由到文件管理、其余路由到像素流桌面。
私有部署的一体化研发平台:仓库、保护分支、合并请求、流水线一站式。配 GitLab Runner(docker executor)执行测试与三重扫描。开源社区版免费。
统一代理并缓存 Maven/npm/PyPI 依赖、存放私有镜像与模型权重。研发侧依赖全部指向 Nexus,隔离区断开公网也能完整编译打包。开源。
高速键值存储。本方案用作 24×7 调度的派单并发锁(SETNX 抢占,避免两个数字员工领同一单)与回炉计数,是调度器的轻量协调组件。开源。
业界事实标准的指标采集器:定时抓取各服务暴露的指标端点,再 remote_write 到 VictoriaMetrics 长期存储。本方案只用它采集、不用它存储。开源。
开源数据看板:接 VictoriaMetrics 数据源,把模型花费、回炉率、门禁通过率、任务吞吐等做成实时大盘,供管理者与值班一眼掌握流水线健康度。
阿里云的 AI 编码助手,2026 年 5 月更名 Qoder CN。既有 IDE 插件也有终端 CLI 智能体,可在 Shell 直接调起;底层可挂 GLM / DeepSeek / Kimi / MiniMax 等国产模型,全栈部署于国产云、满足数据安全与合规,适合内网自主可控场景。
通义灵码的新名。Qoder CN CLI 面向终端原生场景,可在 Shell 里直接调用智能体完成开发、运维、脚本编写——是本方案数字员工的国产无头引擎候选。
号称国内首个 AI 原生 IDE:把 AI 能力做进开发流程的架构层。SOLO 智能体模式可自动完成需求拆解、编码、测试;Builder 模式一句话生成完整项目框架。有国内版。
清华与智谱技术背景的开源免费 AI 编程助手,支持 300+ 编程语言,可私有化部署,适合预算有限或需自托管的团队。
国产开源大模型,含代码专精版本。编码能力强、API 价格极低,权重开源可部署到内网 GPU(vLLM)。涉密项目"代码与数据不出网"的自主可控首选之一。
阿里开源大模型系列,含 Qwen-Coder 代码模型,并开源了 Qwen Code 命令行。可私有化部署到内网 GPU,是本方案内网自托管兜底与国产主力候选。
智谱的大模型系列,编码能力强,提供开放权重版本可自托管;本方案作国产主力/备份候选,经网关与其他模型一键切换。
月之暗面的大模型,擅长长上下文与 agentic(自主多步)编码,国产云端候选之一。