Gunzino OpenResponses

OpenResponses

Direct OpenAI Responses API client for iPhone and iPad. Stream events, inspect raw payloads, run tools, and keep credentials local while talking straight to OpenAI endpoints.

Pick the model, set its reasoning, and see every token and stream event. Filmed in the iPhone Simulator, the wait at 4x.

Responses API Developer Client

A native client for OpenAI’s Responses API. It shows you the request before it goes out, the event stream as it arrives, and MCP tool calls for approval unless you turn that off.

On the App Store · v2.9 · Requires iOS 17

View on GitHub

OpenResponses sends requests directly from the client to the OpenAI Responses API. It exposes SSE event streams, raw request payloads, tool approval flows, and local conversation state so technical users can see what the model and tools are actually doing. This is the active product line that supersedes OpenAssistant.

Capabilities

What Makes OpenResponses Different

Direct Responses API path

Requests go straight to OpenAI's /v1/responses endpoint with user-owned API credentials instead of a proxy or older Assistants-style run orchestration layer.

SSE event visibility

Streaming text deltas, reasoning events, tool calls, and status updates are surfaced as typed client events rather than hidden behind a chat-style UI abstraction.

Tool execution with approvals

Computer use, web search, code interpreter, file search, and MCP flows are exposed with user approval points where the API or the app expects them.

Developer observability

Request inspection, token usage, event timelines, reasoning surfaces, and raw JSON make it useful for debugging integrations, not just chatting with a model.

Local credential handling

API keys and connection details stay in local storage such as the Keychain, with optional integrations added only when the user enables them.

Native file preparation

PDFKit and Vision are used on device to prepare local files and OCR content before it is packaged into Responses API payloads.

OpenAssistant successor

OpenResponses is where the active API-tooling work now lives. OpenAssistant remains as the older Assistants API line for reference, not as the current flagship client.

What's new

Version 2.9

2.9 is about seeing what the assistant is doing while it uses its tools.

TOOL STEPS

  • Tool steps sat on "Queued" even after they'd finished. Now each one shows a spinner while it works and says Completed or Failed when it's done. That goes for web search, file search, Code Interpreter, image generation, MCP tools and the browser steps of Computer Use.
  • Steps have their real names, like Code Interpreter instead of "code_interpreter_call". Tap the Code Interpreter step to see the Python it ran.
  • When a step fails, it says Failed. That includes an MCP tool that returns an error, which the app used to miss.
  • The answer after a tool call starts its own paragraph instead of running into the sentence before it, and the note the app shows when a browser step fails goes away once the answer starts.

CHARTS AND FILES

  • A chart from Code Interpreter shows once. It could show up two or three times before.
  • Each file Code Interpreter makes is listed once, and text files still have their contents when you reopen the chat.

ALSO

  • Reasoning summaries show their formatting instead of raw asterisks.
  • The Computer Use warning says what it actually drives: a browser inside the app, nothing else.

Still no account, still your own key, and your chat history stays on your phone.

Version history

Under the hood

Technical Profile

Core APIs

  • Primary: OpenAI Responses API over direct HTTPS
  • Streaming: Server-Sent Events mapped into typed client events
  • Tools: computer use, web search, code interpreter, file search, MCP
  • Optional integrations: Notion, EventKit, Contacts

Data boundary

  • Local: API keys, conversation state, request inspection, file preparation
  • Remote: Requests and tool payloads sent directly to OpenAI when invoked
  • Audience: developers, prompt engineers, technical users
  • Status: active product line and successor to OpenAssistant

Workflow

How OpenResponses Runs

Compose a direct request

The client builds a Responses API payload locally, including any user-selected tools, files, reasoning options, or prior response context.

Stream typed events

SSE events are parsed into client-side models so text deltas, reasoning phases, and tool transitions can be rendered in real time.

Approve or execute tools

Tool calls such as computer use, web search, code interpreter, and MCP can be approved, observed, and reconciled inside the native UI.

Inspect the outcome

The final response, raw payload details, and client-side logs are preserved locally so the user can audit what happened.

Support

Support and Privacy Routes

Support URL

https://gunzino.me/openresponses/support

Privacy Policy URL

https://gunzino.me/openresponses/privacy

General Gunzino Support Center