{"slug": "show-hn-pi-extension-to-maximize-ai-credits-across-cursor-codex-claudecode", "title": "Show HN: Pi Extension to Maximize AI Credits Across Cursor, Codex, ClaudeCode", "summary": "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.", "body_md": "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`\n\npicker. 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.\n\nThey all follow this shape:\n\n```\n┌────────────────────────────────────────────────────────────────────┐\n│ Pi host process                                                    │\n│                                                                    │\n│   /model picker ──► pi.registerProvider(...)                       │\n│        │                                                           │\n│        │ streamSimple(model, context)                              │\n│        ▼                                                           │\n│   ┌─────────────┐   builds prompt    ┌──────────────────────┐      │\n│   │  Provider   │ ─────────────────► │   Bridge (singleton) │      │\n│   │  stream fn  │ ◄───────────────── │  serializes turns,   │      │\n│   └─────────────┘   stream events    │  owns 1 session      │      │\n│        ▲                             └──────────┬───────────┘      │\n│        │ AssistantMessageEventStream            │ spawn            │\n│        │ (text/thinking deltas)                 ▼                  │\n└────────┼────────────────────────────────────────┼──────────────────┘\n         │                                        │\n         │                                        ▼\n         │                              ┌───────────┬──────────┐\n         └──── JSON-RPC over stdio ───► │ Child process (CLI)  │\n                                        │ cursor-agent / rovo  │\n                                        │ codex / claude-acp   │\n                                        └──────────────────────┘\n```\n\nThe bundled extensions:\n\n`cursor-acp.ts`\n\n— Cursor Agent over ACP`codex-app-server.ts`\n\n— OpenAI Codex over app-server`claude-code-acp.ts`\n\n— Claude Code over ACP (uses the official ACP SDK)`rovo-acp.ts`\n\n— Atlassian Rovo Dev over ACP\n\nPi auto-discovers `*.ts`\n\nfiles in `~/.pi/agent/extensions`\n\n, but external npm dependencies are not bundled into those files.\n\n-\nClone this repo:\n\n```\ngit clone https://github.com/sathish316/pi-omniagent-extensions.git\ncd pi-omniagent-extensions\n```\n\n-\nCopy the extension files into your Pi extensions directory:\n\n```\nmkdir -p ~/.pi/agent/extensions\ncp cursor-acp.ts rovo-acp.ts codex-app-server.ts claude-code-acp.ts \\\n   package.json ~/.pi/agent/extensions/\n```\n\n-\nInstall the extension dependencies:\n\n```\ncd ~/.pi/agent/extensions\nnpm install\nnpm run check:claude-code-acp-deps\n```\n\n-\nMake sure the underlying agent CLIs are installed and on your\n\n`PATH`\n\nfor the extensions you want to use:`cursor-agent`\n\n(cursor-acp),`rovo`\n\n(rovo-acp),`codex`\n\n(codex-app-server).`claude-code-acp`\n\npulls its runtime from npm. -\nRestart Pi. The bridged models appear in the\n\n`/model`\n\npicker tagged with their provider, e.g.`[codex-app-server]`\n\nor`[claude-code-acp]`\n\n.\n\nThe `claude-code-acp.ts`\n\nextension needs:\n\n`@agentclientprotocol/sdk`\n\n`@agentclientprotocol/claude-agent-acp`\n\nThe Pi API packages imported by the extensions are provided by the running Pi installation.", "url": "https://wpnews.pro/news/show-hn-pi-extension-to-maximize-ai-credits-across-cursor-codex-claudecode", "canonical_source": "https://github.com/sathish316/pi-omniagent-extensions/", "published_at": "2026-06-18 15:41:44+00:00", "updated_at": "2026-06-18 15:52:26.273145+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-tools", "ai-products", "ai-infrastructure"], "entities": ["Pi", "Cursor", "Codex", "Claude Code", "Atlassian Rovo Dev", "ACP", "Sathish316"], "alternates": {"html": "https://wpnews.pro/news/show-hn-pi-extension-to-maximize-ai-credits-across-cursor-codex-claudecode", "markdown": "https://wpnews.pro/news/show-hn-pi-extension-to-maximize-ai-credits-across-cursor-codex-claudecode.md", "text": "https://wpnews.pro/news/show-hn-pi-extension-to-maximize-ai-credits-across-cursor-codex-claudecode.txt", "jsonld": "https://wpnews.pro/news/show-hn-pi-extension-to-maximize-ai-credits-across-cursor-codex-claudecode.jsonld"}}