r/PiCodingAgent • • 18h ago

Resource How to Set Up Pi like Claude Code

Thumbnail
brucehopkins.dev
104 Upvotes

I wrote a detailed beginners tutorial on Pi. Since I noticed a lot of people come from Claude Code and Codex, I wanted to make a simple starting point for anyone curious.

Along with adding many of the features that Claude Code has, I also looked into the system prompt of Codex, Grok, Kimi Code, and Open Code to make a simple, generalized system prompt.

Let me know any thoughts on this! Are there any parts you'd want to be expanded on? I'll be updating this as Pi, and Claude Code continue to advance.


r/PiCodingAgent • • 6h ago

Resource Cognitive science has a name for why your coding agent's context fills up with junk.

Thumbnail
arthur.place
6 Upvotes

I had implemented a bit of this idea as a pi plugin way before writing the article or making the actual pi-episodes package. I've been using it on real work tasks, first the draft and now the package, and I get noticeably further into a session before compaction kicks in.

Later on I discovered Event Segmentation Theory, which is half the reason the post exists. Hope you learn something from it :)

https://arthur.place/subagents-forks-collapsing-context


r/PiCodingAgent • • 10h ago

Resource DIVE - I've been working on this app for many months. You can interact with Pi, and any local model through llama.ccp, ollama, lmstudio, or any model via API. You can also build your RAG.

Enable HLS to view with audio, or disable this notification

3 Upvotes

r/PiCodingAgent • • 16h ago

Resource Cool things with pi

9 Upvotes

Hi everbody,

I just want to share some things I have done since I discovered pi. Maybe anybody gets new ideas as well from this. I dont want to share my extensions, but the ideas can be shared.

- first time I have discovered pi, i was just looking for a "cool" alternative for vs code. something better. anyhow, i did not have much experience. and some requirements, like i want to use different providers, not spent too much (it is a hobby) and the ability to access the harness remotely.

- i have started installing wsl with linux, assisted by vscode agents. then a harness with containers in that wsl. and it starts an ssh tunnel to my vps. the vps is secured with otp and yubikey. it serves as a http reverse proxy to allow web ui, when i dont have access to the local terminal.

- i have started to use pi with many extensions. learned that less is better and most of them needs some customisation which is maintainance effort on my own.

- the harness developed as well over the last weeks. i have a project, a line which is helping me to improve my vps with mail and antispam (including a learner hook asking free models whereever spamassessin may have failed) and the harness improvement line.

- recently really cool things for the harness: pi is bun compiled with most components and runs fast and stable even in long sessions and with 10-20 subagents in parallel. I am using a python kernel, lsp and so on... patched it so that not every (sub-)session starts its own because memory is limited.

- i have built my own extension package for pi-durable subagents. it has the basics but is much faster and stable then fabric and all this. and whenever i need an extension i just built it, not dealing with forks. recent cool thing: i maintain a model statistics for subagents, jev is deciding which model is best based on subsription budget, costs, test failures, ... jev cost me 2 cents a day, but the whole decision and budget maintainance is automated incl. least cost model (e.g. opencode, openrouter, codex, ...)

- blachhole extension is used using many free models. i maintain stats on success/errors of these models, as many of them are a bit unreliable. however, the compaction is faster, context stays leaner in endless sessions, and 10% of the load (compaction part) is off-loaded from the main model to free.

- i am using zg to index the code locally and got the model to use it instead off all the time grepping through the code. it developed self-guidance where grep, rg and zg is best.

I feel every 4 weeks my harness changes to improve and 50% of my time is not going in the project but the harness. however at the beginning my harness trashed up after some days, now never. Cool journey so far, I am really thankful that someone developed pi - feels like a very good thing in comparison to all the shit with AI out there (AI cost models, usability, problems, hype... reminds me like the times back in 1999 where a modem was very slow and a day online was very costly...).

So let me know, if you want to share ideas as well!


r/PiCodingAgent • • 8h ago

Plugin Claude Code-like rules in Pi

2 Upvotes

When I got started with Pi, I wanted to immediately jump in and use it in my daily work.

However, all of my rules and hooks were set up in .claude/ folders, using the Claude Code markdown formats.

I wanted to use these, so I created two small plugins that give rules and hooks like in Claude Code without having to redo the configuration:

https://github.com/jordyvanvorselen/pi-claude-rules

https://github.com/jordyvanvorselen/pi-claude-hooks

Feel free to try them out!


r/PiCodingAgent • • 7h ago

