Skip to content

hi: configurable reasoning_effort for OpenAI-compatible endpoints#87

Merged
davidrhodus merged 1 commit into
mainfrom
reasoning-effort
Jul 11, 2026
Merged

hi: configurable reasoning_effort for OpenAI-compatible endpoints#87
davidrhodus merged 1 commit into
mainfrom
reasoning-effort

Conversation

@davidrhodus

Copy link
Copy Markdown
Contributor

Threads a ReasoningEffort level (minimal/low/medium/high/xhigh) through ChatRequest and emits it as reasoning_effort only on the OpenAI-compatible path; the Anthropic adapter keeps using thinking_budget. Previously hi sent no reasoning control at all on the OpenAI path, so models like pipenetwork's ipop/coder-balanced ran at the endpoint default (which is off, not medium).

Configurable three ways:

  • CLI: --reasoning-effort
  • profile TOML: reasoning_effort = "..." (CLI overrides profile)
  • runtime: /config reasoning <level|off>, plus /config temp <v|off>

Only the main turn takes the configured effort; housekeeping turns (compaction/memory/recap) stay off. Surfaced in --show-config.

Verified live: the flag reaches the wire, the model reasons (completion-token jump) while only the final answer renders, and unset omits the field entirely.

Threads a ReasoningEffort level (minimal/low/medium/high/xhigh) through
ChatRequest and emits it as `reasoning_effort` only on the OpenAI-compatible
path; the Anthropic adapter keeps using thinking_budget. Previously hi sent no
reasoning control at all on the OpenAI path, so models like pipenetwork's
ipop/coder-balanced ran at the endpoint default (which is off, not medium).

Configurable three ways:
- CLI: --reasoning-effort <level>
- profile TOML: reasoning_effort = "..."  (CLI overrides profile)
- runtime: /config reasoning <level|off>, plus /config temp <v|off>

Only the main turn takes the configured effort; housekeeping turns
(compaction/memory/recap) stay off. Surfaced in --show-config.

Verified live: the flag reaches the wire, the model reasons (completion-token
jump) while only the final answer renders, and unset omits the field entirely.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@davidrhodus
davidrhodus merged commit 05d65a5 into main Jul 11, 2026
2 of 3 checks passed
@davidrhodus
davidrhodus deleted the reasoning-effort branch July 11, 2026 22:41
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