Show HN: Pi Extension to Maximize AI Credits Across Cursor, Codex, ClaudeCode Developer Sathish316 released open-source extensions that allow Pi, a host coding agent, to route tasks to other AI coding agents like Cursor, Codex, and Claude Code via the Agent Client Protocol (ACP), effectively pooling AI credits across services. The extensions, available on GitHub, enable Pi to treat external agents as models in its picker, executing turns through child processes. This tool aims to maximize usage of AI credits across multiple platforms. All four files do the same job: they let Pi the host coding agent drive another coding agent's CLI as if it were just another model in Pi's /model picker. It uses ACP https://agentclientprotocol.com/ https://agentclientprotocol.com/ to communicate with any coding agent. You pick "Cursor Sonnet" or "GPT-5 codex-app-server " or "Opus claude-code-acp " in Pi, and your turn is secretly executed by that external agent running in your workspace. They all follow this shape: ┌────────────────────────────────────────────────────────────────────┐ │ Pi host process │ │ │ │ /model picker ──► pi.registerProvider ... │ │ │ │ │ │ streamSimple model, context │ │ ▼ │ │ ┌─────────────┐ builds prompt ┌──────────────────────┐ │ │ │ Provider │ ─────────────────► │ Bridge singleton │ │ │ │ stream fn │ ◄───────────────── │ serializes turns, │ │ │ └─────────────┘ stream events │ owns 1 session │ │ │ ▲ └──────────┬───────────┘ │ │ │ AssistantMessageEventStream │ spawn │ │ │ text/thinking deltas ▼ │ └────────┼────────────────────────────────────────┼──────────────────┘ │ │ │ ▼ │ ┌───────────┬──────────┐ └──── JSON-RPC over stdio ───► │ Child process CLI │ │ cursor-agent / rovo │ │ codex / claude-acp │ └──────────────────────┘ The bundled extensions: cursor-acp.ts — Cursor Agent over ACP codex-app-server.ts — OpenAI Codex over app-server claude-code-acp.ts — Claude Code over ACP uses the official ACP SDK rovo-acp.ts — Atlassian Rovo Dev over ACP Pi auto-discovers .ts files in ~/.pi/agent/extensions , but external npm dependencies are not bundled into those files. - Clone this repo: git clone https://github.com/sathish316/pi-omniagent-extensions.git cd pi-omniagent-extensions - Copy the extension files into your Pi extensions directory: mkdir -p ~/.pi/agent/extensions cp cursor-acp.ts rovo-acp.ts codex-app-server.ts claude-code-acp.ts \ package.json ~/.pi/agent/extensions/ - Install the extension dependencies: cd ~/.pi/agent/extensions npm install npm run check:claude-code-acp-deps - Make sure the underlying agent CLIs are installed and on your PATH for the extensions you want to use: cursor-agent cursor-acp , rovo rovo-acp , codex codex-app-server . claude-code-acp pulls its runtime from npm. - Restart Pi. The bridged models appear in the /model picker tagged with their provider, e.g. codex-app-server or claude-code-acp . The claude-code-acp.ts extension needs: @agentclientprotocol/sdk @agentclientprotocol/claude-agent-acp The Pi API packages imported by the extensions are provided by the running Pi installation.