feat(council): define litellm-backed tier policy
This commit is contained in:
@@ -33,6 +33,7 @@
|
||||
- Use local-first search by default: SearXNG first, then Brave-backed fallback when needed.
|
||||
- Brave free-plan search is rate-limited heavily; avoid parallel bursts.
|
||||
- In direct sessions with Will, cron jobs should use the `automation` agent by default unless Will explicitly says otherwise in that session.
|
||||
- Council tiers should use local LiteLLM-backed models for usage monitoring: light = `litellm/gpt-5.3-codex` with low thinking, medium = `litellm/gpt-5.3-codex` with high thinking, heavy = `litellm/gpt-5.4` with high thinking.
|
||||
|
||||
## Infrastructure notes worth remembering
|
||||
- Full `~/.openclaw` backups upload to MinIO bucket `zap` and are scheduled via OS cron every 6 hours.
|
||||
|
||||
@@ -204,7 +204,13 @@ Before orchestrating a council run, resolve the plan first, for example:
|
||||
- `python3 skills/council/scripts/council-plan.py --mode personality --tier light --pretty`
|
||||
- `python3 skills/council/scripts/council-plan.py --mode dp --tier heavy --pretty`
|
||||
|
||||
Then use the returned `agentId` values in `sessions_spawn`. If `modelOverride` is null, preserve the dedicated agent's configured model. If present, apply the override only for that run.
|
||||
Then use the returned `agentId` values in `sessions_spawn`.
|
||||
- Apply `modelOverride` for that run.
|
||||
- Apply `thinkingOverride` for that run.
|
||||
- Current council policy uses local LiteLLM-backed models for monitoring/usage visibility:
|
||||
- `light` -> `litellm/gpt-5.3-codex` with `thinking=low`
|
||||
- `medium` -> `litellm/gpt-5.3-codex` with `thinking=high`
|
||||
- `heavy` -> `litellm/gpt-5.4` with `thinking=high`
|
||||
|
||||
## Configuration
|
||||
|
||||
|
||||
@@ -56,19 +56,25 @@
|
||||
},
|
||||
"tierPolicy": {
|
||||
"light": {
|
||||
"advisorModel": null,
|
||||
"synthesisModel": null,
|
||||
"notes": "Use dedicated council agents as configured. No overrides by default."
|
||||
"advisorModel": "litellm/gpt-5.3-codex",
|
||||
"synthesisModel": "litellm/gpt-5.3-codex",
|
||||
"advisorThinking": "low",
|
||||
"synthesisThinking": "low",
|
||||
"notes": "Use local LiteLLM for all council roles. Light tier = gpt-5.3-codex with low thinking."
|
||||
},
|
||||
"medium": {
|
||||
"advisorModel": null,
|
||||
"synthesisModel": null,
|
||||
"notes": "Keep advisor agents cheap; rely on stronger dedicated synthesis agents."
|
||||
"advisorModel": "litellm/gpt-5.3-codex",
|
||||
"synthesisModel": "litellm/gpt-5.3-codex",
|
||||
"advisorThinking": "high",
|
||||
"synthesisThinking": "high",
|
||||
"notes": "Use local LiteLLM for all council roles. Medium tier = gpt-5.3-codex with high thinking."
|
||||
},
|
||||
"heavy": {
|
||||
"advisorModel": null,
|
||||
"synthesisModel": "openai-codex/gpt-5.4",
|
||||
"notes": "Preserve dedicated role identities. Escalate synthesis first; only override advisors when task risk justifies it."
|
||||
"advisorModel": "litellm/gpt-5.4",
|
||||
"synthesisModel": "litellm/gpt-5.4",
|
||||
"advisorThinking": "high",
|
||||
"synthesisThinking": "high",
|
||||
"notes": "Use local LiteLLM for all council roles. Heavy tier = gpt-5.4 with high thinking."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,12 +29,15 @@ def resolve_plan(mode: str, tier: str):
|
||||
|
||||
for role, cfg in roles.items():
|
||||
mission = cfg.get('mission', 'advisor')
|
||||
override = tier_policy.get('synthesisModel') if mission == 'synthesis' else tier_policy.get('advisorModel')
|
||||
is_synthesis = mission == 'synthesis'
|
||||
override = tier_policy.get('synthesisModel') if is_synthesis else tier_policy.get('advisorModel')
|
||||
thinking = tier_policy.get('synthesisThinking') if is_synthesis else tier_policy.get('advisorThinking')
|
||||
plan['roles'][role] = {
|
||||
'agentId': cfg['agentId'],
|
||||
'mission': mission,
|
||||
'defaultModel': cfg.get('defaultModel'),
|
||||
'modelOverride': override,
|
||||
'thinkingOverride': thinking,
|
||||
'fallbacks': cfg.get('fallbacks', [])
|
||||
}
|
||||
return plan
|
||||
|
||||
Reference in New Issue
Block a user