Organic

This is an old revision of the document!


Pi

The Pi agent is minimal, lightweight, and extremely opinionated. It prioritizes an extremely polished and reliable implementation of the absolute basics of an agent harness over any more advanced features, and ruthlessly eschews features that are just popular in favor of a specific design philosophy (source). Whether this works for you, as a result, will be highly hit-or-miss.

However, Pi is also extremely extensible. For instance:

  • it is the agent at the core of OpenClaw, which is much more featurful and complex
  • There are extension collections like Oh My Pi and extension frameworks like oh-pi which extends it to be perhaps the most powerful agent harness, or make managing community-made extensions much easier.

Additionally, extending Pi is extremely easy: models running in Pi have immediate access to the full Pi documentation and source code, and extending it is as simple as dropping a TypeScript file in a specific directory, and the codebase is designed to be easily hooked-into and overridden.

To use with Synthetic, you can follow the Custom Model instructions using the information from the Synthetic developer docs.

  • Pros: Extremely extensible. Self-documenting and self-extending. Very polished and reliable implementation (e.g., flicker-free, extremely fast, and scrollback-supporting TUI, or seamless provider switching within one session). Small and fast. Has powerful extension collections. Very popular. Minimal request and token usage by default. Very transparent introspection into what the harness is using from your provider.
  • Cons: The default experience is very barebones, and opinionated. It might be useless for you, or the opinions might rub you the wrong way. As always with adding features to something minimal via extensions, this adds yak shaving potential, possible instability, the possibility of overcomplicated, buggy, overbearing additions being the only options besides extending it yourself — in general, the NeoVim or Emacs experience.

See pi/tips for community tips on getting the most out of Pi.