治理模型
wesgine 提供完整的 per-Cell 效果边界治理模型(CellGovernance)。
三步管道
治理链由三步组成(internal/govern/checker.go):
| 步骤 | 职责 | 判据 |
|---|---|---|
| Hardline | 灾难命令拦截 | 18 条正则(rm -rf / fork bomb / shutdown 等) |
| Sandbox | 数据边界 | DenyPaths / WorkDir 写入限制 / NetworkPolicy |
| Zone | 效果分类 + Mode 决策 | Green→Allow / Yellow→Mode 决策 / Red→条件 |
Hardline 恒 Deny,不可覆盖。
GovernMode
每 Cell 声明,决定 Yellow Zone 行为:
| Mode | Yellow Zone | 典型用途 |
|---|---|---|
open(默认) | Allow + Audit | 编程/助手/通用 |
locked | Deny | 金融合规/展示 |
Compliance 预设
一键装配 GovernMode + NetworkPolicy + Redactor:
| 预设 | Mode | NetworkPolicy | Redactor | 适用 |
|---|---|---|---|---|
StandardPreset() | open | allow | 无 | wescode/wesclaw/wescraft |
RegulatedPreset() | locked | internal_only | 按场景 | financial/pii/healthcare |
ReadonlyPreset() | locked | deny | 无 | 展示/demo |
ComplianceClass
语义标签自动映射到 GovernMode + NetworkPolicy:
standardpii-strictfinancialhealthcare
Sandbox 网络检查
INV-GOV-02:checkExecNetwork() 在 NetworkPolicy=deny/internal_only 时检测 exec 命令中的网络工具:
curl/wget/nc/ssh/scp/rsync等- 按命令位置检测,参数位置同名词不误杀
Hardline 检查范围
INV-GOV-01:extractCommand 不限于 exec 工具:
- 对所有工具检查
command/cmd/script/shellJSON 字段 - 覆盖 MCP 代理工具
API 端点
GET /cells/{id}/policy 治理策略
PATCH /cells/{id}/policy 更新策略
PUT /cells/{id}/config/governance 更新 GovernMode + DenyPaths + NetworkPolicy
与 HITL 的关系
治理链不产生 HITL。HITL 仅用于:
- Agent 主动交互(ask_user)
- browser_wait_for_user
- CycleDetector 二次循环检测
反模式
| 禁止 | 正确做法 |
|---|---|
| Compliance 直接控制 DenyPaths | Compliance 只决定 RedactorRules + GuardrailsRequired |
| delegate_task 归类为 ZoneYellow | ZoneRed(INV-GOV-03),子 Agent 启动必须审计 |
| 在 engine 级设治理 | per-Cell 声明 |