Pi Agent = customizable coding harness / agent workbench Pi Agent can be understood as a minimalist, self-transformable terminal coding agent harness.
It is not a general orchestration engine like LangGraph, nor is it a product-level agent SDK like OpenAI Agents SDK; it is more like a "Codex/Claude Code replacement for developers to modify, install skills, and do context engineering by themselves." Pi's current main warehouse is at earendil-works/pi.
The official description is AI agent toolkit, which includes coding agent CLI, agent runtime, unified multi-model API, TUI, Slack bot, vLLM pods and other modules; the core package includes pi-coding-agent, pi-agent-core, and pi-ai.
Pi's product philosophy is very clear: keep the core small and leave complex capabilities to extensions/skills/prompts/packages.
The official website clearly states that Pi is a minimal terminal coding harness that can be customized through extensions, skills, prompt templates, and themes; It does not have built-in important functions such as sub-agent and plan mode by default, but encourages you to build or install it yourself.
There are several really interesting things about it: First, context engineering takes priority.
Pi supports AGENTS.md, SYSTEM.md, skills, prompt templates, dynamic context injection, and customizable compaction.
For people like you who are doing agent harness / RAG / sandbox, this is more critical than "multi-agent chat", because many agent failures are not due to poor models, but confusing context entry, long-term task compression distortion, and project rules are not loaded stably.
The second is session tree design.
The history of Pi is a tree structure.
You can return to any historical node to continue branching, and you can also export HTML or share sessions.
This is very suitable for coding agents, because coding tasks often need to be rolled back to a certain design bifurcation point, and ordinary linear chat history is not suitable for trial-and-error.
The third is multiple operating modes.
Pi has four modes: interactive, print/JSON, RPC, and SDK.
In other words, it can be used as a terminal coding agent, and can also be called by scripts, non-Node programs, and upper-layer product integration.
The fourth is multi-model/multi-provider affinity.
It supports OpenAI, Anthropic, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, OpenRouter, Ollama, etc., and supports mid-session switching of models.
Scenarios it is suitable for: local code base transformation, long-term coding sessions, project-level AGENTS.md, making your own skills, controlling compaction yourself, and treating agent sessions as project asset management.
It is not suitable for directly doing serious enterprise business flows, such as approval, payment, CRM automation, and work order systems, because these require strong status, auditing, permissions, reliable recovery, observable platform, and business persistence.