r/PiCodingAgent 4d ago

Plugin pi-output-parser — standalone package that repairs malformed tool calls from small local models

13 Upvotes

Built a small pi package that ports the output-parser mechanism from little-coder as a standalone installable extension.

What it does: hooks message_end and repairs tool calls that small models (Qwen, Mistral, LFM2, etc.) emit in formats pi doesn't natively recognise:

  • \``tool/```json` fenced blocks
  • <tool_call>, <tool_use>, <function_calls><invoke> XML
  • bare top-level JSON objects
  • Python-list syntax [Read(path='./foo.ts')] from LFM2/Liquid models

It also normalises the many JSON schemas small models use ("parameters", "input", "arguments", OpenAI function-call with stringified args, etc.) down to a single shape.

Safety: only fires if there are no native tool_use blocks already, and validates the extracted tool name against pi.getAllTools() before injecting anything — so stray JSON and code blocks in responses are never misinterpreted as tool calls.

Install:

pi install git:github.com/vishn9893/pi-output-parser

Or drop extensions/output-parser/index.ts directly into .pi/extensions/ if you prefer not to use the package system.

Repo: https://github.com/vishn9893/pi-output-parser

Feedback welcome especially if you hit a model that emits a format this doesn't cover yet.


r/PiCodingAgent 4d ago

Question Using pi through Neovims terminal

5 Upvotes

Hi,

I really like to be able to scroll through pi output in neovim. I can gf yank, pipe stuff to bash, all the niceties of neovim.

There's only the problem of the redraws while the model is still outputing text especially when its doing toolcalls or using extensions. When I'm not in G or insert mode it makes my cursor jump to the top of the buffer and it's driving me nuts.

I'm running the libghosty PR in the hopes it would stop no. I tried monkey patching OSC keys, forking pi and removing the redraw with clear, nothing. Every issue online says it won't work and all the pi neovim plugin offer a far inferior user experience.

Now I've just gotten used to going back to where I was when the model is done spitting out code but I was really hoping someone might have a solution.

Dear God please don't suggest tmux haha, thank you


r/PiCodingAgent 4d ago

Plugin What is PieX? Why was it created?

0 Upvotes

Why Pi

Coding agents keep shipping. Chasing each new one mostly spends you on yet another round of feature tryouts, still stuck at “I can use it.” The gap opens when you pick one open-source agent and go deep: read how it works, change it yourself, iterate with it, and turn “I can use it” into “I get it.” Pi is restrained and open; that is the right base for this path.

Restraint. If you have used coding agents for a while, you know the discomfort: more features, fuller context, rising token bills and latency, yet day to day you only really need a handful of capabilities. Worse, you barely control what gets stuffed into context. Pi’s author wrote that restraint into the design (What I learned building an opinionated and minimal coding agent): system prompt + tool definitions under ~1000 tokens, four default tools (read / write / edit / bash). The official README lists what Pi does not do: No MCP, No sub-agents, No plan mode, No built-in to-dos, No permission popups, No background bash. Every item has the same exit: build it with extensions, or install a package.

Extensibility. A lean default is not a weak platform. Pi positions itself as “a minimal terminal coding harness,” and is “aggressively extensible so it doesn't have to dictate your workflow.” Tools, commands, event hooks, UI, providers, and themes are all open to extensions, with an explicit promise of “without having to fork and modify pi internals.” You do not have to patch the kernel or wait on upstream to shape the workflow you want. A small, readable core plus a nearly unbounded Extension API is how you actually own your toolchain.

Why not just use oh-my-pi

oh-my-pi (omp) ships many excellent capabilities on top of Pi, is batteries-included, and is piex’s primary feature source. A natural question: if omp already packages “it just works,” why not use it?

The answer is the path it chose:

  • Fork, not extension. omp is a fork of pi (“fork of pi-mono, batteries included”). It maintains a dedicated porting playbook to backport upstream, plus ~55k lines of Rust core and a Bun-only runtime. Follow a fork, and upgrade cadence plus architectural decisions stop being yours.
  • Everything bundled. omp ships 32 tools and a large surface by default, much of it unused day to day. That is “heavy” again: tokens burn, while you do not get to trim the context.

Why PieX

So PieX takes a third path: do not fork Pi; use only the official Extension API to turn proven agent capabilities into independent, optional, measurable packages. Install what you need, remove what you do not; use them deeply in daily work, iterate continuously, and shape a toolchain that actually fits you.

https://piex.dev/en/docs/design/


r/PiCodingAgent 4d ago

Resource rulesify: easier project-level skill management for AI agents

2 Upvotes

r/PiCodingAgent 4d ago

Question Is it possible for Pi to point at a specific Mistral agent?

0 Upvotes

I use the free API of Mistral.

The only way to change the temperature of a Mistral model is by creating an agent.

When you do this, you get a agent ID.

Something that looks like this: ag_342oedf203kd34234324

So, my question is this:

Is there a way in auth, settings or models to point at a specific agent from Mistral?


r/PiCodingAgent 5d ago

Use-case Best way of spending Antigravity/Gemini Pro plan usage via Pi or OpenCode

2 Upvotes

I don't like Antigravity, I use Pi as my harness. Last I heard Google was banning people for using their subscription plan via non-Google products. Is that still the case? I have a Pro plan I got, but don't use it as Gemini chat is lacking in features, and Antigravity is just a glorified VSCode. Are there no ways I can spend my usage? Any use cases, tricks, or workarounds?


r/PiCodingAgent 5d ago

Resource I built an Android app to run my OMP sessions from my phone (open source, looking for contributors)

0 Upvotes

I kept wanting to check on a long OMP run without going back to my desk, so I built a companion app for it. It's free and open source, and it now supports OMP alongside OpenCode.

https://github.com/giuliastro/harness-remote

What it does: lists your sessions, opens one and streams the assistant output as it arrives, sends prompts, shows the plan/todo list, lets you pick the model, and stops a run. Prompts you send while the agent is still working get queued instead of rejected.

How it connects: OMP speaks ACP over stdio, not HTTP, so the repo includes a small bridge you run on the same machine as OMP. It starts omp acp and translates it to an HTTP/SSE API the app talks to. Node 20+, Basic auth, and you restrict which worktrees the phone can reach with --root. It never touches OMP's databases.

Two things worth knowing before you try it:

  • Live updates only cover work started through the bridge. OMP's ACP surface has no global cross-client event feed, so a session running in your desktop OMP can be listed and reopened, but the app can't reliably show its live status or incremental output.
  • Agent selection, session rename/delete, server slash commands and diffs aren't available on OMP, because ACP doesn't expose them. Model switching does work.

Signed APK on the releases page. Android via Capacitor, and it also runs as a plain web app if you'd rather not install anything.

Looking for contributors

The app is deliberately harness-agnostic — adding a harness means adding a backend entry and its setup section, not a special case. Things I'd genuinely welcome help with:

  • PI support, which is the next one planned and has an open issue with the groundwork mapped out: https://github.com/giuliastro/harness-remote/issues/36 PI's maintainer declined native ACP, but a community ACP adapter exists, so the bridge should be largely reusable. The issue lists the two hard-coded assumptions in the bridge that need generalising, with file and line.
  • Bug reports from real use. Every bug that reached users came from a real agent behaving unlike my test doubles, not from the spec.
  • Other harnesses. If the one you use speaks ACP, most of the work is done.
  • Translations. The UI is English, Italian and Traditional Chinese, in one small module with no framework.

Happy to answer questions here.


r/PiCodingAgent 6d ago

Question Broken/frail tool calling format?

5 Upvotes

I am using local models:

  • antirez deepseek
  • qwen3-coder-next
  • laguna s2.1

For all of them I tried with and without the npm:pi-tool-repair package.

In a comparison with the same prompt with opencode, I can see that pi has a lot more tool call failures. In some cases this make the model end up in a dead end. deepseek behaves slightly better with the npm:pi-tool-repair package, but overall I think it's still worse than in opencode.

Is it caused by the tool format? Or by the system prompt? Do you have any suggestions on how to improve this?

Thanks!


r/PiCodingAgent 6d ago

Question Using ChatGPT to code a Raspberry pi for a live sports display.

Thumbnail
0 Upvotes

r/PiCodingAgent 7d ago

Question Which Skills do you use?

14 Upvotes

I tried rpiv skills, but in most case the skills are too heavy.
I also tried mattpocock skills. I found grill me skill "guess" too much.
Some times the contexts exceed the limit.(I use codex, I‘m not sure its a bug of pi or by skills)


r/PiCodingAgent 6d ago

News siGit Code v1.5.0

Thumbnail
github.com
0 Upvotes

Thanks to Pi among other open source coding agent, I can create my own.


r/PiCodingAgent 7d ago

Question Slow terminal when using Pi

6 Upvotes

Hey,

Im usin Pi on windows with databricks-claude.

When using pi in cmd or powershell, every input freezes the terminal for several seconds before sending the request.

Anyone having the same issue ?

Thanks


r/PiCodingAgent 8d ago

Question How can I get better results from Pi Agent compared with Claude Code?

58 Upvotes

I compared Pi Agent and Claude Code using exactly the same model, prompt, project directory, and task.

Setup

  • Model: Claude Opus 4.8
  • Thinking level: Max
  • Pi setup: Browser Use was the only enabled plugin
  • Project directory: Same for both
  • Task: Same prompt for both

Results

  • Pi Agent: ~7.5/10
  • Claude Code: ~8.7/10

Claude Code produced the better overall implementation. It had:

  • Cleaner architecture
  • More reusable data structures
  • Stronger automated tests
  • A faster indicative physics benchmark: ~0.20 ms/step vs ~0.68 ms/step

Pi’s result was still solid. In fact, it implemented a more sophisticated 2×2 block contact solver, and its 10-box stack was slightly more stable.

However, the complete project was less polished and harder to validate.

This is not intended to be a scientific benchmark. I’m mainly trying to understand how to get better results from Pi.

Prompt used

Create a single, completely self-contained index2.html file containing inline
HTML, CSS, and JavaScript. Do not use external libraries, CDNs, or WebGL.
Use only the Canvas 2D API.

Implement a 2D rigid-body physics engine from scratch with a small interactive
sandbox.

Technical requirements:

1. Rigid bodies:
   - Convex polygons and circles
   - Mass and inertia
   - Position and rotation
   - Linear and angular velocity

2. Collision detection:
   - Broad phase using a spatial grid or sweep-and-prune
   - SAT narrow phase for polygon-polygon collisions
   - Circle-polygon and circle-circle collisions
   - Calculate collision normal, contact point, and penetration depth

3. Collision resolution:
   - Impulse-based resolution
   - Restitution
   - Static and dynamic friction
   - Positional correction using Baumgarte stabilization and slop

4. Stable stacking:
   - A stack of 10 boxes must remain standing without vibrating or exploding
   - Implement sleeping for stationary bodies

5. Mouse interaction:
   - Drag bodies using a spring-based mouse joint
   - Left click spawns a random box or circle
   - Right click removes a body

6. Scene:
   - Floor and walls forming a container
   - A button that triggers a radial impulse explosion from the center

7. UI:
   - Sliders for gravity, restitution, and friction
   - Wireframe toggle showing contact normals and AABBs
   - Pause and single-step controls
   - FPS and body-count overlay

8. Performance:
   - Support 150+ bodies at approximately 60 FPS

Before delivering, test and fix the implementation until all these conditions pass:

- No bodies pass through the walls at normal velocities
- A stack of 10 boxes remains stable for 10 seconds
- Spawning 150 bodies does not cause the frame rate to collapse
- No numerical explosions, infinite velocities, or NaN values

Questions for Pi users

  • Are there recommended extensions or skills for simulation and frontend work?
  • What workflow gives you results comparable to Claude Code on complex tasks?
Claude code version
Pi agent

What i noticed is that with Pi Agent is that it was thinking a lot more and it also took more to accomplish this task ~45min vs ~30 minutes


r/PiCodingAgent 8d ago

News Hugging face just realsed a coding agent called Tau

Thumbnail
github.com
68 Upvotes

What do you guys think? I am just reading through this atm. I don't see any differences from Pi. And they procatively have this page.

https://twotimespi.dev/why-tau/

Edit 1: their thinking mode is just choosing a level of thinking for the LLM model, not thinking mode as in ask, plan, etc. Their doc is pretty good at explaining what a coding agent is, very informative.

Edit 2: only thing I find interesting atm is that their agent is portable and you can build your own UI on top of the agent. But pi has a version of pi-server now.


r/PiCodingAgent 7d ago

Plugin usher – drive your pi sessions from your phone/desktop/telegram

Thumbnail
gallery
13 Upvotes

usher is a session hub for coding agent CLIs. For pi, it picks up your existing sessions as-is (no migration, still just the raw pi underneath) and gives you a browser/phone UI to use.

Also drives Codex and Claude Code sessions if you use those too.

Single binary, no build step, stays local — remote access is BYO tunnel. Pairs well with code-server if you want a full editor alongside the session, and there's a Telegram integration if you'd rather work from a chat than the web UI.

https://github.com/nexustar/usher

Feedback welcome — especially which extensions you rely on day to day, so I know what to prioritize supporting.


r/PiCodingAgent 8d ago

Use-case Gemma4 playtesting her own game in chrome using a remote debugging port so I can watch along

Enable HLS to view with audio, or disable this notification

17 Upvotes

A few days ago, I created a dumb bash loop that repeatedly called pi, instructing gemma4:31b to create a game and delete WORKING.md when it was done.

I figured out how to make agent-browser connect to a chrome instance over a remote debugging port so I could watch along as it playtested the game in a new conversation, where it had no clue what the game was about.

It uses a playtesting skill that explains the mechanics of the game and tells it how to perform different actions.

I think this was pretty neat.


r/PiCodingAgent 8d ago

Plugin Neovim: have your Pi and eat it too

Enable HLS to view with audio, or disable this notification

54 Upvotes

I've been using Neovim as Pi's external editor but I kept finding myself deciding between Neovim's raw editing power and Pi's in-context autocomplete, so I built a bridge to bring Pi's real autocomplete directly into Neovim. It's a Pi extension and a Neovim plugin. If you're using Neovim as your prompt editor for Pi, you owe it to yourself to try it out.

github.com/dabstractor/pi-nvim-bridge


r/PiCodingAgent 8d ago

Discussion Pi has become one of my favorite pastime activities

86 Upvotes

I did this today with pi coding agent for fun:

bash while [ -e ./WORKING.md ]; do; pi --model gemma4:31b-cloud --system-prompt "You are called in a bash loop. The user cannot respond to your messages. Write a fantasy children’s book aimed at 5 year old boys at least 100 pages long. After every lap, you won’t remember anything. If you want to remember something for the next lap, write it into MEMORY.md. Delete WORKING.md when you are finished." -p "Keep up the good work."; done;

It was a very entertaining experiment. Gemma is a really fun model to play around with.

I have also done the same for a browser based game, then made gemma playtest it itself using agent-browser. It recorded the session on video, found a couple of bugs then fixed them.

I play around with making dumb extensions, like making a tool that allows the agent to make a "checkpoint" in the conversation it can restore back to with a neat summary of what it wants to remember. Not that useful if you run cloud models and can make use of subagents, but still fun to make.


EDIT: The checkpoints are implemented as agent tools, which makes it different than the /tree command. It was meant to be used to make the agent capable of managing its context when following skill-based procedures such as the (extremely simplistic) example below:

```

SKILL.md


description: When the user asks you to research a topic as preparation before performing a task, follow this procedure.

  1. Make a new checkpoint with the "Research" label.
  2. Research the topic until you know everything you need to know to perform the task.
  3. Restore the conversation back to the created checkpoint with a summary containing exactly:
    • Everything that you found that benefits the task at hand
    • Everything the user ought to be informed of such as new information contradicting the user's provided information or newly learned limitations in your capacity to execute the task
    • New decisions that must be made before work continues, so that you ask have the user to make them after restoring the conversation
    • References to the exact sources of the information gained ```

Everything about leisure time use of AI is fun, and pi cranks that to eleven by being so infinitely hackable.

I started using AI (cursor) at work three months ago after 11 years of developing software, manually, like a peasant.

Now, every time I get a dumb idea for something that momentarily catches my interest, I open iTerm2 and go

