feat: govern chat model selection by policy

This commit is contained in:
thanhnv
2026-07-10 17:09:28 +09:00
parent f8215cd2eb
commit b0ced79af5
9 changed files with 186 additions and 12 deletions
@@ -6,26 +6,34 @@
"local": {
"model": "ollama:ornith:9b",
"class": "local",
"requires_key": false
"requires_key": false,
"roles_allowed": ["viewer", "auditor", "operator", "project-admin", "org-admin"],
"model_roles_allowed": ["read_only", "analysis", "operator", "codegen"]
},
"cloud-anthropic": {
"model": "anthropic:claude-3-5-sonnet-latest",
"class": "cloud",
"requires_key": true,
"key_env": "ANTHROPIC_API_KEY"
"key_env": "ANTHROPIC_API_KEY",
"roles_allowed": ["project-admin", "org-admin"],
"model_roles_allowed": ["analysis", "codegen"]
},
"cloud-openai": {
"model": "openai:gpt-4o-mini",
"class": "cloud",
"requires_key": true,
"key_env": "OPENAI_API_KEY"
"key_env": "OPENAI_API_KEY",
"roles_allowed": ["project-admin", "org-admin"],
"model_roles_allowed": ["analysis", "codegen"]
},
"omniroute": {
"model": "openai-compatible:auto/best-coding",
"class": "gateway",
"requires_key": true,
"key_env": "CASAN_OPENAI_COMPATIBLE_API_KEY",
"requires_preflight": true
"requires_preflight": true,
"roles_allowed": ["operator", "project-admin", "org-admin"],
"model_roles_allowed": ["read_only", "analysis", "operator", "codegen"]
}
},
"role_bindings": {