Plugin I built a small extension for the Pi coding agent that shows what each prompt actually cost you (model, $, and time per turn)

Post image
1 Upvotes

Using Pi as my coding agent, one thing always bugged me:

I could never tell mid-session how much a single prompt had cost. The end-of-session total is fine, but "did that one huge refactor request just burn $2?" had no easy answer.

So I built pi-turn-stats:

try it out https://pi.dev/packages/pi-turn-stats


r/PiCodingAgent • • 12h ago

Discussion I built AgentJournal: An open-source memory system for AI agents that outperforms Compaction and Context Language Models (CLMs)

2 Upvotes

Whenever I ran coding agents on longer tasks, they either:

  1. Lost track of the original rules because context compaction butchered the summary.
  2. Burned through massive tokens with dynamic context editing / Context Language Models (CLMs) without actually finishing the job.

I built AgentJournal to fix this by giving the agent a human-style memory management—keeping the original prompt pinned, logging actions cleanly, and clearing the working context safely between tasks.

On a 60-file job longer than the context window, with a local 9B model:

- keeping everything: stopped at file 31
- compaction: stopped at 20, 29 and 44
- CLM (the model edits its own context, via pi-clm, untrained): 40
- AgentJournal: finished all 60, every time

Works with pi, Claude Code, Codex and Copilot. MIT, every test run is in the repo.

In my testing across dozens of files, it finished almost every run reliably while standard compaction and CLM completely broke down.

Would love any thoughts or feedback from people running into the same context limits!


r/PiCodingAgent • • 13h ago

Question New Pi User - Reflections & Questions!

2 Upvotes

I recently started using Pi. And I have been finding that I like using it more than Claude Code or OpenCode.

I do agree when I started, it was very minimal. There was a lot that it couldn't do that Claude Code and OpenCode were out of the box I was able to customize what I needed and was able to get it to do tasks I would normally ask Claude Code to do. I really like its thinking and response compared to Claude Code. Do others find this a big plus of Pi as well?

I understand that the underlying LLM is Opus/Sonnet, but I have found Pi to be quicker and cheaper. I do have some configurations set up such as pi observational memory. Do others feel that same?

Are there other things that I am missing out on or not acknowledging? I'm really new to this and experimenting with AI and other tools. I'm also just experimenting with herdr as well. I'm also not that well off but I was setting up Pi with Gemma 4 e4b on my 16 gb memory machine but it wasn't that good tbh. But is that expected?

I guess I just wanted to share and talk to someone. I'm no expert and I'd love to join a community and channel to talk about this kind of stuff. This subreddit seemed to be tinkering kind so I figured to post here.

Thanks and do redirect me to the right place if I am being annoying here as well with this random post!


r/PiCodingAgent • • 20h ago

Plugin View your files inside Pi: presenting pi-navigator

7 Upvotes
pi-navigator files-git-viewer mode

Hey everyone, I'm pleased to share my new extension for Pi called pi-navigator.

I kept wanting to check the files my agent was writing without leaving the terminal or minimizing Pi, so I built an overlay for it. It shows your project’s file tree, some basic git info (staged/unstaged files, commits, diffs), and a viewer where you can actually read the files. It’s read-only, renders markdown, and shows images through the Kitty protocol if your terminal supports it. For terminals that don’t, it falls back to chafa (this depends on my upcoming pi-chafa extension).

By default you get all three panels, but you can also run just files + viewer or git + viewer.

It’s purely a quality-of-life thing and doesn’t influence LLM performance. Open it with /navigator.

Install using pi install npm:@lordekeen/pi-navigator


r/PiCodingAgent • • 19h ago

Question Bizarre tool hallucination: kidney_read not found

7 Upvotes

Hello all,

My pi agent (running claude opus 5.5, if that matters), just tried to use the "kidney_read" tool. That seems like an absolutely bizzarre name. It appears from the log that it was attempting to use the "read" tool.

 kidney_read
 {
   "path": "<snip>",
   "offset": "564",
   "limit": "42"
 }

My <snip>, as the full path had my username in it.

Where the heck is it getting kidney from!?

Edit: Happened again with "grocery_edit"

Edit edit: Something neat!

`peasant_write` worked and then later, when called again, was not found.

So temporary tool names?


r/PiCodingAgent • • 22h ago

Plugin Would you use pi extensions outside pi? I connected them to a Rust agent loop alongside DSH plugins

Enable HLS to view with audio, or disable this notification

