-
-
Notifications
You must be signed in to change notification settings - Fork 80.3k
Feature: per-channel / per-group / per-DM model override in config #53638
Copy link
Copy link
Closed
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
No fields configured for issues without a type.
Summary
Allow configuring a
modelfield at the channel, group, and DM level inopenclaw.json, so different conversations can use different models without manual runtime overrides.Current behavior
Model selection granularity is limited to:
agents.defaults.model.primary) — applies to all new sessions/modelorsession_status(model=...)) — ephemeral, does not persist across session resetsThere is no way to pin a model to a specific channel, group, or DM in config.
Desired behavior
Add an optional
modelfield to the per-target config schemas:WhatsApp
channels.whatsapp.groups.<group-id>.model— per-group overridechannels.whatsapp.dms.<phone>.model— per-DM overridechannels.whatsapp.model— channel-wide default for all WhatsApp sessionsSlack
channels.slack.channels.<channel-id>.model— per-channel overridechannels.slack.model— channel-wide default for all Slack sessionsResolution order (proposed)
channels.<provider>.model)agents.defaults.model.primary)Use cases
Context
Currently running 35+ sessions across WhatsApp DMs, WhatsApp groups, Slack channels, and Slack threads. All inherit the global default unless manually overridden at runtime. The override does not survive session resets, making it impractical for persistent per-context model selection.
Environment
channels.whatsapp.groups.*,channels.whatsapp.dms.*,channels.slack.channels.*— none have amodelfield today