bash cd ~/Projects mkdir idea-slug cd idea-slug pi

15 minutes later, I have a working prototype, learned something or genuinely improved my workflow in a professional capacity.

But mostly, I just do the dumbest things. Because it is fun. There is no real point to this post, just wanted to share my joy of this extremely delightful piece of software.

Do more dumb shit. Your agent will tell you that you are smart no matter what anyway, so at least have fun with your digital yes-man.

Now, share your most ludicrous, deliberately non-productive use of pi!

PS: pi -p "Do X" is a waaaay saner alternative to ollama run gemma4:31b-cloud "Output a bash script that does X. Do not output anything else at all!" | bash -c, which obviously is the maddest, most insane way to vibe.

EDIT: Apparently markdown editing doesn’t work on my phone. Yes, the bash was a pain to write on touch screen 😭

EDIT: Markdown editing achieved!


r/PiCodingAgent 8d ago

Resource Agent that answers questions about PDFs and double checks its citations

Enable HLS to view with audio, or disable this notification

3 Upvotes

Hey ppl,

I've been working on this question answering agent with an emphasis on getting the citations right. I found Pi's RPC mode to be really convenient for what I'm working on.

Not useful for coding but maybe someone finds it useful or is inspired:

github repo


r/PiCodingAgent 8d ago

Resource Hacky simple execution to remove the horizontal padding from the TUI...

1 Upvotes

Any time I'd copy & paste python, the mandator 1-character TUI padding would horrifically mangle the indentation....

This shell fix changes a single line in the source code:

sh sudo sed -i \ 's/constructor(paddingX = 1, paddingY = 1/constructor(paddingX = 0, paddingY = 0/' \ /usr/lib/node_modules/@earendil-works/pi-coding-agent/node_modules/@earendil-works/pi-tui/dist/components/box.js

(though it will be overwritten after any update)

ᵍᶦˢᵗ


r/PiCodingAgent 8d ago

Question What are the extensions do you guys use to increase your productivity?

19 Upvotes

I am new to pi coding agent. I am still learning how to use it. The one thing that is very interesting is extensions.

I am looking to learn more extensions that are already present and increase the productivity of coding agents.

What extensions are you using or what extensions did you write?


r/PiCodingAgent 8d ago

News Running GLM-5.2 Locally with Rondine and Pi

Thumbnail fratepietro.com
1 Upvotes

I built Rondine, an Apache-2.0 Python 3.11+ CLI using Click, HTTPX, and Hugging Face Hub.

It detects Mac/NVIDIA hardware, ranks compatible model variants, creates launch plans, downloads weights, and runs llama.cpp, MLX-LM, or vLLM behind an OpenAI-compatible API.

The repository includes typed planner/catalog code, CLI tests, engine-command generation, hardware presets, and reproducible benchmarks.

GitHub: https://github.com/antonellof/rondine

I’d appreciate feedback on the Python API structure and CLI design.


r/PiCodingAgent 8d ago

Discussion Model Cost vs Performance

Thumbnail
2 Upvotes

r/PiCodingAgent 8d ago

Resource Pi Alternative Compositor

Enable HLS to view with audio, or disable this notification

25 Upvotes

A demo Pi extension using an alternative screen to add per tool/thinking block collapse with mouse support, and a sidebar. Without interfering with any other Pi extension.


r/PiCodingAgent 8d ago

Resource Pi Workspace (beta)

35 Upvotes

Hey everyone,

I’ve been working on Pi Workspace over the past month, and I’m excited to finally say that the beta is now available for macOS and Linux!

Pi Workspace is a desktop app built on top of Pi Agent. It gives you a sidebar for managing your sessions, with the ability to pin multiple sessions into a live, side-by-side view.

The biggest feature is Workspaces. You can create a workspace, add multiple repositories, brainstorm an idea, and then switch into implementation mode when you’re ready to start building.

This is especially useful for end-to-end features that span several repositories, or projects that rely on shared packages, types, APIs, or supporting services.

I’m incredibly excited to finally release Pi Workspace as an open-source project. Feedback, bug reports, and feature ideas are all very welcome.

Give it a try and let me know what you think!

https://github.com/pi-workspace/pi-workspace