Agent integrations
oh-my-pi
Talk to oh-my-pi (OMP) through Pi's RPC event mapping, with an isolated SDK launcher when tool approvals stay with the caller.
Setup
- Install oh-my-pi on the runtime host so
ompis on the PATH. See the oh-my-pi README. - Log it in to a model with its own login.
- Run
sleeptalkand choose oh-my-pi, or let your agent runsleeptalk host ensure --agent omp.
If oh-my-pi already uses OpenRouter, Venice, Groq, or Together, setup can offer that key for speech. It is used only if you say yes. It looks in ~/.omp/agent/auth.json and models.json.
Connection and session
With permission_mode = "auto" (the default when the field is empty), Sleeptalk starts omp --mode rpc --auto-approve --no-session and uses the same stream handling as Pi. Tools run without asking.
With pending or deny, Sleeptalk instead launches the npm SDK through Bun and a packaged launcher in a temporary home. That path needs:
- the npm package
@oh-my-pi/pi-coding-agentat one of the exact verified versions 18.2.1 or 18.10.2 (18.10.2 is recommended), withpi_binpointing at that package's CLI entry, not a compiled standalone binary; - Bun 1.3.14 or newer on the runtime PATH;
providerset toopenaioranthropic, an explicitmodel, and that provider's API key.
The isolated session enables read, bash, edit, write, grep, and glob only. It turns off MCP, LSP, IRC, and the Python preflight, and keeps its conversation in memory.
Event mapping
| Upstream event | Sleeptalk handling | Caller experience |
|---|---|---|
message_update and tool execution events | The same text, tool-start, progress, and result handling as Pi. | Reply speech and tool activity. |
agent_end with isTerminal | Ends the turn; OMP does not send Pi's agent_settled. | The reply finishes at the right boundary. |
subagent_lifecycle, subagent_progress | Native WorkerEvent mapping. | Worker lifecycle and progress. |
| Task-tool frames with a child ID | Correlated worker event; a parent tool-call ID alone is not enough. | Identified child activity, not an inferred worker. |
| Packaged extension confirmation | Permission request and decision. | The tool waits or is denied. |
Permissions and sub-agents
OMP's --auto-approve approves tools and is used only in auto mode. In pending and deny, the packaged guard decides every call to the six enabled tools. Setup probes refuse auto.
Worker events and steering are available in auto mode. The isolated launcher turns both off, so expect no sub-agents there.
Voice and interruption
Assistant text passes through the shared sentence streamer before speech. Tool activity follows your narration setting; a tool result is not read aloud in full.
Abort uses the shared RPC abort path for the owned prompt. Cancelling the parent turn does not prove every external task stopped.
Limits and troubleshooting
- "The standalone compiled CLI cannot provide isolated SDK startup." Point
pi_binat the npm SDK 18.10.2 CLI entry. - Bun is missing. Install Bun 1.3.14 or newer on the PATH Sleeptalk runs with.
- The isolated launcher refuses the provider. It accepts native OpenAI or Anthropic API keys only; OAuth logins and custom endpoints are not verified on this path.
Implementation: RPC client, isolated launcher, worker mapping.