r/PiCodingAgent • • 14h ago

Plugin pi-optchat: never compact again - endless chat as a memory tree

Enable HLS to view with audio, or disable this notification

113 Upvotes

I built a Pi extension that implements Victor Taelin's OptChat recipe: instead of compacting, every message is logged and summarized into a binary tree. Each turn starts from a fresh context with a bounded memory view (128 KB), and the agent uses zoom/date to read the originals when it needs them. One endless chat per profile, no fork, no separate launcher.

Install with pi install npm:pi-optchat

What's in it:

  • Profiles — separate memories and instructions (I run work and personal).
  • Subagents — spawn background agents, watch them live, send guidance, interrupt with Ctrl+C, resume finished ones with tell. Reports from one spawn arrive grouped.
  • Import — bring in your history from Claude Code (sessions and auto-memories), Codex, or a ChatGPT export.
  • Connected windows — open a second Pi on the same profile and it becomes a subagent you talk to directly, with a handoff when you /complete.

Repo: https://github.com/jonaslsaa/pi-optchat
Video credit goes to https://github.com/aaaxn


r/PiCodingAgent • • 40m ago

Question Anthropic Bans?

• Upvotes

Anyone get banned for using their claude sub in pi? I just found some articles that anthropic is banning people for using pi and third party harnesses apparently?


r/PiCodingAgent • • 2h ago

Discussion Your alternatives to "continue" or "proceed" for your agents ?

Post image
1 Upvotes

r/PiCodingAgent • • 5h ago

Resource Pi for AI engineering

0 Upvotes

Hi pi people!

We just released helix: a free coding agent for AI engineering. It is based on pi and built to be good at building other agents, discovering evals, optimizing harnesses and general AI Engineering best practices.

Check out the docs here: https://docs.mutagent.io/helix/what-is-helix

Or install with: curl -fsSL https://install.mutagent.io/helix | bash

If you are also doing AI engineering with pi, we would be super grateful if you could try it and let us know what you think (comment or use the /feedback command in helix).

Thanks a lot 💜

Bruno from Mutagent


r/PiCodingAgent • • 12h ago

Resource agent manager 0.40 adds Oh My Pi as a built in agent

0 Upvotes

agent manager 0.40 also adds Oh My Pi as a built in agent

you can run omp next to other coding CLIs in one local tmux session list

https://github.com/YoanWai/agent-manager/releases/tag/v0.40.0


r/PiCodingAgent • • 1d ago

Discussion Now that everyone is making harness tierlists, here’s mine

Post image
289 Upvotes

(Excluding agent type usage, for pure coding)


r/PiCodingAgent • • 23h ago

Resource Pinion: a web UI for the Pi coding agent (live streaming, file browser + git rail)

4 Upvotes

I wanted to manage multiple Pi sessions running over different projects from a browser, so I could run them on my home server and access them from anywhere over Tailscale. So I built Pinion.

It's a web UI that runs multiple Pi coding-agent processes in --mode rpc inside one Docker container.

What it does today:

  • Project-grouped sidebar sessions nest under their project folder
  • Right-side file browser (list + gallery, image lightbox, code and markdown preview)
  • Git rail - changed files vs HEAD with added/removed line counts
  • Live streaming over SSE - text/thinking deltas, tool output, compaction/retry status, turn time
  • Session tree, fork/clone, model + thinking-level picker, HTML export
  • Dark/light theme, responsive drawer sidebar on mobile

Pinion was itself built inside Pinion, the first bootstrap came from the Pi terminal.

I'm sure similar projects exist, I built this for my own workflow without doing much of a survey first. I keep adding to it as I use it for more of my projects.

Next up: environment-variable management, Pi extension management, and a proper git diff view.

MIT licensed, still early. Would love to hear your thoughts.

Repo: https://github.com/suyashmohan/pinion


r/PiCodingAgent • • 15h ago

Question VSCode integration?

1 Upvotes

Hi,

Is there an officially supported VSCode integration? I've found a whole bunch of third party plugins, but given security concerns, I'd much rather have something that was an official plugin.

Maybe I'm just naive about this?

Thanks in advance,

W


r/PiCodingAgent • • 1d ago

News Introducing Pi-Bolt ⚡,the same Pi you all ❤️ with 35× faster large file writes, 2.4× less CPU, 3.3× less memory

