Skip to content

Use modern AI provider APIs - #12

Open
m1guelpf wants to merge 6 commits into
PenumbraOS:masterfrom
m1guelpf:modern-ai-apis
Open

m1guelpf wants to merge 6 commits into
PenumbraOS:masterfrom
m1guelpf:modern-ai-apis

Conversation

@m1guelpf

@m1guelpf m1guelpf commented Aug 10, 2026 •

Copy link
Copy Markdown

This PR ensures all the AI providers use their more modern APIs. Specifically, it switches the OpenAI provider to always use the Responses API (previously it only did so when web search was enabled), and Gemini to use the Interactions API.

Rationale

This will enable support for user-configured MCP servers in a future PR, which makes adding functionality to the AI Pin much easier. For example, adding Google Calendar support back doesn't need system changes, just connecting to the official MCP server from the PenumbraOS Center.

The OpenAI Responses API, Anthropic Messages API, and the Gemini Interactions API all have native support for connecting MCP servers. This wouldn't be supported by openai-compatible providers (for now?).

Notes

While building this, I noticed a bug with the existing Responses API implementation. It rewrites the function schemas in sanitize_schema, which forces the model to invent parameters for all fields, even nullable ones. I have left this issue in place at the maintainer's request.

Comment thread server-rs/src/llm/tools/memory/save.rs
Comment thread server-rs/src/llm/tools/memory/save.rs Outdated
Comment thread server-rs/src/llm/tools/memory/save.rs
@m1guelpf
m1guelpf marked this pull request as ready for review August 11, 2026 00:51
@m1guelpf

Copy link
Copy Markdown
Author

@agg23 I've marked kind as required (as mentioned above, it wasn't before), should be ready for review now!

@agg23

agg23 commented Aug 15, 2026

Copy link
Copy Markdown
Member

I updated to latest rig 0.41 for you. Hopefully that fixes your issue once OpenAI is switched to the Responses API

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