Pi by earendil-works is a TypeScript toolkit that provides everything needed to build and run AI agents: a unified API wrapper across multiple LLM providers, a production-grade agent loop, a terminal UI for interactive sessions, and a coding agent CLI for automated development tasks. With over 65,000 GitHub stars it has become a popular foundation for custom agent projects.
Pi by earendil-works is a TypeScript toolkit that bundles the parts you normally assemble yourself when building an AI agent. It provides a unified API wrapper so you call several model providers through one interface instead of writing adapters, an agent loop intended for production rather than demo use, a terminal user interface for interactive sessions, and a coding agent CLI for running automated development tasks. The idea is that the loop, the provider abstraction and the interface come from one package that is designed to fit together, rather than from four dependencies that each assume something different. Because it is a toolkit, you still write the part that matters: the tools your agent can call, the prompts, the guardrails and the definition of done. This page stays close to that description because it is the source being used. Read the repository for the current API surface and the list of supported providers before building on it.
This suits a TypeScript developer who wants to build a specific agent and does not want to start from a bare model SDK. It is a good fit when you expect to swap providers, since the unified wrapper is the point, and when you want a terminal interface for driving and watching an agent without building a web front end first. The included coding agent CLI also makes it usable directly for automated development chores rather than only as a library. It is less suitable if you want a finished, configurable product with a user interface and sandboxing already handled, or if your stack is Python, where the surrounding ecosystem is larger and you would be swimming against the current.
OpenHands is the contrast worth understanding: it is a full platform with a sandboxed execution environment, a user interface and an agent you can run today, where Pi hands you components and expects you to compose them. Pick OpenHands to use an agent, Pi to build one. Claude Code Router addresses one narrow piece, routing agent requests to different model backends, which overlaps with Pi's unified provider layer but is not a framework around it. Claude Task Master works a level above, turning a specification into ordered tasks an agent then executes, so it complements a toolkit like Pi rather than competing with it. Choose Pi when custom agent logic in TypeScript is the actual deliverable.
Compare with: OpenHands, Claude Code Router, Claude Task Master
The catalog records Pi as free. It is an open-source package, so there is no license charge for using it in your own project. Your costs come from the model providers you route through it, billed on usage, and agent loops are token-hungry because every tool call, retry and observation is another request. If the coding CLI is running against a large codebase, that grows quickly, so set provider spending limits during development. Hosting is whatever your own application needs. Check the repository license before shipping it inside a commercial product.
No notes have been added for this tool yet.
No prompting tips have been added yet.
No reviews yet. Be the first!