治理与合规
wesgine 效果边界治理模型:三步管道、GovernMode、Compliance 预设与配额系统。
三步治理管道
工具调用
↓ Hardline(灾难拦截)
↓ Sandbox(数据边界)
↓ Zone(效果分类)
↓ 放行 / 拒绝
实现:internal/govern/checker.go。
Step 1: Hardline
18 条正则匹配灾难命令:
rm -rf /- fork bomb
shutdown- kill engine
- ...
恒 Deny,不可覆盖。不受 GovernMode 影响。
INV-GOV-01:不限于 exec 工具
对所有工具检查 command / cmd / script / shell JSON 字段,覆盖 MCP 代理工具。
Step 2: Sandbox
| 检查项 | 说明 |
|---|---|
| DenyPaths | 禁止访问的路径列表 |
| WorkDir 写入限制 | 限制写入范围 |
| NetworkPolicy | 网络访问策略 |
INV-GOV-02:网络命令检测
NetworkPolicy=deny/internal_only 时检测 exec 中的网络命令:
curl / wget / nc / ncat / netcat / ssh / scp / sftp / rsync
按命令位置检测(行首 / 分隔符后 / 子 shell 内),参数位置的同名词不误杀。
Step 3: Zone
| Zone | 含义 | 示例 |
|---|---|---|
| Green | 无副作用 | read、grep |
| Yellow | 有副作用 | write、exec |
| Red | 高风险 | delegate_task |
INV-GOV-03
delegate_task 归类为 ZoneRed(非 Yellow),子 Agent 启动必须经过完整审计。
GovernMode
Per-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
语义标签,通过预设自动映射:
| 标签 | 含义 |
|---|---|
standard | 通用 |
pii-strict | 个人隐私保护 |
financial | 金融合规 |
healthcare | 医疗合规 |
INV-GOV-COMPLIANCE-02
Compliance 与 DenyPaths 解耦:
- Compliance →
RedactorRules+GuardrailsRequired - DenyPaths → preset 注入 + 显式
CellSpec.DenyPaths
UpdateSpec(Compliance:) 只 swap RedactorRules,不增删 DenyPaths。
CellQuotas
计算配额
| 维度 | 超限行为 |
|---|---|
| MaxConcurrentRuns | 429 |
| TokensPerMinute | 429 |
| TokensPerDay | 429 |
存储配额
超限 → GC / 拒写。
外设配额(INV-QUOTA-05)
| Cap | 判据位置 |
|---|---|
| MaxIMChannels | 唯一增长点 |
| MaxMCPServers | 唯一增长点 |
| MaxCronJobs | 唯一增长点 |
| MaxEmailAccounts | 唯一增长点 |
| MaxSkillsInstalled | 唯一增长点 |
Exec 配额
命令执行的超时与资源限制。
治理链不产生 HITL
HITL 仅用于 Agent 主动交互:
ask_userbrowser_wait_for_user- CycleDetector
治理链的拒绝是确定性的,不需要用户介入。
相关文档
- CellSpec 治理字段 →
cellspec-governance.md - CellSpec 总览 →
cellspec-overview.md - Run 生命周期 →
run-lifecycle.md