CellSpec 禁止 Actor 自带 Provider

wesgine 的 CellSpec.DisallowActorProvider 控制是否允许用户(Actor)通过请求携带自己的 Provider 凭据来绕过 Cell 的 Provider 策略。


设计目的

在合规或成本管控场景中,管理员需要确保所有 LLM 调用都经过审批过的 Provider,防止用户自带 API Key 绕过:


配置方式

CellSpec{
    DisallowActorProvider: true,
    AllowedModels: []string{"gpt-4o"},
    ProviderStrategy: "shared_only",
}

与其他字段的配合

典型合规配置

CellSpec{
    DisallowActorProvider: true,    // 禁止自带
    AllowedModels: []string{...},   // 限定模型
    ProviderStrategy: "shared_only", // 只用共享池
    Governance: RegulatedGovernance, // 严格治理
}

典型开发配置

CellSpec{
    DisallowActorProvider: false,   // 允许自带(默认)
    ProviderStrategy: "own_first",  // 优先自有
}

校验时机

在 Cognitive Resolver 解析 Provider 时:

  1. 检查 AppRunRequest 是否携带 Actor Provider
  2. 若 DisallowActorProvider == true 且请求含 Actor Provider → 拒绝
  3. 否则 → 按 ProviderStrategy 正常解析

产品场景

产品默认值原因
wescodefalse个人开发,BYOK 是常见需求
wesclaw desktopfalse个人助手,自带 key 正常
wesclaw SaaS按部署决定企业可能需要限制
teleclaw按部门决定金融部门 true,业务部门 false

运行时修改

可通过 SpecPatch 修改:

PATCH /admin/cells/{id}
{
  "disallow_actor_provider": true
}

相关文档