Files
CASAN/packages/casan-harness/config/model-providers.yaml
T

50 lines
1.7 KiB
YAML

{
"version": 1,
"_note": "Plan-18 Track M model provider binding. JSON content (parsed by json.load like the other *.yaml policy files). Governance-managed via Control Plane; credentials NEVER live here (only key_env names). Chat synthesis is OFF by default (CASAN_CHAT_MODEL_MODE=off) so offline/CI stays deterministic.",
"default_mode": "off",
"providers": {
"local": {
"model": "ollama:ornith:9b",
"class": "local",
"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",
"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",
"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,
"roles_allowed": ["operator", "project-admin", "org-admin"],
"model_roles_allowed": ["read_only", "analysis", "operator", "codegen"]
}
},
"role_bindings": {
"read_only": "local",
"analysis": "local",
"operator": "local",
"codegen": "local"
},
"data_policy": {
"local": "internal_ok",
"cloud": "pii_requires_guard"
}
}