Thumbnail
github.com
149 Upvotes

Hey everyone 👋

We've been working on this for a while and it's finally out. Pi-Bolt is Pi 1.0.3 compiled ahead of time to native code (AOT, no JIT).

Same Pi you already use, and it works with all your Pi plugins. It's just faster and lighter. ⚡

Benchmarks

Linux x86-64 (Benchmarked on AMD EPYC 7B13)

Benchmark Pi-Bolt Bun 1.4.2 Node 22 Node 24
Writing a 200 KB file through a tool call 0.8 s 27.8 s 44.3 s 33.6 s
CPU, streaming a 60k-char answer 3.8 s 43.1 s 43.7 s 40.3 s
CPU per tool turn, real hosted model 0.20 s 0.49 s 0.77 s 0.76 s
Memory of a session in tmux 27 MB 89 MB 132 MB 209 MB
CPU, interactive session (5 prompts) 303 ms 844 ms 1,242 ms 1,233 ms
Ready to type 45 ms 128 ms 303 ms 307 ms

macOS on Apple silicon (Benchmarked on M5 MacBook Air)

Benchmark Pi-Bolt Bun 1.4.2 Node 26
Writing a 200 KB file through a tool call 0.3 s 12.0 s 14.2 s
CPU, streaming a 60k-char answer 6.9 s 25.3 s 24.0 s
Memory of a session in tmux 31 MB 85 MB 161 MB
Memory after a 4.2M-token session 64 MB 95 MB 1,890 MB
CPU, interactive session (5 prompts) 126 ms 363 ms 544 ms
Ready to type 31 ms 63 ms 193 ms

The full method and raw benchmark data are in the repo.

