Skip to content

Support protocol-aware per-model extra request parameters #1674

Description

@ayu-exorcist

What feature would you like to see?

Support a protocol-aware, per-model configuration surface for adding safe provider-specific request-body parameters.

For example, OpenAI Priority processing is enabled with this request field:

{ "service_tier": "priority" }

Today, config.toml has no supported way to add that field. Using it from Kimi Code therefore requires an external reverse proxy or a local source patch, even though the OpenAI protocol implementation can carry additional generation parameters internally.

A possible model-level configuration shape:

[models.gpt-5-priority]
provider = "openai"
model = "gpt-5"
protocol = "openai"
max_context_size = 400000

[models.gpt-5-priority.request_parameters]
service_tier = "priority"

The configuration should be protocol-aware and merged into the protocol-native request body only for the selected model. It should not be a complete request-body replacement.

Additional information

Provider-level custom headers already exist, so this request is specifically about additional JSON request-body parameters.

Suggested safeguards:

  • Apply the parameters only to protocols that support them (for example, OpenAI Chat Completions and OpenAI Responses).
  • Preserve Kimi Code-owned request fields such as model, messages/input, instructions, tools, stream, stream_options, response format, and authentication.
  • Reject or ignore reserved keys rather than allowing configuration to overwrite request structure.
  • Report a clear config error when a parameter is unsupported by the selected protocol.

This would make official provider capabilities available without a custom proxy, including OpenAI Priority processing via service_tier, and would leave room for future provider-native routing or inference options.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions