Skip to content

feat(runtime): add openai-responses provider and Responses API routing#248

Closed
mxyhi wants to merge 1 commit intoRightNow-AI:mainfrom
mxyhi:feat/openai-responses-reasoning-effort
Closed

feat(runtime): add openai-responses provider and Responses API routing#248
mxyhi wants to merge 1 commit intoRightNow-AI:mainfrom
mxyhi:feat/openai-responses-reasoning-effort

Conversation

@mxyhi
Copy link
Copy Markdown

@mxyhi mxyhi commented Mar 3, 2026

Summary

  • add a new provider alias: openai-responses
  • route OpenAI driver to /v1/responses when model format requires Responses API
  • allow explicit force format via openai-responses/<model> prefix
  • support OPENAI_REASONING_EFFORT (low|medium|high|xhigh) and model suffix fallback
  • update docs for provider/configuration usage

Implementation

  • drivers/mod.rs: register openai-responses and include it in known provider hints
  • drivers/openai.rs: add Responses request/response structs and routing logic
  • agent_loop.rs: prepend openai-responses/ to api_model when provider is openai-responses

Tests

  • cargo check -p openfang-runtime
  • cargo test -p openfang-runtime drivers::openai::tests:: -- --nocapture
  • cargo test -p openfang-runtime test_known_providers_list -- --nocapture

egargale pushed a commit to egargale/openfang that referenced this pull request Mar 5, 2026
…ping-indicator

feat(channel): add typing indicator for Discord
@jaberjaber23
Copy link
Copy Markdown
Member

Good feature — OpenAI Responses API for o-series reasoning models. Has merge conflicts. Please rebase onto main.

@mxyhi
Copy link
Copy Markdown
Author

mxyhi commented Mar 15, 2026

Superseded by #628.

I rebased feat/openai-responses-reasoning-effort onto current main and pushed the updated branch, but GitHub would not reopen this PR. The replacement PR is #628: #628

@jaberjaber23
Copy link
Copy Markdown
Member

@mxyhi saw the rebased #628. The core issue is the request schema doesn't match OpenAI's actual Responses API format. The ResponsesRequest struct uses fields (instructions, input) that the real endpoint doesn't accept, and build_responses_input() converts messages to plain text instead of the structured JSON the API expects. Please verify the schema against https://platform.openai.com/docs/api-reference/responses and resubmit. The driver architecture (routing based on model name, separate complete_via_responses path) is solid, just needs the real API format.

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.

2 participants