From b0e913ef9ae467b57f256157dbe194cc77f6ae8c Mon Sep 17 00:00:00 2001 From: "Anna.Zhdan" Date: Wed, 8 Apr 2026 13:32:11 +0200 Subject: [PATCH 1/2] Add plan rfd --- docs/rfds/model-config-category.mdx | 83 +++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 docs/rfds/model-config-category.mdx diff --git a/docs/rfds/model-config-category.mdx b/docs/rfds/model-config-category.mdx new file mode 100644 index 00000000..376b6c98 --- /dev/null +++ b/docs/rfds/model-config-category.mdx @@ -0,0 +1,83 @@ +--- +title: "Model Config Option Category" +--- + +- Author(s): [anna239](https://github.com/anna239) + +## Elevator pitch + +Add a new `model_config` category to session configuration options, so that agents can expose model-related parameters (context size, speed/quality trade-offs, etc) and clients can group them alongside the main model selector in the UI. + +## Status quo + +The `category` field on `SessionConfigOption` currently supports three values: `mode`, `model`, and `thought_level`. This works well when the model is a single selector, but some agents expose many model configurations — context window size, speed tier, and similar settings that logically belong next to the model picker. + +## What we propose to do about it + +Add a `model_config` variant to `SessionConfigOptionCategory`. + +Agents tag any model-related parameters with `"category": "model_config"`, and clients render them near the primary `model` selector — for example as secondary controls within a model-picker popover or panel. + +### Relationship to `thought_level` + +Once `model_config` exists, `thought_level` is semantically a special case of a model configuration parameter. We keep `thought_level` as-is for backward compatibility — existing clients already handle it — but new model-related options should use `model_config`. + +## Shiny future + +Agents expose rich, parameterized model configurations over ACP. + +## Implementation details and plan + +### JSON format + +An agent declares model-config options in `configOptions`: + +```json +{ + "configOptions": [ + { + "id": "model", + "name": "Model", + "category": "model", + "type": "select", + "currentValue": "sonnet-4.5", + "options": [ + { "value": "sonnet-4.5", "name": "Sonnet 4.5" }, + { "value": "opus-4.6", "name": "Opus 4.6" } + ] + }, + { + "id": "context_size", + "name": "Context Size", + "category": "model_config", + "type": "select", + "currentValue": "200k", + "options": [ + { "value": "200k", "name": "200K" }, + { "value": "1m", "name": "1M" } + ] + }, + { + "id": "fast_mode", + "name": "Fast Mode", + "category": "model_config", + "type": "boolean", + "currentValue": false + } + ] +} +``` + +### Client behavior + +- Clients SHOULD render `model_config` options near the `model` selector (e.g., in the same popover or panel). +- Clients that do not recognize the category MUST handle it gracefully per the existing spec — the option still renders, just without special placement. +- No new client capability negotiation is needed. + +### Should `thought_level` move under `model_config`? + +Not now. Existing clients already handle `thought_level`, so changing its semantics would be a breaking change. New model-related parameters should use `model_config`; `thought_level` remains for backward compatibility. + +## Revision history + +- 2026-04-08: Initial proposal From ebf8881ab31c2760077d678bb013b8607c8f7764 Mon Sep 17 00:00:00 2001 From: Ben Brandt Date: Thu, 7 May 2026 21:45:11 +0200 Subject: [PATCH 2/2] Update website --- docs/docs.json | 1 + docs/rfds/updates.mdx | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/docs/docs.json b/docs/docs.json index 21d22ae5..94dcdf0e 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -129,6 +129,7 @@ "rfds/next-edit-suggestions", "rfds/additional-directories", "rfds/custom-llm-endpoint", + "rfds/model-config-category", { "group": "v2 Draft", "expanded": true, diff --git a/docs/rfds/updates.mdx b/docs/rfds/updates.mdx index 4c9b9963..2ff11f82 100644 --- a/docs/rfds/updates.mdx +++ b/docs/rfds/updates.mdx @@ -6,6 +6,20 @@ rss: true This page tracks lifecycle changes for ACP Requests for Dialog. For broader ACP announcements, see [Updates](/updates). + +## model_config Category RFD moves to Draft + +The RFD for the `model_config` category been moved to Draft stage. Please review the [RFD](/rfds/model-config-category) for more information on the current proposal and provide feedback before the feature is stabilized. + + + + +## v2 Prompting RFD moves to Draft + +The RFD for how the prompt lifecycle will work in v2 of the protocol been moved to Draft stage. Please review the [RFD](/rfds/v2/prompt) for more information on the current proposal and provide feedback before the feature is stabilized. + + + ## session/close RFD moves to Completed