Insider Cat

A sibling of SmolPaws inside Agent Canvas. Talk through your work with a Cat that has its own saved OpenHands conversation, tools, and skills.

Updated · Development build · not released

Choose a Cat. Talk or type. Pick up where you left off. Projects, the compact companion, and regular chat all lead to the same saved conversation. Voice brings requests to that OpenHands agent and speaks its results.

A companion for your work

The Insider App adds Projects to Canvas: your Cat beside a browser of the backend’s conversations. Use Discuss with Cat to bring a piece of work into a typed request, or ask the Cat to investigate using its normal OpenHands tools.

You can keep several Cats for different subjects. Each has its own history and workspace. The selected Cat stays with you when you open another Canvas view; it has its own identity, separate from SmolPaws and the other agents doing your work.

A quiet Cat, with clear controls

The Cat rests beside its status and Talk control. The conversation picker and New Cat sit together. Your work moves below the Cat on smaller screens. Away from Projects, a compact companion keeps the same Cat and call available without covering the chat composer.

Resting
Listening
Speaking
Working
Actual Cat artwork from the App, shown here as static state illustrations, not a browser screenshot. Adjacent text and controls carry the status; color and animation are supplementary.

The Cat wakes while connecting, perks up when listening, and stays awake while speaking or working. Working takes priority over listening; muting removes the listening cue. Errors, paused work, and approval requests get an attention state and text. Reduced-motion preferences disable animation.

Illustrations from the App’s Cat artwork; shared controls and status.

The same conversation, wherever you open it

ActionWhat happens
Choose a saved CatResume its history on the selected backend. The picker finds Cats across list pages and remembers your verified choice for that backend and organization, including compatible older Cats.
Open chatContinue that exact conversation in regular Canvas chat, with tool activity and approval controls. Cat badges in chat and the conversation panel distinguish it from other work. An active call continues.
New Cat or /newPrepare a separate Cat. The first typed message creates it using the active Agent Profile and selected workspace. The previous Cat stays saved.
/condenseShorten the active context while keeping the same Cat and saved event history. Canvas ends Voice before compaction; choose Talk afterward to use the refreshed context. Finish running work or resolve approvals first.
Discuss with CatAdd the selected conversation’s identity and metadata to your next typed Cat request. Your draft stays intact. Selection alone does not send to or run that other conversation.

Opening another regular conversation does not change who your call is with. Choosing a different Cat, starting New Cat, changing backend, or disabling the App ends the old call. Unsent text survives navigation within the active App, but not a reload or backend change.

Submitted requests and agent results live in the saved Cat. Live captions are temporary; the exact audio and every Voice utterance are not stored as a second complete transcript.

A real OpenHands agent does the work

A new Cat inherits the active OpenHands Agent Profile’s tools and enabled skills, along with Canvas’s confirmation and security settings. The normal tool set includes the terminal, file editor, task tracker, and model switching; browser tools depend on runtime support. A restricted profile stays restricted. Choosing an LLM profile changes the model; it does not add these capabilities.

OpenHands skills explain how to use the backend API. The Cat also receives advertised backend connection information when available. For “How many conversations are here?”, it can query the owning Agent Server through its terminal and the API skill. Counting visible cards only counts the loaded work; it is not a complete backend inventory.

Insider instructions give the Cat its role

The App embeds its Insider skill into new Cat launches, alongside the profile’s existing instructions. It explains conversation ownership, selected work, and reporting actions accurately. Default-enabled OpenHands skills provide the usual tool workflows. Instructions do not grant credentials or bypass approvals.

Already-saved Cats keep their actual configuration. If an older Cat reports only reasoning and finish tools, starting Voice or switching models will not repair it. Configure the normal Agent Profile and create a new Cat; inspect existing Cats in full chat before relying on their tools.

Speak to the same Cat

Choose a saved Cat, or send the first typed message to create one. Then select Talk and allow microphone access. Talk is disabled until a Cat exists; installation and navigation never start the microphone. Typed chat remains available when Voice is unavailable.

  1. You speak during an active call.
  2. The Voice provider hands the request to the selected, saved OpenHands Cat.
  3. OpenHands runs it with that Cat’s tools and approval policy.
  4. The bridge returns the new saved answer for speech. Longer results remain available in full chat.

The experimental Codex transport sends provider handoffs directly through Agent Server to the saved Cat. It uses a dedicated ChatGPT-authenticated Codex app-server pinned to 0.154.0. The separate OpenAI API transport uses an API key and the browser’s send_to_insider tool bridge. Both keep OpenHands in charge of execution. See the Voice implementation for setup and boundaries.

A Codex call starts with a bounded snapshot of the saved Cat’s context. It does not automatically receive the Projects board’s selected worker. Include the target in a saved typed message when it matters. The provider must emit a handoff for a spoken request to reach OpenHands; hearing a spoken acknowledgment alone does not prove the request was saved.

ControlEffect
Mute / UnmuteTurn microphone input off or on. Accepted agent work continues.
Stop speaking / Resume audioPause and restore the call’s local audio output. On Codex this does not cancel provider generation or the OpenHands task.
End callClose Voice and release the microphone. An accepted OpenHands task can finish and save its result.

If you correct a request while the Cat is busy, the new request is not queued or used to steer the running task. Voice reports that it was not sent; repeat it once the Cat finishes. The bridge suppresses a superseded pending spoken result, but cannot recall audio already delivered. Inspect full chat before retrying an uncertain action.

Use the matching development components

This version combines the Insider App with the Canvas and Agent Server changes linked below. Installing the App alone cannot add missing host or Voice capabilities. These changes are still in draft PRs; the default App branch does not contain the full behavior described here.

  1. Connect Canvas to an Agent Server with Apps and Agent Profiles support. This Apps installation flow uses a local Agent Server connection, rather than the Cloud backend.
  2. Open Customize → Apps. Choose Add app. Set App source to github:enyst/insider and Ref to the reviewed gpt/insider-voice-discovery branch or its pinned commit. Leave Path empty, then select Install.
  3. Enable Insider Cat, choose the active Agent Profile and workspace, and open Projects. Send a typed message to create your Cat.
  4. Configure Voice on Agent Server using the transport setup guide. The availability check runs before microphone permission is requested.

The App ships a built browser bundle. Source or skill changes need a rebuild and reinstall; the server copies the bundle rather than building it.

Keep work easy to follow

Everyday examples: start, resume, correct, and condense →

Current source and verification

Source and PR status checked 31 October 2026. The three draft heads match the 26 October integrated verification record. This page describes that development build, not a deployed service or released feature.

What has been exercised

The 26 October verification report records 42 passed checks out of 46 scoped UI checks, plus nine SDK API recipes. Real Codex Voice handed generated speech to a normal OpenHands Cat, which used tools, saved its answer, and returned response audio. The report also covers old-Cat resume, phone identity, context compaction, and correction handling.

Four checks remain: physical microphone and speaker use on iPad, the OpenAI API transport with a live provider, switching backend during a live call, and complete keyboard-only traversal. The 31 October update checks source and documentation; it does not claim another live audio run.