Hi :)
This is my fork of Pi. I created it because I thought the features I'm thinking of might be too niche and not make it too the official Pi, and also because those features can't be implemented as an extension, and need a source patch.
Fork based on upstream Pi v0.80.3
This was inspired by Codex. It shows this:
I mirrored it in Pi, and it now shows like this:
| Package | Description |
|---|---|
| @earendil-works/chord | Standalone application-composition runtime for services, replicated state, RPC, and plugins |
| @earendil-works/pi-telemetry | Vendor-neutral telemetry contracts, reference adapter, conformance tests, and typed schemas |
| @earendil-works/pi-ai | Unified multi-provider LLM API (OpenAI, Anthropic, Google, etc.) |
| @earendil-works/pi-durable | Durable conversation, task, and document runtime |
| @earendil-works/pi-agent-core | Agent runtime with tool calling and state management |
| @earendil-works/pi-coding-agent | Interactive coding agent CLI |
| @earendil-works/pi-tui | Terminal UI library with differential rendering |
See #1 for the PR that implemented this.
This was also inspired by Codex. It was implemented in #2
It has all commands that Pi has, even your extensions. You can start a new session directly from the bot, instead of starting it from the terminal and continuing in telegram. See PR #3 to see how it was implemented.
npm install --ignore-scripts # Install all dependencies without running lifecycle scripts
npm run build # Refresh model data, then build all packages
npm run build:offline # Rebuild using existing model data without network access
npm run check # Lint, format, and type check
./test.sh # Run tests (skips LLM-dependent tests without API keys)
./pi-test.sh # Run pi from sources (can be run from any directory)GitHub releases include a versioned source archive covered by the release's SHA256SUMS file. Extract it and run the same build script used for the official standalone binaries:
VERSION="<release-version>"
tar -xzf "pi-${VERSION}-source.tar.gz"
cd "pi-${VERSION}"
./scripts/build-binaries.sh --offline-model-data --platform linux-x64 --out "$PWD/out"The archive includes release model data and native prebuilds. --offline-model-data uses that model data without refreshing provider catalogs. The script installs dependencies and builds the executable with its runtime assets; pass --skip-install if dependencies are already provided.
Some sessions are more important than others and you go back and forth between them. It's nice to be able to pin them. See PR #8 for how it was implemented.
Just wanted to be import opencode sessions directly in pi so I can continue there. Implemented via #9 and #10. Checkout the extension's README. Watch the demo below.
As you can see, the first two features are implemented were inspired by Codex CLI, so it only makes sense to add support for it here. This was implemented via PR #12. You can watch the demo below. Detailed README for the extension can be found here.
Added a /status extension for checking live ChatGPT Codex usage. It displays 5-hour and 7-day limits, credits, reset information, and blocked states, with RPC notifications for Telegram clients. See PR #22 and the extension source.