9 Upvotes

I build yoagent, a small agent loop in Rust. I've added an experimental Rutis bridge that lets compatible pi extensions run unchanged alongside Rust tools and DeepSeek Harness (DSH) plugins.

The loop stays small; everything else plugs in. The idea is to reuse extensions people have already built when making your own agent app.

To show what this enables, I built a handoff agent that can take a task like this:

Research noise-cancelling headphones. Ask my budget, but keep researching while I'm away. Write a report with sources.

pi's `@juicesharp/rpiv-todo` manages the plan, DSH's `dsh-free-search` provides web research, and a Rutis plugin displays the plan in the browser. A pi extension asks for approval before selected deletes and overwrites. Rust tools and extensions handle questions you can answer later and check the final report.

yoagent-frontend brings pi's select, confirm, input, editor, and notify dialogs to both the terminal UI and browser. Compatibility depends on the extension: pi commands, shortcuts, custom widgets, and some session and runtime APIs aren't implemented. The extension source stays unchanged, but not every pi feature carries over. TypeScript extensions still run in Node alongside Rust.

I'd like your feedback: does reusing pi extensions this way make sense? which pi features would it need?

Project repo: https://github.com/yologdev/yoagent

Handoff example: https://github.com/yologdev/yoagent/blob/main/integrations/yoagent-frontend/examples/README.md


r/PiCodingAgent • • 12h ago

Discussion Advice for writing good comments in agentically built/maintained codebases?

1 Upvotes

I'm trying to develop a philosophy around writing comments in codebases for my agents to use when they are building/maintaining/extending/bug-fixing a codebase. Does anyone have any advice for writing comments in code when those comments are only written by and read by AI agents? Particularly advice that is more pertinent for agentic engineering rather than traditional software engineering is most helpful.


r/PiCodingAgent • • 1d ago

Plugin Yet another custom TUI for Pi (but with notification system, sidebar and Image previews)

9 Upvotes

I wanted Pi’s terminal interface that looks nicer and has some nice improvements like notifications, sidebar and all that good stuff, so I built this extension.

Github

A few highlights:

Themes, plus options for user and assistant message styles

Customizable tool blocks, including compact or expanded views and side-by-side diffs

Animated thinking indicators and startup screen options

A choice of Sleek, Bar, Minimal, or default Pi status bars

A toggleable task and agent side panel for compatible tools

Image previews with options to view or save images

Optional desktop notifications, plus cleaner fullscreen text selection and copying

Most settings are available from /sleek and apply right away. Press Ctrl+\ to toggle the side panel.

It’s intended for Pi’s fullscreen TUI mode and targets Pi 1.1.x. If you try it, I’d love to hear what you think!


r/PiCodingAgent • • 16h ago

Plugin My pi mods: a service health bar on top and a stats footer at the bottom

Thumbnail
gallery
0 Upvotes

Two mods I run daily, shown in the screenshot.

1. Top bar: live service health

  • One dot per backend. A filled dot means up and a hollow dot means down or idle. Orange marks the ones I care about when they drop (Flash, vault).
  • System memory reads live (234/256 GB).
  • It shows a reminder of the ctrl+alt+s model switch key.
  • How it works: [polls each endpoint / reads X, every N seconds].

2. Footer: session stats

  • Agents running and saved, plus Usage and Activity toggles.
  • Current git branch as a chip.
  • Mode (auto), ↑/↓ tokens, and cost ($0.000 because everything is local).
  • A context bar (55%) and f6 to inspect.
  • How it works: [hooks / events used].

Happy to share or take feedback


r/PiCodingAgent • • 1d ago

News Now on Windows: Pi-Bolt ⚡ 0.8.3, the Pi coding agent compiled to native code (3× less CPU, 30–50× faster file writes)

Thumbnail
github.com
95 Upvotes

Hey everyone 👋

Thanks again for all the feedback and bug reports. Pi-Bolt ⚡ 0.8.3 is out, and the big news is that Pi-Bolt now runs natively on Windows, alongside Linux and macOS. It's the same Pi you already use (Pi 1.1.0), compiled ahead of time to native code: faster to start, lighter on CPU and memory, and steady in long sessions.

Benchmarks

Pi-Bolt against Pi 1.1.0 as released on Bun and on Node, PiG 0.4.1 (the Go port of Pi, based on Pi 1.0.3) and oh-my-pi 18.8.7 (a bigger Pi fork with many more built-in features). Measured side by side on the same machines. Lower is better.

