CellSpec 禁止 Actor 自带 Provider
wesgine 的 CellSpec.DisallowActorProvider 控制是否允许用户(Actor)通过请求携带自己的 Provider 凭据来绕过 Cell 的 Provider 策略。
设计目的
在合规或成本管控场景中,管理员需要确保所有 LLM 调用都经过审批过的 Provider,防止用户自带 API Key 绕过:
- 模型白名单限制(
AllowedModels) - Provider 策略(
ProviderStrategy) - 审计追踪
- 成本核算
配置方式
CellSpec{
DisallowActorProvider: true,
AllowedModels: []string{"gpt-4o"},
ProviderStrategy: "shared_only",
}
false(默认):允许用户自带 Provider(BYOK 场景)true:禁止用户自带 Provider
与其他字段的配合
典型合规配置
CellSpec{
DisallowActorProvider: true, // 禁止自带
AllowedModels: []string{...}, // 限定模型
ProviderStrategy: "shared_only", // 只用共享池
Governance: RegulatedGovernance, // 严格治理
}
典型开发配置
CellSpec{
DisallowActorProvider: false, // 允许自带(默认)
ProviderStrategy: "own_first", // 优先自有
}
校验时机
在 Cognitive Resolver 解析 Provider 时:
- 检查
AppRunRequest是否携带 Actor Provider - 若
DisallowActorProvider == true且请求含 Actor Provider → 拒绝 - 否则 → 按
ProviderStrategy正常解析
产品场景
| 产品 | 默认值 | 原因 |
|---|---|---|
| wescode | false | 个人开发,BYOK 是常见需求 |
| wesclaw desktop | false | 个人助手,自带 key 正常 |
| wesclaw SaaS | 按部署决定 | 企业可能需要限制 |
| teleclaw | 按部门决定 | 金融部门 true,业务部门 false |
运行时修改
可通过 SpecPatch 修改:
PATCH /admin/cells/{id}
{
"disallow_actor_provider": true
}
相关文档
- 模型白名单 →
cell-spec-allowed-models.md - Provider 策略 →
provider-strategy.md - 治理预设 →
governance-presets.md