void icon indicating copy to clipboard operation
void copied to clipboard

Missing reasoning_effort parameter & incorrect prompt role for o-series models in OpenAI-Compatible

Open huni0103 opened this issue 7 months ago • 5 comments

Environment: Void version: 1.3.2 Integration: OpenAI-Compatible

Issue 1: reasoning_effort parameter not sent

  • In the Chat UI, when selecting o4-mini or o3 under OpenAI-Compatible, you can choose a “Thinking” level (Low, Medium, High).
  • However, the actual HTTP request body sent to the server contains no reasoning_effort field.
  • Expected: the request JSON should include "reasoning_effort": "low" | "medium" | "high" matching the UI selection.

Issue 2: Wrong prompt role for o-series inference models

  • According to OpenAI’s guidance, when targeting o-series models (e.g. o4-mini, o3), system prompts should be sent with role: "developer" rather than "system".
  • Void currently always uses "role": "system" even for o4-mini and o3.
  • Expected: when using o4-mini or o3, the role field in the prompt payload should be set to "developer".

Steps to reproduce:

  1. Open Void 1.3.2 and enable an OpenAI-Compatible server.
  2. Select o4-mini (or o3) and pick a Thinking level (Low/Medium/High).
  3. Inspect the outgoing request body (e.g. via a proxy or server logs).
  4. Observe that neither reasoning_effort nor role: "developer" appear in the payload.

Expected behavior:

  • The JSON payload should include both the reasoning_effort field and use "role": "developer" for o-series models.

Please refer to the official OpenAI documentation for chat completions here: https://platform.openai.com/docs/api-reference/chat/create

Image

huni0103 avatar May 13 '25 09:05 huni0103

Thanks for reporting, will investigate.

andrewpareles avatar May 14 '25 03:05 andrewpareles

#584 should fix this! Lmk if you still have any problems.

andrewpareles avatar May 14 '25 06:05 andrewpareles

@andrewpareles Thanks for fixing the reasoning_effort parameter in Issue 1! I’ve confirmed it’s now being sent correctly. However, Issue 2 still persists: o-series models (o4-mini and o3) are still receiving prompts with "role": "system" instead of "role": "developer" as specified in the OpenAI docs (https://platform.openai.com/docs/api-reference/chat/create). Could you please take another look and update the prompt role accordingly?

By the way, I’m absolutely loving Void—it’s the only open-source project I’ve found that can truly replace Cursor. Haha!

huni0103 avatar May 14 '25 08:05 huni0103

glad to hear!

Ah, yes - I think we likely just need to change developer to system in modelCapabilities.ts for these models, happy to do this tomorrow!

andrewpareles avatar May 14 '25 08:05 andrewpareles

https://github.com/voideditor/void/pull/608 Made a PR regarding this!

animeshlego5 avatar May 17 '25 11:05 animeshlego5