Skip to content

feat: allow specifying reasoning level for Slack integration#640

Closed
RSO wants to merge 3 commits intomainfrom
allow-specifying-reasoning-level-for-slack-integra
Closed

feat: allow specifying reasoning level for Slack integration#640
RSO wants to merge 3 commits intomainfrom
allow-specifying-reasoning-level-for-slack-integra

Conversation

@RSO
Copy link
Contributor

@RSO RSO commented Feb 27, 2026

Summary

  • Adds an optional Reasoning Level selector to the Slack integration settings UI, shown conditionally when the selected model supports reasoning_effort (detected via supported_parameters)
  • Stores the reasoning effort alongside the model slug in the platform_integrations metadata JSONB column
  • Passes the configured reasoning effort through to the OpenRouter API via the reasoning.effort field when the Slack bot processes messages

Changes

Service layer (slack-service.ts)

  • updateModel() now accepts an optional reasoningEffort parameter and persists it in metadata
  • Renamed getModel()getModelConfig() returning a SlackModelConfig with both modelSlug and reasoningEffort

tRPC router (slack-router.ts)

  • getInstallation response includes reasoningEffort (validated via ReasoningEffortSchema)
  • updateModel mutation accepts optional reasoningEffort input
  • Audit log includes reasoning effort when set

Bot engine (run-bot.ts)

  • BotRunInput accepts optional reasoning: OpenRouterReasoningConfig
  • Reasoning config is included in the request body when present

Slack bot runtime (slack-bot.ts)

  • Reads reasoning effort from getModelConfig() and builds an OpenRouterReasoningConfig
  • Passes it to runBot() via the new reasoning parameter

UI (SlackIntegrationDetails.tsx)

  • Conditionally renders a Reasoning Level <Select> (None / Low / Medium / High) when the model supports it
  • Automatically clears reasoning effort when switching to a model that doesn't support it
  • Saves model + reasoning effort together in a single mutation

RSO added 3 commits February 27, 2026 11:33
Add an optional reasoning effort selector to the Slack integration
settings that appears when the selected model supports reasoning_effort.
The setting is stored in the integration metadata and passed through to
the OpenRouter API when the Slack bot processes messages.
Most models (e.g. Claude, Gemini) advertise reasoning support via
'reasoning' in supported_parameters rather than 'reasoning_effort'.
Both accept the reasoning.effort field in the OpenRouter API.
Thread the reasoning effort setting through the entire cloud-agent-next
stack so that when the Slack bot spawns a Cloud Agent session, the
configured reasoning level is forwarded to the Kilo CLI.
@RSO RSO closed this Mar 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant