earendil-works / pi
git clone https://github.com/earendil-works/pi.git
v1.3.0 · 7d ago
AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI
+259
stars, 24h · #142
+~1.4k
stars, 7 days · #147
+~6.1k
stars, 30 days · #140
117k
★ total · +1% this week
15k
forks · 371 open issues
Star history (as recorded here)
LanguageTypeScript
LicenseMIT
Created2025-08-09 (1y ago)
Last pushtoday
Watchers351
OwnerOrganization
Links
README excerpt
> New issues and PRs from new contributors are auto-closed by default. Maintainers review auto-closed issues daily. See CONTRIBUTING.md. # Pi Pi is a minimal, extensible agent harness that you can make your own. Adapt Pi to your workflows, not the other way around. Customize Pi with extensions, skills, prompt templates, and themes. Bundle them as Pi packages and share via npm or git. Pi ships with powerful defaults but skips features like sub-agents and plan mode. Ask Pi to build what you want, or install a package that does it your way. Use Pi interactively, automate it in print or JSON mode, control it over RPC, or build apps with the Pi TypeScript SDK. See OpenClaw for a real-world integration. ## Getting started Install the command-line interface: [code] On Windows: [code] The installer pins all dependencies and updates Pi with `pi update`. Alternatively, install directly with npm, which does not pin transitive dependencies: [code] Pi requires Node.js 22.19 or newer. The macOS, Linux, and Windows installers can install it if needed. Pi does not require dependency lifecycle scripts for a normal npm installation. Start Pi in the directory where you want it to work: [code] For a built-in AI provider, run `/login` inside Pi to connect a subscription or API key. Then give Pi a task. See the documentation for full setup and usage instructions, or visit pi.dev for demos. ## Run with Nix [code] `stable` points at the latest release. Install it with `nix profile add github:earendil-works/pi/stable` and update with `nix profile upgrade pi`. Use a release tag such as `github:earendil-works/pi/v1.0.0` to pin a version, or `github:earendil-works/pi` for unreleased changes on `main`. Nix builds Pi from source. Supports ARM64 and x86-64 on Linux and macOS. Use `nix build .` or `nix run .` to build or run your checkout. Nix builds are offline, so the bundled model data comes from a pi.dev model catalog revision pinned in `nix/model-catalog.json`. At runtime, Pi still overlays newer catalog data from pi.dev as usual. The Nix workflow replaces the pin on `main` when it no longer matches the checkout, for example after a provider is added or gains a new model type. To refresh it by hand: [code] ## Packages This monorepo contains the Pi CLI and its supporting libraries. | Package | Description | |---------|-------------| | **@earendil-works/chord** | Typed host runtime for hot-reloadable plugins, contracts, replicated state, and RPC over JSON links | | **@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** |