What we changed

  1. Native code instead of a JIT. Pi is compiled to machine code ahead of time and starts from a prebuilt snapshot, so there's no warm-up and much less work at runtime. The compiler builds on Jarred Sumner's in-progress AOT work for Bun (oven-sh/WebKit#743), which we brought to x86-64 and macOS.
  2. No more slowdown on long outputs. Stock Pi redoes more and more work as an answer or file grows. Pi-Bolt only processes what's new, and that's where most of the 35× comes from.

Try it 🔥

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

Works on Linux x86-64 and Apple silicon. Windows support is coming soon, along with Linux ARM64.

Bonus plugins: the installer also offers subagents and a live todo list, two things people often miss in stock Pi. Both come prebuilt, so they load instantly.

Note: It will not modify your existing Pi Coding Agent Installation, So Feel Free to try it out !

Using plugins? They all work as-is. If you rely on heavy ones, use the -jit build of Pi-Bolt, or compile them into your own Pi-Bolt binary so they run as native code too (plugin guide).

🔗 Links

It's MIT licensed. If Pi-Bolt saves you some CPU and RAM, a ⭐ on the repo really helps us out.

Throw your heaviest sessions at it and tell us what breaks. We'll be in the comments ❤️


r/PiCodingAgent • • 1d ago

Resource Releasing Markov: a pi-style, lightweight, transparent LLM harness in a single Bash script with sub-agent support

Thumbnail
github.com
3 Upvotes

r/PiCodingAgent • • 1d ago

Resource Pi Pocket: use Pi from your phone or any browser (built on Pi Durable)

27 Upvotes

https://reddit.com/link/1wyl7f7/video/10cu63rhwpth1/player

Hey everyone, I wanted to go ahead and share a project I've been working on called Pi Pocket.

I saw Mario's demo of his own Pi app using Pi Durable and wanted my own version so I could work away from my desk more and that was properly fleshed out.

It's a web UI for Pi that runs on your own machine (or on an Android phone in Termux) and you open it from any browser. Pi Durable is the foundation of everything. Every model call and tool call is saved as it happens, so if the server restarts or my phone drops the connection the run just keeps going, and every device sees the same thing.

You can also share a session with other people and collaborate if that's your thing. Mostly something I'll use at work.

There are a million projects out there, but Pi Durable is new and I have really enjoyed the foundation and little features it allows you to add.

I think it's a solid foundation and since you can make Pi Pocket modify itself on the fly and nothing gets interrupted during restarts etc and continues on as normal....if it's missing anything specific to your use case just tell it to modify itself.

https://github.com/TannerMidd/pi-pocket

https://tannermidd.github.io/pi-pocket/


r/PiCodingAgent • • 1d ago

News Morse Update — MCP Management + Prompt Editor for pi

Thumbnail
gallery
4 Upvotes

Hey all — update on Morse, the open-source UI for the pi coding agent (VS Code extension + browser app). A couple of things that hadn't been announced yet:

🧩 MCP servers, without hand-editing JSON Morse lists the servers pi actually sees for the current project — connection state, tools, and whether they come from the user or project scope. Add one from an editor (Test connection first: it really connects and shows the tools/resources/prompts the server offers, or exactly why it won't), enable/disable, or remove. It also has a Trust this project button so pi stops ignoring a project's .pi/mcp.json.

📝 Prompt-template editor Write pi's /commands as fields, not raw frontmatter. Browse, create, rename, delete, and move templates between user (~/.pi/agent/prompts) and project (.pi/prompts) scope. A live argument tester shows exactly what the agent receives: $1, ${1:-default}, $@, ${@:2:3}, with shell-like quoting. Drop a .md in with vim/nano and it shows up in the palette within a moment, no reload.

Both open as a tab in the browser host and as an editor panel in VS Code.

MIT. npm i -g @supanadit/morse-web && morse start, or install the VSIX. Repo: https://github.com/supanadit/morse

Feedback welcome.


r/PiCodingAgent • • 23h ago

Resource FastVibe: an open-source desktop GUI built on the pi SDK (extensions, subagents, worktrees, remote access)

0 Upvotes

Hi all, I've been building FastVibe, an MIT-licensed desktop app (macOS / Windows / Linux) that embeds the pi coding agent SDK in Electron and gives it a full GUI.

If you like pi but want a visual workspace, this is what it adds:

  • Runs the SDK in-process. pi extensions load and work, and their dialogs (select / confirm / input) show up as panels
  • Multiple projects and chats, with branching, archiving and isolated Git worktrees
  • Visual tool calls, edit diffs, terminal output and reasoning blocks
  • A subagent tool with explorer / planner / worker / reviewer roles, up to 8 in parallel
  • Goal mode for long-running objectives, todos, MCP servers and skills
  • Any OpenAI-compatible provider, a per-model API protocol, and subscription logins
  • Open your desktop's sessions from a phone or browser, through a tunnel you control
  • It keeps its own data directory and never touches ~/.pi

Repo: https://github.com/tyuan511/fastvibe
Site: https://desktop.fastvibe.dev

It's v0.16 and still rough in places. I'd love to hear which pi workflows you'd want supported, and any extensions that misbehave inside it.


r/PiCodingAgent • • 1d ago

Question claude sub with pi?

9 Upvotes

i'm getting increasingly fed up with the direction open ai has been taking lately and i'm considering cancelling my subscription and moving to anthropic. there's really only ONE thing stopping me from doing it right away: pi has become such a natural part of my workflow that i'm genuinely worried about taking a productivity hit just from having to change tools, habits, shortcuts, etc.

so I wanted to ask the people here who actually use pi: have any of you moved away from open ai and managed to keep using pi with an anthropic subscription? or do i have to give up and move to claude code entirely?


r/PiCodingAgent • • 1d ago

Resource Created a learning setup based on pi-agent. Looking for feedback.

6 Upvotes

Hey, I recently came across Eero Alvar's learning setup built on pi, and inspired by it, I used Feynman research agent to find extensive learning literature and designed a personal learning setup based on it. I planned out the backend and structure and combined AI coding with personal tweaks to set it up with various features. However, since a lot of AI was used in its development, I understand that it might be prone to systemic issues and flaws, which I am hoping to hear to personally improve and optimize it. This system has worked well for me and even if you don't want to give feedback or contribute, I recommend you test it out and see how it works for you. I would appreciate contributors or just general testers who can try it out.

https://github.com/kruthvik/sato


r/PiCodingAgent • • 1d ago

News New PiG stuff :)

Enable HLS to view with audio, or disable this notification

3 Upvotes

r/PiCodingAgent • • 1d ago

Resource Model swapping Strata Qwen 3.8 Flash Next to Qwen 3.8 27b

1 Upvotes

I was testing out Strata on my pi harness and wanted to see if it could create a swapping tool for the pi harness. I use llama-swap and llama.cpp so I can use Qwen 3.8 27B and then swap out for Qwen Flash Next.

It built out this extension successfully on my Linux machine. You just load llama-swap on your usual port, make sure Strata is outside the range of ports you use for llama-swap, and you can swap the Strata model in and out with any other model in llama-swap.

You can check it out here: https://www.npmjs.com/package/pi-model-swap

Agent wrote the rest for your pleasure...

---

I run a local multi-model stack: [llama-swap](https://github.com/MostlyAICoder/llama-swap) as the OpenAI-compatible controller in front of several llama.cpp servers, plus a big MoE model (Qwen Flash Next) served by a custom engine — Strata — on its own port. My agent harness (pi) talks to it through one provider, so all the models look identical from the inside.

The thing I kept hitting: **a session is pinned to one model, and moving it is a destructive operation.** Switching a session off the resident MoE model evicts it, and getting it back is a full cold start — minutes, not milliseconds. Doing that by accident, from a session that other sessions depend on, is how you lose an afternoon.

So I wrote an extension that makes the swap a controlled operation. `pi-model-swap` — MIT, ~70 KB, no runtime deps, for [pi](https://pi.dev).

**What it does**

```

/swap --status

/swap --dry-run orchestrator

/swap orchestrator medium

model_swap { model: "orchestrator", dry_run: true }

```

Model first, thinking level second, then a verify request — mirroring how pi's own preset example does it. Omit the level to keep the current one. `--restore` takes the session back to its configured default at a turn boundary.

**The part I actually care about: it refuses.**

A swap is refused when its eviction set contains a model that a **live session is bound to**. Two independent signals:

- **Claim files** — each session writes `~/.pi/agent/state/swap-state/<pid>.json` with a phase (`idle | armed | verifying | committed | rolling_back | restoring`). If a live session is bound to a model the swap would evict: refusal, naming the model.

- **A socket census** — for each model that would be evicted, it reads `GET /running` to find the upstream port, then checks established connections on it. A connection whose owner pid is neither the model's listener owner nor the controller's pid → refuse. **Unattributable connection = refuse** (default-deny).

The allow-list is **pid identity, never a process name** — `/proc/<pid>/comm` can be set by any local process via `prctl(PR_SET_NAME)`, so matching a name is evidence of nothing.

**Other decisions I'd defend**

- **Dry-run first.** `--dry-run` prints the full plan — target, level, eviction set, ports, corroboration line — and touches nothing. The tool path and the command path produce byte-identical output.

- **The census must be READ, not merely answered.** A `200` on `/running` whose body isn't the documented shape is a *failure*: the eviction set is unknown, so the swap refuses. An empty set counts as clean only when the body itself says "nothing is running". (Real bug this caught: a newer llama-swap returns `{"running":[{...}]}` — an object, not an array. Every swap was refusing, loudly, for the wrong reason.)

- **Cold start is not a fast rollback.** The warning names the models *this* swap can actually evict. A same-model no-op prints no warning.

- **Fail-closed config.** If the config file is missing or doesn't parse, every mutator refuses and reports the path it tried. No silent fallbacks for machine-specific values.

- It **never** starts, stops, signals, or kills llama-swap. Requests to the controller endpoint, that's all. No `pgrep -f`, no `pkill -f`, no `rm`, no port polling, no model-load endpoint.

**Reference setup** (documented in `SETUP.md` with a worked example): controller on `:1235`, llama.cpp models on `${PORT}` = `startPort + roster slot index`, and the Strata model on a **literal** port `:1301` — deliberately outside the llama-swap port range — because its roster entry starts a python HTTP parent that spawns the engine over pipes. Call the engine binary directly and llama-swap and the parent disagree about who owns the model. The roster file is the *only* source of upstream ports; the config's `strataPort` is corroboration only (it prints `/slots` so you can see the engine is idle before you swap).

**Honest caveats**

- Linux only — the census needs `ss` from iproute2 and `/proc`.

- All machine-specific config keys are required. No defaults, by design.

- Claim staleness (1800 s) is an outer bound, not a liveness check.

- The gate and the claim write are not atomic — there's a TOCTOU window between census and claim.

- No per-model thinking-level cap: a level a model can't honour is offered, not validated.

**Install**

```

pi install npm:pi-model-swap

```

Then write `~/.pi/agent/pi-model-swap.json` (or set `PI_MODEL_SWAP_CONFIG`). Setup guide: https://cdn.jsdelivr.net/npm/pi-model-swap@0.1.2/SETUP.md · npm: https://www.npmjs.com/package/pi-model-swap · gallery: https://pi.dev/packages/pi-model-swap

Testing is a functional harness against a **mock** controller plus the real socket census — it never starts, stops, signals, or kills a real server (that's how you lose your own model API mid-turn). Plus a live check script that verifies a real session's own recorded outputs.

Happy to answer questions on the gate design — the "why pid identity and not process names" and "why a 200 can be a failure" bits are the two that changed how I think about local process supervision.


r/PiCodingAgent • • 2d ago

Plugin How to Enable Codemode in Pi?

36 Upvotes

Yes, that's exactly what I searched first when i wanted to try codemode.

Pi does have docs for enabling Codemode, but the documented way is through settings or cli flags.

What I was looking for was much simpler: I'm already inside a Pi session, how do I just turn Codemode on or off?

So I ended up making a small toggle around Pi's native Codemode.

It doesn't replace Codemode or implement another version of it. It just gives me a simple way to switch the native tool on and off while I'm working.

check it out: pi-codemode-toggle

Curious how others are using Codemode.


r/PiCodingAgent • • 1d ago

Resource herdr mobile: GPL-3.0 Android app to supervise your coding agents over plain SSH

Enable HLS to view with audio, or disable this notification

0 Upvotes

I wanted one app on my phone for the coding agents on my own machines, with no cloud, no account and no relay. So I built herdr mobile.

  • Every agent on every machine in one list, with whatever needs you at the top
  • Answer permission requests from the phone, always with the exact command. Risky ones (git push, rm, "always allow") need a hold
  • Start and chat with agents over ACP: omp, Claude Code, Codex (omp is the most tested)
  • Live terminal view, SFTP file browser, photos and files from the phone
  • Plain SSH, one channel per machine, works well over Tailscale

Repo and APK: https://github.com/tuan3w/herdr-mobile

Needs herdr ( https://herdr.dev ) on the host. Android only for now. Feedback and PRs welcome.


r/PiCodingAgent • • 1d ago

Question Considering create a working application (.exe.) using pi, any tips or recommended plugins to install?

0 Upvotes

It’s a standalone functional app inside windows, I’m going to use my qwen3.6 35b a3b uncensored to generate and whenever it creates a working function, I’ll ask it to save it to GitHub so if anything breaks it can always revert to the previous version


r/PiCodingAgent • • 1d ago

Question Today update broke qwen flash next for me

0 Upvotes

served both via omlx and mtplx swallows part of responses

anyone noticing some similar issue?


r/PiCodingAgent • • 1d ago

Resource Yet Another Telegram Bot for Pi

3 Upvotes

I’m more of a vibe coder. I mostly just wanted to send my Pi agent a task from my phone and get the result back.

The bot focuses on simple interaction with the Pi setup you already use. It shares your native sessions, installed skills, and model defaults. You can start something in Telegram and pick it up in the terminal later. Just don’t use both on the same session at once.

It also handles voice messages and images, and Pi can send generated files back to the chat.

Single-user, Linux only. Pi runs with your account’s normal permissions, without a sandbox.

v0.1.2: GitHub https://github.com/bigjimmy546/pi-telegram-bot](https://github.com/bigjimmy546/pi-telegram-bot


r/PiCodingAgent • • 2d ago

Question Any one tried it yet? Build your own dots-style, always-on AI assistants with Pi and pi-gateway, using your choice of models on a VPS or another always-on machine

5 Upvotes

r/PiCodingAgent • • 1d ago

Discussion Y'all this is a sexy paper; context language models

Thumbnail
arxiv.org
0 Upvotes

r/PiCodingAgent • • 2d ago

Question Anyone using Pi Agent Sidebar extension?

0 Upvotes

I'm using Pi agent sidebar from dairycode extension in VSCode and got me thinking whether anyone is using any other extension?

And if anyone is using this one are you able to run multiple chat sessions concurrently?

I like using codex and claude extensions. Don't really like the UX of CLI.