AI News HubLIVE
站内改写2 min read

Show HN: Pi Extension to Maximize AI credits across Cursor, Codex, ClaudeCode

A Pi coding agent extension that bridges multiple coding agents via ACP, allowing users to leverage AI credits from Cursor, Codex, Claude Code, and Rovo in one unified interface.

SourceHacker News AIAuthor: sathish316

Notifications You must be signed in to change notification settings

Fork 0

Star 0

BranchesTags

Open more actions menu

Folders and files

NameName

Last commit message

Last commit date

Latest commit

History

10 Commits

10 Commits

.gitignore

.gitignore

HOW_IT_WORKS.md

HOW_IT_WORKS.md

README.md

README.md

USAGE_GUIDE.md

USAGE_GUIDE.md

claude-code-acp.ts

claude-code-acp.ts

codex-app-server.ts

codex-app-server.ts

cursor-acp.ts

cursor-acp.ts

package-lock.json

package-lock.json

package.json

package.json

rovo-acp.ts

rovo-acp.ts

Repository files navigation

Pi Agent Extensions — How Each One Works

The common idea (read this first)

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/) 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

Installing into ~/.pi/agent/extensions

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.

About

Pi coding agent extensions that helps you connect to all coding agents from one place using ACP and maximize your AI credits across Cursor, Codex, Claude Code, Rovo

Resources

Readme

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks

Report repository

Releases

No releases published

Packages 0

Uh oh!

There was an error while loading. Please reload this page.

Contributors

Uh oh!

There was an error while loading. Please reload this page.

Languages

TypeScript 100.0%