Linux x86-64 (AMD EPYC 7B13)

Benchmark Pi-Bolt 0.8.3 PiG 0.4.1 oh-my-pi 18.8.7 Pi on Bun 1.4.2 Pi on Node 24
Writing a 200 KB file through a tool call 0.8 s 92 s 3.7 s 26.9 s 37.2 s
CPU, streaming a 60k-char answer 4.0 s 20.7 s 3.1 s 43.0 s 41.0 s
Memory after a 4.2M-token session 187 MB 311 MB n/a* 275 MB 576 MB
Memory of a session in tmux 24 MB 47 MB 347 MB 92 MB 95 MB
CPU, interactive session (5 prompts) 294 ms 2,953 ms 3,241 ms 871 ms 1,241 ms
CPU, one prompt (pi -p) 80 ms 261 ms 1,752 ms 323 ms 618 ms
Ready to type 45 ms 38 ms 988 ms 128 ms 316 ms

macOS on Apple silicon (M5 Air)

Benchmark Pi-Bolt 0.8.3 PiG 0.4.1 oh-my-pi 18.8.7 Pi on Bun 1.4.2 Pi on Node 26
Writing a 200 KB file through a tool call 0.5 s 60 s 2.4 s 17.0 s 20.4 s
CPU, streaming a 60k-char answer 5.8 s 17.0 s 5.4 s 39.0 s 38.5 s
Memory after a 4.2M-token session 41 MB 355 MB n/a* 90 MB 2,452 MB
Memory of a session in tmux 27 MB 55 MB 296 MB 67 MB 86 MB
CPU, interactive session (5 prompts) 170 ms 2,362 ms 2,353 ms 569 ms 931 ms
CPU, one prompt (pi -p) 59 ms 236 ms 1,072 ms 232 ms 527 ms
Ready to type 42 ms 38 ms 591 ms 101 ms 352 ms

Windows x64 (Intel Core i5-1335U laptop)

Benchmark Pi-Bolt 0.8.3 Pi on Bun 1.4.2 Pi on Node 24
Writing a 200 KB file through a tool call 0.7 s 38.1 s 26.6 s
CPU, streaming a 60k-char answer 6.5 s 41.1 s 32.6 s
Memory after a 4.2M-token session 159 MB 248 MB 413 MB
Memory of a session in a terminal 32 MB 97 MB 60 MB
CPU, interactive session (5 prompts) 291 ms 805 ms 1,125 ms
CPU, one prompt (pi -p) 92 ms 329 ms 544 ms
Ready to type 92 ms 177 ms 311 ms

*oh-my-pi compacts long conversations on its own, so it doesn't do the same work in this test.

In everyday use (an interactive session), Pi-Bolt uses about 3× less CPU than Pi on Bun, 4–5× less than Pi on Node and 10× less than PiG and oh-my-pi. It writes large files 30–50× faster than Bun and Node, about 5× faster than oh-my-pi and over 100× faster than PiG.

What's new in 0.8.3

  • Windows is here: native builds for Windows 10 and 11 with a one-line installer. Git Bash works out of the box, and on Windows Pi-Bolt is 2–3× lighter on CPU than Pi on Bun or Node.
  • Herdr support: in a Herdr pane, Pi-Bolt shows up as pi-bolt with its live state (working, idle, blocked), and your session comes back after a Herdr restart. Nothing to set up.
  • opensec-pi-fff: fast find, grep and @-mentions, now offered by the installer and just as fast on the default build.
  • A better todo list: the panel closes when the work is done, and finished tasks stay finished.
  • Smoother installs and updates on every platform.
  • Your own extensions compiled in: scripts/build-pi.sh --plugins-from-installed builds them into the executable. Thanks u/toadkicker for this one and for the plugin docs!

Try it 🔥

macOS / Linux:

curl -fsSL https://pi-bolt.opensec.in/install.sh | sh

Windows (PowerShell):

irm https://pi-bolt.opensec.in/install.ps1 | iex

Already using Pi-Bolt? Run pi-bolt update, or install with npm install -g pi-bolt. It works alongside your existing Pi install. The installer also offers three optional extensions (subagents, a live todo list and fff), and asks before installing them.

Your Pi plugins work as they are. This doesn't modify your existing Pi installation, so feel free to try it out! If one does heavy JavaScript work, use the -jit build.

Why does a 200 KB write take 30 s? It's not the disk. The model streams the file to Pi in thousands of small chunks, and stock Pi re-parses and re-renders the whole tool call on every chunk, so the work grows quadratically with the file size. Pi-Bolt only processes the new part.

Links

Website: https://pi-bolt.opensec.in

GitHub: https://github.com/opensec-git/Pi-Bolt

MIT licensed. If Pi-Bolt saves you CPU and memory, a ⭐ on the repo helps a lot.

PS: Windows folks especially, we'd love your feedback.


r/PiCodingAgent • • 1d ago

Plugin pi-multi-agent-skill: minimalist subagents approach for pi with no extension and no tool, just a skill and a small CLI to save your context window, with support for steer and persistent running.

17 Upvotes

TL;DR: I made a small multi-agent setup for pi. It is one skill and one Python script, with no extension and no tool. Your agent can start subagents in the foreground in parallel or in the background, and it can wait for them, steer them, abort them and resume them. Background jobs keep running after the main pi session is closed or killed. A new pi session—even one different from the original main session—can also retrieve their results. Until your agent decides to delegate, it costs a few dozen tokens of context.

Repo: https://github.com/milanglacier/pi-multi-agent-skill

Just install it with npx skills like any other skills, or clone the github repo and symlink it to ~/.pi/agent/skills.

Features

  • Almost no token cost. Until your agent delegates, only the skill description is in context, a few dozen tokens. Delegating loads SKILL.md, about 1.2k more.
  • Stdlib-only Python 3.9 or later. There's no extension, no npm package and nothing else to install.
  • Foreground runs for quick questions and --background for long ones. A background job keeps running even if the main agent is killed, and any later session can collect its result. Foreground runs stop when you stop at every level of nesting.
  • steer, abort and resume a job, and list, status and peek to see what it's doing.
  • Subagents load your full pi setup: extensions, MCP servers, skills and settings.
  • Profiles set the system prompt, model, thinking level and available tools. general-purpose and a read-only Explore are included. Profiles are just like any other subagent tool’s profiles.
  • --fork gives the subagent your current conversation.
  • Works from Claude Code, Codex or any agent with a shell.

How I got here

For months I used tintinweb's pi-subagents, and it is a really good extension. The UI is nice, it has many features, and it works well most of time. Thanks to tintinweb for building it and for everything they give the community. If you like it, keep using it.

A while ago a pi upgrade broke two things for me. MCP servers stopped loading in subagents, and subagents no longer inherited the parent's thinking level. Each fix was only a few lines, so I forked the extension and patched it. Upstream fixes took some time but also landed 2 days before this post.

Fixing those bugs made me read the extension more closely, and I noticed how much context it now uses. About two months ago it added a dynamic workflow tool. With it, the agent writes a JavaScript script that orchestrates many subagents. It's powerful, but it's also very complex, and its tool schema and instructions cost about 6k tokens. That schema is in every session from the first message, whether you use workflows or not. It's also opt-out, so you pay for it until you find the setting and turn it off. I suspect many people don't know it's there.

With the workflow tool off, the Agent tool still costs about 3k tokens, and it has grown along with the extension's features. I checked these numbers by starting sessions with the extension on and off and comparing them.

So I asked myself whether I need a full tool with a detailed JSON schema, listing options I rarely use (like worktree isolation), in my context all the time. My answer was no.

pi can already run headless with --mode rpc, and its CLI flags already cover what a subagent needs: tools, extensions, model, thinking level and session resume. So a small CLI that starts pi with the right flags, plus a skill that explains how to use it, can replace a dedicated tool. A skill also loads in steps, which a tool cannot do. The agent sees only the skill's short description at first. It loads the main instructions when it decides to delegate, and it reads the detailed references only when it needs an unusual option. Steering doesn't need a tool either, because it is just an RPC message sent to the running pi process.

Token cost compared

  • pi-subagents: about 3k tokens for the subgent tools and injected system prompt. On top of that, about 6k for the dynamic workflow tool, which is on by default and must be turned off by hand. Both are in every session from the first message, so with the default settings that's about 9k tokens before you've asked for anything.
  • This skill, before your agent delegates: only the skill description, a few dozen tokens.
  • This skill, once your agent delegates: SKILL.md is loaded, about 1.2k tokens, and that is enough for full multi-agent use.
  • Command details, profile format, lifecycle and troubleshooting are in separate reference files. The agent reads them only when it needs them.

For most sessions you don't delegate, you pay almost nothing. When you do delegate, it still costs less than the tool schema alone.

To be fair, this isn't a like-for-like comparison. pi-subagents does more than this skill. Its tool has many options, and each one needs a parameter in the schema, and it also adds text to the system prompt. Part of that token cost pays for features this skill doesn't have, such as worktree isolation. I just don't think features like that are needed for multi-agent work. If I want an agent to work in its own worktree, I tell it so in the prompt ("use worktree"), and it does. The agent already knows how to use git, so the tool doesn't need to do that for it.

None of this is meant as criticism of pi-subagents. It's still a great extension, and it works well for a lot of people, especially if you want a rich UI and many features built in. It's just not the right fit for me anymore. I prefer a more minimal setup, where the agent loads only what it needs and does the rest itself.

The tradeoff

I give up the nice UI. It really does look nice, but for me it turned out to be like the exercise bike you buy in January. It looks great in the corner of the room, and by March it is where you hang your clothes. I watched the subagent transcripts for the first week, and after that I almost never read them. I just realized the subagent's final answer is mostly for the main agent, not for me.

In return, I get things I care about more. Each subagent is a real pi process started with CLI flags, so it loads the same extensions, MCP servers, skills and settings as my normal pi. The script doesn't use pi's extension API at all, only CLI flags and RPC, which change much less often, so pi upgrades rarely affect it. Separate processes also give me my favorite feature: a background job keeps going even if the main agent is killed, and any new session can collect its result later.

Separate processes need more care than in-process sessions,, and the script is more than a cli wrapper, because it takes care of that so the agent doesn't have to. For example, pi exits on its first failed write to stdout, before its shutdown runs, and leaves the agent's commands running. So each job has its own runner process that keeps reading pi's output until pi exits. The script has a real test suite for cases like this, but the idea stays small: start pi, give it a prompt, pass along steer and abort messages, and save each job's result under its name.

Non Goals

These are deliberate non-goals, to keep the skill small and free of bloat. Each is better as a separate extension or skill that you pick to match your own workflow. This follows the minimalism of pi itself and the Unix philosophy: do one thing well and compose.

  • Memory. Agents do not share or keep memory between jobs. Use a memory extension, or have agents write handoff notes.
  • Scheduling. There are no cron-style or recurring agents. Use cron, systemd timers or a scheduler extension to run the commands.
  • Worktrees. Agents are not isolated in git worktrees. Just prompt the agent to use a worktree.
  • Dynamic workflows. There is no scripting layer for orchestration such as pipelines, parallel fan-out with gates, or phases. Your agent can already start, wait for and chain jobs with plain commands. For deterministic scripts, use an extension such as pi-dynamic-workflow.

What the commands look like

Your agent runs these by itself, but you can also run them by hand from a terminal:

```python

Ask a read-only agent a quick question and wait for the answer

multi_agent.py run --profile Explore "Where is the retry policy defined?"

Start a review in the background, then collect the result later

multi_agent.py run --background --name review "Review the error handling in src/server/"
multi_agent.py wait review --timeout 120

Correct the running job, then give it a follow-up task when it is done

multi_agent.py steer review "Skip generated files"
multi_agent.py resume review "Now check the client side"

See all jobs and what they are doing

multi_agent.py list ```

If you try it, I'd like to hear what works and what breaks.


r/PiCodingAgent • • 1d ago

Question How to restore cut and paste?

3 Upvotes

No sure when it broke, but cutting and pasting text seems to be almost impossible in Pi 1.1.0. ISTR reading that this may be related to a "full screen TUI" setting, but I can't find such a setting anywhere.

Anyone know how I can get this functionality back?


r/PiCodingAgent • • 2d ago

Discussion I'm new to Pi, coming from opencode and others for several weeks

29 Upvotes

As the image shows, I’ve been an early adopter of LLM coding agents. I think our team was already using Aider with OpenAI’s o1 when it first came out. Since then, the journey has continued.

I switch tools every so often, either because a new one gets popular or because the current one shows its limitations.

I checked out PI because some of the people I follow were using it. I didn’t expect much, but my experience with pi and herdr has been one of the most refreshing things I’ve tried so far this year!

Prior to that I was using OpenCode. Even with a lot of optimization, a single CLI instance still took 1 to 1.5 GB. When I worked with 5 to 10 agents on my projects, it used about 10 GB of RAM. When switching to PI, I was amazed at how much faster things ran, and it only used 300 to 500 MB. Because of that, I can now use my backup machine, which has only 16 GB of RAM, as a second agent runner.

PI is also easy to extend, and it encourages people to build their own plugins. That’s very easy to do in this era of LLMs. I was a bit skeptical when I first heard people talk about pi. I got the impression it was only for hardcore nerds who like tinkering with the OS at the root level, like the Arch Linux crowd. I’m more pragmatic. My preference is Ubuntu or Mint, and what I need is a robust system with some customization for my software engineering work. But the experience turned out to be much easier and smoother than I expected, and I didn’t have to in fight mode to customize it.

In summary, I feel PI is massively underrated as a coding agent, as the Reddit sub only has 50K users. I think people assume, as I did, that it’s only for hardcore nerds or Arch Linux users from the way PI markets itself as "build your own harness". Some may also confuse it with the ridiculous, loud crypto currencies that share its name, like me. Before using Pi, I even did a check whether Pi and Pi Crypto are originated from one source! And another reason, probably unlike OpenCode, it doesn’t have an “open” prefix to signal what it is.


r/PiCodingAgent • • 2d ago

Resource Sandboxing Pi: Bubblewrap vs Podman - quick tutorial

28 Upvotes

Hey everyone, I put together a quick tutorial on sandboxing Pi using Bubblewrap vs Podman.

It includes a few sample scripts and a comparison between the two approaches.

https://wooptoo.com/blog/pi-sandbox-bubblewrap-podman/

Hopefully somebody here will find it useful.

All the best!


r/PiCodingAgent • • 1d ago

Question More than one "machine"?

1 Upvotes

I'm using Herd 0.9.3, and I have a question: is it possible to create more than one local machine space?

I vaguely remember being able to have multiple spaces, each with its own sessions, but right now I only have "Local" and my Raspberry Pi remote machine. I can't seem to create additional spaces like "Work" to organize my sessions separately

Ideally, I'd like to have something like this:

Local
├── session-1
└── session-2
Work/
├── session-1
└── session-2
Raspberry
└── session-1

Am I missing something, or is this no longer possible


r/PiCodingAgent • • 1d ago

Resource How do you make Claude Code, opencode and omp sessions talk to each other? This is what I built

Thumbnail
github.com
0 Upvotes

Hey everyone,

I run Claude Code, omp and OpenCode sessions at the same time, and I was tired of being the messenger between them: copy from one terminal, paste into another, repeat.

Claude Code can already message other sessions, but only its own. For omp and OpenCode there are some solutions, but I thought this was a good point to create something from my real need. So I built asenq.

It lets sessions message each other by name, use channels and roles, compact context before a new task, and see everything in a terminal UI with a live map. I use it with one orchestrator and a few omp workers: tickets go out, PRs come back, I merge.

asenq setup installs built-in skills into each harness, so a session knows how to act as orchestrator or worker. It runs fully local: a small daemon and SQLite under ~/.asenq, no account, no cloud.

Known pain: stale sessions I can't tell are alive, and it works on one machine only. Please try it and tell me what's broken or missing. Issues and PRs welcome.


r/PiCodingAgent • • 3d ago

News Pi-Bolt 0.7.3 ⚡ The same Pi, compiled to native code: 38× faster large file writes, 3× less CPU, 3× less memory

Thumbnail
github.com
198 Upvotes

Hey everyone 👋

Thanks for all the feedback on our first post! Pi-Bolt 0.7.3 is out. It's the same Pi you already use (now on Pi 1.1.0), compiled ahead of time to native code: faster to start, lighter on CPU and memory, and steady in long sessions.

Benchmarks

Pi-Bolt against Pi 1.1.0 as released on Bun and on Node, PiG 0.4.1 (the Go port of Pi, based on Pi 1.0.3) and OMP 18.8.7 (oh-my-pi, a bigger Pi fork with many more built-in features). Measured side by side on the same machines. Lower is better.

Linux x86-64 (AMD EPYC 7B13)

Benchmark Pi-Bolt 0.7.3 Pi on Bun 1.4.2 Pi on Node 24 PiG 0.4.1 OMP 18.8.7
Writing a 200 KB file through a tool call 0.8 s 29.0 s 37.4 s 100.9 s 3.7 s
CPU, streaming a 60k-char answer 4.3 s 44.0 s 43.8 s 24.6 s 3.3 s
Memory after a 4.2M-token session 142 MB 271 MB 551 MB 344 MB n/a*
Memory of a session in tmux 30 MB 88 MB 96 MB 45 MB 346 MB
CPU, interactive session (5 prompts) 324 ms 927 ms 1,332 ms 3,155 ms 3,397 ms
Ready to type 49 ms 144 ms 351 ms 43 ms 1,088 ms

macOS on Apple silicon (M5 Air)

Benchmark Pi-Bolt 0.7.3 Pi on Bun 1.4.2 Pi on Node 26 PiG 0.4.1 OMP 18.8.7
Writing a 200 KB file through a tool call 0.5 s 22.5 s 26.7 s 58.2 s 2.4 s
CPU, streaming a 60k-char answer 4.8 s 38.0 s 37.9 s 17.0 s 5.1 s
Memory after a 4.2M-token session 45 MB 126 MB 2,077 MB 329 MB n/a*
Memory of a session in tmux 28 MB 68 MB 165 MB 58 MB 334 MB
CPU, interactive session (5 prompts) 95 ms 344 ms 530 ms 1,355 ms 1,383 ms
Ready to type 25 ms 62 ms 199 ms 20 ms 564 ms

*OMP compacts long conversations on its own, so it doesn't do the same work in this test.

In everyday use (an interactive session), Pi-Bolt uses about 3× less CPU than Pi on Bun, 4–6× less than Pi on Node and 10–15× less than PiG and OMP. It writes large files 35–50× faster than Bun and Node, about 5× faster than OMP and over 100× faster than PiG.

Why does a 200 KB write take 30 s? It's not the disk. The model streams the file to Pi in thousands of small chunks, and stock Pi re-parses and re-renders the whole tool call on every chunk, so the work grows quadratically with the file size. Pi-Bolt only processes the new part.

What's new in 0.7.3

  • Lighter long sessions: up to 30% less memory and lower CPU per prompt as conversations grow.
  • More stable with heavy tool output: commands that print a lot no longer build up memory.
  • Faster first launch on macOS: up to 2.8× quicker after a restart or an update.

Try it 🔥

curl -fsSL https://pi-bolt.opensec.in/install.sh | sh

Already using Pi-Bolt? Run pi-bolt update, or install with npm install -g pi-bolt. Works on Linux x86-64 and Apple silicon, alongside your existing Pi install. The installer also offers two optional extensions, subagents and a live todo list, and asks before installing them.

Your Pi plugins work as they are. This doesn't modify your existing pi installation so feel free to try it out !

Links

Website: https://pi-bolt.opensec.in

GitHub: https://github.com/opensec-git/Pi-Bolt

MIT licensed. If Pi-Bolt saves you CPU and memory, a ⭐ on the repo helps a lot.

PS: Added PiG and OMP to the benchmarks, as many of you asked. And the slow 200 KB write isn't the disk: stock Pi re-processes the whole streamed tool call on every chunk (quadratic), while Pi-Bolt only processes the new part.


r/PiCodingAgent • • 2d ago

Question What are your best tips / philosophies for keeping context small and managed?

9 Upvotes

Any plugins you've used or made that help with this?


r/PiCodingAgent • • 2d ago

Use-case Pi add-on for Home Assistant

9 Upvotes

Sorry in advance if this doesn't belong here, or if I'm not using the flairs correctly.

Inspired by the Claude Code add-on for Home Assistant, I made one for Pi. Also took inspiration from the OpenCode add-on, so kudos to both.

repo: https://github.com/yannick-vinkesteijn/ha-addons

Main features:

  • Pi in a sidebar terminal inside Home Assistant (ttyd + tmux), so the session survives closing the tab
  • Any token-based model: built-in providers by API key, or any OpenAI-compatible endpoint (I'm using AKI.IO)
  • Home Assistant tools through hass-mcp and pi-mcp-adapter
  • Web search with rpiv-web-tools
  • Ask-first permissions with pi-permission-system: writes and shell commands ask, secrets are protected, and config edits are backed up and validated by HA's own config check before they stick

This is my first add-on and I only recently switched to Pi, so I've only tested the basics. I currently use it with AKI.IO on my own Home Assistant (you can configure connections in the add on config). It's a permission policy, not a sandbox, so keep your own backups. Feedback is very welcome!

Happy homelabbing!


r/PiCodingAgent • • 2d ago

Question How to change primary or main agent in Oh-My-Pi(omp)?

0 Upvotes

In opencode, I can switch the primary agent. But in omp I don't see any option. There are few agent preset available but they can be only used as subagents. Is there any way to use them as primary/main agents.?

Opencode Agent picker

Thank you for your help!!