Video summary
Harness review: Pi
Main summary
Key takeaways
Product Reviewed: Pi (pi.dev) — Minimalist Coding/LLM Agent Harness
Key Features Mentioned
Minimalist by Design (Bare-Bones Out of the Box)
- Pi is described as providing the “absolute bare minimum” needed for an LLM coding harness.
- Default built-in tools are limited to:
- read
- bash (execute commands)
- edit
- write
- The reviewer repeatedly contrasts this minimalist baseline with more feature-heavy harnesses that include extra “extras” by default.
Highly Extensible
- Pi includes built-in instructions for using:
- extensions from pi.dev’s package list
- even letting the LLM write custom extensions, since documentation/instructions are included.
Self-Modification / Customization via LLM
- The reviewer demonstrated an LLM request that modified Pi’s startup/welcome banner by:
- looking up Pi docs
- writing TypeScript changes.
System Prompt Extensibility
- Pi’s default system prompt includes meta-instructions explaining how to extend/modify Pi:
- it dynamically lists tools and appends guidelines.
- A named extension (e.g., Pi Custom System Prompt) can:
- select multiple system prompts
- append them to the default.
Role-Based Access Control (Via Extension)
- Uses a pi-roles extension to enable role sessions.
- Uses YAML front-matter to allow/deny tool access.
- Example: restricting a code-review-like persona to read-only.
Optional Audio/Voice Integration
- Demonstrates a 3rd-party plugin (Agent Voice) to make Pi’s agent speak via a local text-to-speech server.
Notable Pros (What the Reviewer Likes)
- Very configurable without built-in bloat
- Minimal defaults keep it lightweight; functionality comes via extensions when needed.
- Tools are limited and clear
- The LLM sees only the necessary tools (4 built-ins), reducing “noise.”
- System prompt + extension workflow works
- Pi can be modified quickly (e.g., changing the startup banner took ~25 seconds).
- Session compaction works predictably
- A major highlight: compaction triggers very predictably at the configured threshold.
- The reviewer confirms compaction timing matches their expected point (example: 50.2%).
- Can emulate Open Code workflows via extensions
- Extensions can recreate agent switching/custom behaviors similar to the reviewer’s preferred setup.
Notable Cons / Annoyances (What the Reviewer Dislikes)
- API key requirement even for local servers
- Pi “insists on having an API key specified in models.json,” even when using a local server that doesn’t require authentication.
- The reviewer must enter a dummy value.
- Too minimal out of the box for certain UX features
- Pi can’t directly do primary agent switching with Tab like Open Code.
- Also noted:
- No up-arrow prompt recall behavior across sessions (unlike Open Code).
- System prompt overriding vs appending
- Manually specifying
system.mdoverwrote the default system prompt, removing extensibility instructions. - Fix required switching to an extension that appends instead of replaces.
- Manually specifying
- Role restriction extension behavior nuance
- When using “system prompt / agent YAML” style files, tool deny/allow settings may be ignored.
- The reviewer needed the pi-roles extension instead.
Comparisons Made (Primarily with Open Code / OpenCode)
Default UX/Agents
- Open Code includes concepts like:
- primary agents and sub-agents
- easy switching (Tab)
- Pi starts more minimal, so comparable behavior requires extensions/config.
Session Compaction Reliability
- Open Code: reviewer reports it can compact too aggressively at arbitrary percentages (e.g., sometimes around 60–65%).
- Pi: compaction timing matches the reviewer’s configured threshold “like clockwork.”
Overall Positioning
- The reviewer concludes Pi is a viable alternative to Open Code.
- They suggest Pi may be slightly better largely due to improved session compaction behavior, even though Pi requires more setup.
Specific Numerical / Measurable Details Mentioned
- Startup modification test completed in about 25 seconds.
- Session compaction test:
- compaction triggered around 50.2%, matching the expected threshold based on context limit and reserved-token settings.
Unique Points Mentioned About Setup / Workflow
- Pi installs via one command download from pi.dev.
- Pi creates a
.pidirectory in the home directory, with anagentdirectory inside. - Requires a
models.jsonto select models (examples mentioned):- Qwen 3.8 27B
- Mixture-of-Experts Qwen
- Uses a local proxy to inspect network traffic and verify prompts/tools sent to the LLM.
- Extensions can be tested temporarily with
pi -e(run once without fully installing).
Overall Verdict (Concise Recommendation)
Recommend Pi as an alternative to Open Code if you value a minimal core with strong extensibility and—most importantly—reliable, threshold-based session compaction. It may require more initial setup than Open Code to match preferred agent-switching UX, but extensions can bring it close.
Speakers / Perspectives
- Single main speaker (reviewer)
- Focuses on:
- comparisons vs Open Code
- extensibility
- system prompt behavior
- tool visibility
- session compaction accuracy
- practical agent workflow (including voice via Agent Voice and role restrictions via pi-roles)
- Focuses on: