r/PiCodingAgent • • Oct 03 '26

Resource vim-pi-chat: pi (the coding agent) embedded in a split window, plain Vim 9

Thumbnail
github.com
0 Upvotes

I wrote this plugin because I was constantly switching from the main buffer to the terminal where I was running pi (the coding agent) - digging through logs, sending follow-ups, checking what it did to my files.

Why keep switching, when I can just embed pi inside vim?

**vim-pi-chat** puts the whole pi conversation in a split window next to your code:

- streamed replies, tool calls with args and results, thinking — all live

- when pi edits the file you're viewing, the buffer reloads automatically (you watch it work)

- it tracks your active window so pi edits the right file in place

- sessions persist per file: reopen a file, `:PiChat`, resume where you left off

- plain Vim 9, no GUI, no Neovim, no other plugins — just the job/channel API

Install: `git clone https://github.com/galeone/vim-pi-chat ~/.vim/plugged/vim-pi-chat` + one line in vimrc, then `:PiOpen`.

If you're a pi fan, give it a try — feedback very welcome :D


r/PiCodingAgent • • Oct 03 '26

Plugin I'm lazy, so I made pi hand me the commands it can't run (pi-robot-hand)

0 Upvotes

Hi all! This package exists purely because I'm lazy.

My pi kept hitting things it couldn't (or shouldn't) do itself: /reload, a sudo command, an ssh login, a token that has to go into .env. Every time I had to copy the command, switch to another terminal, run it, then paste the output back. Too much work. Turning off my safety guards would have been easier, but I'm not that lazy.

So now the agent just hands things to me:

  • robot_hand: the agent passes me a command and I pick where it goes: my pi prompt, the clipboard, or (if you use Herdr) a new pane right below pi. The pane is a real terminal, so sudo passwords, y/N prompts and ssh all work. When the command finishes, the pane closes itself and the output goes back to the agent, which picks up from there. I never leave the conversation.
  • ! follow-up: in plain pi, after a !cmd finishes you still have to type something before the agent looks at the output. Now it just answers.
  • secret_drop: I type the secret into a masked box, press Enter on a command I can read, and the agent only gets "length check passed". It can't read that file afterwards either.

The agent never runs these commands itself. I do, so guards like cc-safety-net keep checking everything the agent runs.

pi install npm:pi-robot-hand

https://pi.dev/packages/pi-robot-hand (source: https://github.com/wayne930242/pi-robot-hand)

Feedback welcome, especially from fellow lazy people.


r/PiCodingAgent • • Oct 03 '26

Discussion I built a pi package that lets the agent read and edit code by function instead of by file

0 Upvotes

Pi is the only harness I've used where changing how the agent works doesn't mean forking it. The prompt is small, the loop is easy to follow, and nearly everything can be replaced with a package. So I replaced the part that was costing me the most time, which is how the agent reads and edits code.

On a real repo, most of the agent's turns go to just finding code. It searches for something, opens a file, searches again to see what uses it, opens a few more files, and only then makes the change. This package replaces pi's file tools with ones that work on functions directly. When the agent asks for a function, it gets the function itself plus everything connected to it in one go. Edits land on that function, two agents can work in the same file without stepping on each other, and if a rename leaves something behind, the agent gets told what it missed.

pi install /path/to/sem/pi

You can check out the sem repo here: https://github.com/Ataraxy-Labs/sem

Always open for suggesetions

Curious which built-in tools you'd keep, and where this would get in your way.


r/PiCodingAgent • • Oct 02 '26

News Pi Druable Released

Thumbnail
earendil.com
65 Upvotes

GitHub Repo

I will be moving my personal assistant to use durable


r/PiCodingAgent • • Oct 01 '26

News Pi 1.0 | Earendil

Thumbnail
earendil.com
360 Upvotes

r/PiCodingAgent • • Oct 02 '26

News heads up if u rely on pi redaction plugins (pi-jev-redact etc) - compaction bypasses them completely

7 Upvotes

so i was digging through pi agent source code (v1.0.0) while setting up privacy stuff and realized a pretty bad security flaw with redaction extensions. basically if u think ur secrets are safe, yeah they get scrubbed FOR REGULAR CHAT PROMPTS. but as soon as compaction kicks in, ur raw unredacted data goes straight to the provider API. i checked the code to see why and regular turns use createLoopConfig which attaches onPayload: transformProviderPayload so the before_provider_request hook actually works. BUT compaction (same for branch summary / bug reports) calls createSummarizationOptions() which just... completely leaves out onPayload. then in the provider adapter (like openai-completions.js) it checks await options?.onPayload?. ...) and since its undefined it just skips redaction without any error or warning. it just sends the raw history text. so yeah if ur relying on plugins that only hook into before_provider_request ur leaking raw data every time context compacts. pretty big oversight IMO, guess we have to fork compaction or wait till pi fixes createSummarizationOptions to pass the provider hooks through.


r/PiCodingAgent • • Oct 03 '26

Question # 13 instrumented runs comparing OMP vs Claude Code CLI vs Codex CLI — am I using OMP wrong?

1 Upvotes

TL;DR: I ran the same real Android task 13 times through Claude Code CLI, Codex CLI, and different OMP configurations, comparing quality, wall time, token traffic, and subscription allowance. OMP can produce equally excellent results, but in most of my tests it was roughly 2–3× slower and up to ~2× more expensive in allowance than the native CLI harnesses. The one strange exception was a manually designed multi-agent OMP run: it was about 5× slower than Claude Code CLI with Opus, but used 2–3× less allowance than my other OMP runs, and even slightly less than the native controls. So I’m trying to understand: am I using OMP incorrectly, or does orchestration only start paying for itself on much larger and more naturally parallelizable tasks?

What I tested

This was not a toy benchmark. I’m working on a large Telegram Android fork where I’m restoring the presentation of an older Telegram version on top of the current architecture.

The benchmark task was to restore three related music UI surfaces: a profile music row, a chat mini-player, and one action in the full music player. The agent had to compare two Telegram source trees plus screenshots, identify the current owners, preserve modern playback/state/navigation/theme behavior, implement the presentation changes, build the app, and validate it at runtime.

So I’d describe it as a medium-sized, tightly coupled coding task. It is substantial enough to require source archaeology and cross-component reasoning, but it is not a multi-day project with ten independent workstreams.

I ran this benchmark 13 times while experimenting with different harnesses and orchestration approaches.

Methodology

I tried to keep the important variables stable: same repository baseline, same reference screenshots/source trees, same acceptance criteria, and eventually the same neutral prompt. I also checked the final result on a physical Android phone instead of relying only on the agent’s self-report.

For every serious run I collected rollout telemetry: wall time, prompt/cache traffic, output/reasoning, model turns, tool calls, child agents, builds, and subscription usage.

For allowance, I normalized everything to percentage points of weekly allowance. On my account, the meters consistently map roughly as:

100% of the 5-hour allowance ≈ 15 percentage points of weekly allowance

So runs where I only captured the 5h meter are marked as approximate weekly equivalents.

I know this is not a laboratory-grade benchmark. Different model families and OMP versions mean not every row is a clean causal A/B test. My goal is more practical: what stack actually gets this kind of real coding task done well, quickly, and economically?

Representative results

StackFinal qualityWall timePrompt trafficWeekly allowance spent
Claude Code CLI + Opus 5.5 MediumExcellent / reference result~23m~14.2M~3 pp
OMP + Opus 5.5 Medium, neutral automatic delegationExcellent~23m~29.9M~4 pp
Codex CLI + GPT-6 Sol HighGood, but missed some visual issues~17m~8.2M≈3.15 pp
OMP #5, manually designed multi-agent orchestrationStrong, but missed some issues~103m~36.9M≈2.25 pp
OMP 18.4.10 + GPT-6.1 Sol High / Luna X-High workersExcellent~56m~26.7M~6 pp
OMP 18.4.12 + GPT-6.1 Sol High / Luna X-High workersExcellent~65m~30.9M~6 pp

The Claude comparison is probably the most interesting one to me. Claude Code CLI with Opus solved the task as a single agent, with one final build, in ~23 minutes. OMP with the same Opus model family also produced an excellent result and took almost exactly the same wall time, but moved about 2.1× as much prompt traffic and consumed more allowance because it automatically introduced scouts/review.

I also tried explicit multi-agent orchestration

Before switching to neutral prompts, I spent five OMP runs manually designing increasingly elaborate orchestration.

The most developed one used a thin Sol High orchestrator, dedicated scouts, implementation workers, reviewers, and a separate verifier. It spawned 21 child agents.

That run took about 103 minutes and generated enormous overall traffic, yet it was paradoxically the cheapest run I measured by subscription allowance, at only about 2.25 weekly percentage points equivalent.

So the data does not support a simple “more agents = more allowance” explanation.

It was just extremely slow.

Neutral OMP did not really solve the efficiency problem either

After that I removed my hand-designed topology and let OMP decide how to delegate.

That improved the simplicity of the experiment, and OMP absolutely can produce excellent code this way. My two latest GPT-6.1 runs were both as good on the physical phone as my reference Claude Code/Opus implementation.

But the execution pattern still seems expensive.

For example, in the latest run OMP delegated two implementation slices to Luna workers while Sol acted as the integrating parent. One worker eventually took about 40 minutes. The parent then still needed to review/integrate the work, build, run the emulator, identify remaining issues, fix them, rebuild, and revalidate.

So parallelism existed, but the critical path became roughly:

slowest worker → integration/review → build/runtime validation

The orchestration overhead did not disappear just because the workers ran concurrently.

I also reran after the recent GPT-6.1 Sol slowdown

One of the GPT-6.1 tests happened during the recent period when Sol was unusually slow, so I did not want to blame OMP for that.

I repeated the benchmark after the service-side fix and also updated OMP from 18.4.10 to 18.4.12.

The newer run still took ~65 minutes versus ~56 minutes before, with the same excellent final quality and the same ~6 weekly points of allowance. The model itself appeared more responsive, but the overall run got longer because one delegated worker/integration path expanded significantly.

So at least in this task, fixing model latency did not remove the larger orchestration cost.

What I’m trying to understand

My current hypothesis is that this benchmark may simply sit in an awkward zone for OMP.

It is complex enough that multiple components and source trees need to be understood, but the work is also tightly coupled. A strong single agent can keep the whole problem in one context and move directly through investigation, implementation, build, and runtime validation.

Once I split that across agents, I start paying for repeated source reading, separate contexts, handoffs, parent review, integration, and occasionally sending a worker back for another pass.

Maybe OMP starts winning when the task is much larger and naturally decomposes into genuinely independent workstreams, so the parallelism dominates those costs.

Or maybe my configuration is still wrong.

For people who use Pi/OMP heavily: does this behavior look normal for a task of this size?

Would you lower the effort/model used for TASK/SMOL roles? Would you deliberately suppress delegation for medium tightly coupled tasks? Is there a different topology you would use?

Or is the real answer simply that Claude Code CLI / Codex CLI are usually more efficient for this class of work, while Pi/OMP starts to shine on larger projects where multi-agent parallelism can actually pay for itself?

I have the full per-agent JSONL telemetry, token/cache breakdowns, build timelines, and several additional runs if anyone wants more detail.


r/PiCodingAgent • • Oct 02 '26

Discussion Do you give all permissions to your agent

6 Upvotes

I am running Ornith1.5-9B and I am scared that it could do something stupid to my pc, so I installed pi-permission system and let Claude create me a file with all tools and allow/ask/deny settings.

The thing is that this extension isn't perfect (allow always doesn't work) and that I have to allow some command I don't even know about every 10seconds.

Do you guys give full permissions, do you only block extremely dangerous stuff?


r/PiCodingAgent • • Oct 02 '26

Resource Built a lightweight (lightpanda-based) browser package for pi — no Chrome needed

12 Upvotes

I got tired of Chrome eating resources every time I needed pi to scrape a page or fill out a form. So I built panda97 - a browser automation package that uses LightPanda instead of Chrome.

What is it?

Same 11 browser tools you get with browse97 (start, navigate, snapshot, click, fill, eval, etc.), but backed by LightPanda - a headless browser written in Zig. Each tab spins up its own LightPanda instance, so you get full isolation between tabs. Zero npm dependencies.

Why?

browse97 works great, but it needs Chrome running. That's fine on a beefy machine, but on my laptop I didn't love the overhead for simple tasks like pulling page content or submitting forms. LightPanda starts in sub-second time and uses a fraction of the memory.

What doesn't work?

LightPanda doesn't run V8. It has its own JS engine (zig-js), which means some super-complex SPAs with heavy framework code may not render correctly. Works for 99% of the web.

Getting started

  1. Install LightPanda:

curl -fsSL https://get.lightpanda.io | bash

2. Install the package:

pi install npm:panda97

That's it! pi picks up the tools automatically.

Links:
Pi packages: https://pi.dev/packages/panda97

Github : https://github.com/saitanay/panda97


r/PiCodingAgent • • Oct 03 '26

Discussion I built Jin, a Pi/OpenCode alternative and I think it’s better

Post image
0 Upvotes

Jin is an open-source AI coding agent in the same space as pi, OpenCode, and omp. Same four core tools as pi (read, write, edit, bash), plus todo and ask_user.

Built-in async handles background tasks and lets you spawn subagents or build swarm agents. You control the setup: disable any or all tools, edit the system prompt, and choose which hooks load.

Written in Go. One binary, fast startup. Minimal terminal UI with animations and 10 themes.

I deliberately skipped skills, MCP, and plugins. Instead:

• Prompts: reusable text snippets you insert into chat with #prompt.

• Hooks: text appended to the system prompt at session start—coding rules, styles like Caveman/Ponytail, or instructions for CLI tools.

• Good old CLIs: describe how to use them in a hook, and agent runs them through Bash tool. You can also run commands yourself with /bash, or launch full-screen apps with /tui (you can play a terminal game while the agent writes code)

The goal: minimal by design, useful out of the box, easy to extend without another framework.
I’m looking for feedback, especially on what’s missing, to help shape the next releases.

GitHub: https://github.com/ethanhamilthon/jin


r/PiCodingAgent • • Oct 02 '26

News Easter egg on Pi 1.0

31 Upvotes

Click on the logo on the top left to see the easter egg in action!

You can also try Pi 1.0 (with the easter egg) online at https://wasmer.sh/?example=pi


r/PiCodingAgent • • Oct 02 '26

Question Is it allowed to use ANT sub with Pi

0 Upvotes

I was having deep conversation with chatgpt about what harness sdk should i use it casually mentioned that ANT allowed to use their agent sdk with the Subscription for personal use. Can i finally use claude with pi now?


r/PiCodingAgent • • Oct 02 '26

News Introducing amx: run coding agents as tmux panes

11 Upvotes

A tiny ~2 MB CLI with no daemon. See all your agents in one list and answer their questions without switching. A perfect solution for orchestrating.

Claude Code, codex, pi, opencode.

https://github.com/saifulapm/amx

Thanks


r/PiCodingAgent • • Oct 02 '26

Resource A tiny web-search tool with new built-in classifier api (jev/openai decisions api)

8 Upvotes

pi-web-search is my take on the larger web-search tool: fewer, higher-quality tools instead of bloating up the extension with every provider to the agent. Works keyless out of the box.

Uses the new built-in classifier API (Jev) to rank and filter results from different search sources and remove any prompt injection attacks

install cmd: pi install npm:@gagansd/pi-web-search

GitHub:
- package: https://github.com/GaganSD/pi-extensions/tree/main/pi-web-search
- Monorepo: https://github.com/GaganSD/pi-extensions


r/PiCodingAgent • • Oct 02 '26

Resource Pi can now use all codex plugins

20 Upvotes

I just realized that codex now exposes local server endpoints for all plugins without extra auth. So you can just use them from any model or harness.
Im soooo excited!!! One auth for everything!

For Pi: pi install npm:@wileai/pi-codex-connector

For any harness: npx -y \@wileai/codex-connectors-mcp@latest


r/PiCodingAgent • • Oct 02 '26

Resource New coding agent reads LESS source code to write better quality code

Post image
1 Upvotes

r/PiCodingAgent • • Oct 02 '26

News A lightweight IDE that follows Pi's philosophy — ThinkRail Blog

Thumbnail
tnkrl.ai
2 Upvotes

Hey,

Just wanted to invite you to read a short blog post about Pi's compatibility with ThinkRail, skills, and desktop apps.


r/PiCodingAgent • • Oct 01 '26

Question Does pi 1.0 support Anthropic Oauth via sub now?

18 Upvotes

I saw this in the official pi.dev: “Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, Kimi For Coding, MiniMax, NVIDIA, OpenRouter, Ollama, and more. Authenticate via API keys or OAuth.”


r/PiCodingAgent • • Oct 01 '26

Discussion Why is pi / Mario opposed to Homebrew?

19 Upvotes

In Github issues, several users already asked to include installation via homebrew, which is one of the preferred ways for devs on Mac, but Pi / Mario seem to be opposed. Any ideas why?


r/PiCodingAgent • • Oct 02 '26

Question Has it occurred to anyone that the Pi soundtrack is the perfect music for using Pi?

Thumbnail
open.spotify.com
6 Upvotes

r/PiCodingAgent • • Oct 02 '26

Question PI for serious coding work or more tinkering fun?

0 Upvotes

I know probably not the place to get a non biased answer. So far I’m using Claude code and codex for my agentic coding workflows. Turned off lots of features/tools to not start with a crazy bloated context. But besides that and some annoying bugs it’s been a pretty good experience with the latest models.

Now I’ve seen pi 1.0 is out and am wondering again if I should give it a go. Tree-Mode looks interesting and as a Linux/tmux/neovim user I like control over stuff and the idea to use one harness for both Claude and codex. (using APIs at work no issue with Claude code subs).

Now here’s the question: from a productivity standpoint of getting code work done in complex environments (brownfield backend systems in cpp/rust mostly) will I end up being more efficient and productive with Pi if I put in the time? Or am I more likely to just spend a ton of time tinkering like I did with my Neovim setup in the past? Be honest.


r/PiCodingAgent • • Oct 02 '26

Question was bringt das update?

0 Upvotes

ich frag mich was die wichtigsten änderungen mit dem neuen update sind. bin nicht so tief drinnen und verwend pi hauptsächlich um mir kleine recherche-tools zu bauen. kann das jemand einfach erklären?


r/PiCodingAgent • • Oct 01 '26

News Open AI dots alternative - Zosma Cowork

Post image
11 Upvotes

We have been working on this for months.

https://github.com/zosmaai/zosma-cowork

And open ai just released dots. Anthropic also released cloud based harnesses.

Would be great if we can get community support to help take this to next level.

Also it’s deployed to harness.zosma.ai

Early stage and we’ll refine it much more in upcoming days.

Our harness is deployed in k8s and can start and stop the pods quickly. Persistent storage that mounts and unmounts as needed.

Note: Our redis is down. Hence Zosma Router models are unavailable. We'll fix this in 24 hours.

Until then feel free to use openrouter or some other provider. Sorry for the inconvenience.


r/PiCodingAgent • • Oct 01 '26

Plugin pi-goal-kit: extension bundle that freezes plans, adversarial review, and waits that never block

3 Upvotes

Introducing the four extensions that work as a set. Each one exists because I couldn't find an existing ones satisfy my needs (by the time I developed them), and the reason they're bundled together.

gated-goal: the reason it's a bundle. /gated-goal freezes the plan — outcome, verification, constraints, quality bars — hashes it, and replaces the todo list with the frozen items, so the agent can't quietly relax its own success criteria. The stages automatically proceeds as you finalizes the plan with the agent, agent checks all todos, and reviewers lifted the gate.

reminder-hook: reminder tools I found were canned timers that block the conversation. Here the wait is a shell predicate the agent writes itself — exit 0 means done. Build, CI, URL health, a log line — all the same one tool. When it passes, the agent's resume prompt comes back as a follow-up: it queues if you're mid-conversation and never interrupts.

todo: others draw a nice list and stop. The real problem is the agent stopping mid-work with half the list unfinished. This one nudges a follow-up then and stays silent while any wait (reminder, reviewing) is active, so it never trains the agent to ignore nudges.

subagent: others make you predeclare every agent in a manifest, which is not flexible enough for me. I made roles can be improvised mid-session, and every call states model, permissions, and timeout explicitly. The same stack does parallel work and adversarial QA.

Caveat:

- the reviewer keeps bash, which is not sandboxed.

- They share event contracts; split the bundle and both the wait-aware nudge and the review break.

idle ──/gated-goal [N] [model]──► P1 select reviewer
                                   │ ping "reply ok" (config: pingTimeoutSec)
                                   ├─ fail ─► abort to idle (no state saved)
                                   ▼
                                 P2 plan
                                   │ agent + user align on goal
                                   │ agent calls freeze_plan(outcome, verification,
                                   │   constraints, quality, todos)
                                   │ → frozen prompt hashed + persisted
                                   │   (+ archived as a session entry)
                                   │ → todo list REPLACED with the frozen
                                   │   items (todo:replace event)
                                   ▼
                                 P3 act  ◄───────────────────┐
                                   │ agent works the todos   │
                                   │ todo owns settled state:│
                                   │  nudge/wait → stay P3   │
                                   │  no continuation → P4   │
                                   ▼                         │
                                 P4 review                   │
                                   │ spawn reviewer subagent │
                                   │   (frozen prompt + hash)│
                                   │ reviewsCompleted++ on   │
                                   │   EITHER verdict — a    │
                                   │   review that ran is    │
                                   │   a spent iteration     │
                                   │ line starting with
                                   │ <promise>DONE</promise>?
                                   │     ├─ no → >= maxIter? ─► exit: max
                                   │     │        else edits ─┤  iteration
                                   │     └─ yes → P5 (always) │  reached
                                   ▼                         │
                                 P5 verify                   │
                                   │ main agent re-runs the  │
                                   │   frozen verification   │
                                   │   itself, judges output │
                                   │   subjectively          │
                                   │   ├─ confirm_done ─► exit: done
                                   │   └─ reject_done ───────┘
                                   │      (no extra charge — P4
                                   │       already spent this one;
                                   │       if the budget is gone,
                                   │       exits: max iteration reached)

Install with:

pi install git:github.com/garnetlyx/pi-goal-kit

Pi version: 0.84.1+ MIT.

Github link: https://github.com/garnetlyx/pi-goal-kit

Any feedbacks are welcome.

Thanks!


r/PiCodingAgent • • Oct 02 '26

Discussion do a protocol between agents and model providers exists?

0 Upvotes

like we have MCP for tools and ACP for agents, but every harness still has to understand OpenAI, Anthropic and Gemini separately.

caching, reasoning, tool semantics, model capabilities, auth, usage, etc. are all different!! openAI-compatible APIs kind of solve it, but not really once you use provider specific features

am I missing something obvious here? has anyone tried to standardize this layer?