Handy/src-tauri
LuoXi 84d88f911c
perf: add reasoning_effort passthrough to avoid thinking-mode latency in local models (#1221)
* perf: add reasoning_effort passthrough to avoid thinking-mode latency

Reasoning models (Gemma 4, Qwen 3, etc.) default to thinking mode,
adding 10-40x latency for simple transcript cleanup. Pass through the
OpenAI-compatible reasoning_effort parameter so users can disable
thinking when speed matters more than deep reasoning.

- Add optional reasoning_effort field to ChatCompletionRequest
- Thread through send_chat_completion / send_chat_completion_with_schema
- New set_post_process_reasoning_effort Tauri command for persistence
- Dropdown in post-processing settings, Custom provider only
- i18n for en and ja

* refactor: simplify reasoning_effort to on/off toggle

Addresses review feedback on the reasoning_effort passthrough:
post-processing rarely benefits from reasoning, so a 5-way dropdown
(default/none/low/medium/high) is overkill. Collapse to a single
boolean toggle "Disable reasoning" that defaults to ON for Custom
providers (sends reasoning_effort: "none"). Cloud providers continue
to receive no reasoning_effort parameter.

- Replace post_process_reasoning_effort: Option<String> with
  post_process_disable_reasoning: bool (default true) in settings
- Map bool to Option<String> at the request site (true -> "none",
  false -> omit) so the API contract is unchanged
- Rename Tauri command to set_post_process_disable_reasoning(disable)
  so parameter naming matches the setting and avoids inversion bugs
- Swap the Dropdown for a ToggleSwitch in the Custom provider section
- Collapse five i18n strings to one label + description, and add the
  translation to all 18 additional locales so non-en/ja users don't
  fall back to English for this control

* refactor: remove disable-reasoning toggle, always disable for custom provider

Per PR #1221 discussion with @cjpais: since this is an alpha feature,
simplify the UI by always sending reasoning_effort: "none" for custom
provider post-processing. If this causes issues with specific provider
setups, we can revisit.

* disable for openrouter too

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2026-04-07 15:19:40 +08:00
..
capabilities feat: add models settings page with filtering and management (#478) 2026-02-08 12:18:22 +08:00
gen/apple more wip but roughly is there 2025-08-01 14:15:02 -07:00
icons who knows 2025-05-09 16:07:36 -07:00
nsis preserve legacy portable marker during updates (#1167) 2026-03-31 06:53:57 +08:00
resources upgrade path from old giga-am to new (#1088) 2026-03-18 23:20:27 +08:00
src perf: add reasoning_effort passthrough to avoid thinking-mode latency in local models (#1221) 2026-04-07 15:19:40 +08:00
swift feat: implement structured outputs for post-processing providers (#706) 2026-02-17 12:14:00 +08:00
.gitignore basic working transcription. 2025-02-03 09:26:37 -08:00
build.rs feat: add tray menu localization using system locale (#446) 2025-12-18 04:14:32 -08:00
Cargo.lock release v0.8.2 2026-04-02 08:21:41 +08:00
Cargo.toml release v0.8.2 2026-04-02 08:21:41 +08:00
Entitlements.plist working? ability to package/run on macos 2025-05-05 12:13:27 -07:00
Info.plist working? ability to package/run on macos 2025-05-05 12:13:27 -07:00
rustfmt.toml format everything (#323) 2025-11-10 11:39:14 +08:00
tauri.conf.json release v0.8.2 2026-04-02 08:21:41 +08:00