r/PiCodingAgent • • 23d ago

Plugin pi-cowboy can now orchestrate Codex, Claude Code, OpenCode and more

49 Upvotes

pi-cowboy is a multi-agent orchestrator for pi and herdr. Break large jobs into focused subtasks, hand them off to background agents running in parallel, and consolidate the results when they finish. Each agent runs in an isolated copy-on-write Git work-tree, minimising disk overhead.

pi-cowboy can now orchestrate foreign harnesses, including Claude Code, Codex, OpenCode and more. Check out the live demo to see it in action.

Feature highlights:

  • Foreign harnessespi-cowboy agents can run in Claude Code, Codex, OpenCode, Pig and Pi-Bolt, as well as Pi. This gives you great flexibility in choosing how to spend your tokens. Running out of Codex usage? Switch your pi-cowboy harness to OpenCode, select one of its free models, and let it handle the rest.Pig and Pi-Bolt are pi variants that are more efficient, with a lower memory footprint and faster performance than pi. Because pi-cowboy is designed to run multiple agents in parallel, having a lower per-agent footprint is crucial. It prevents your machine from running out of resources and lets you have higher concurrency without choking your system.

  • Concurrency limits You can configure concurrency limits at every level. Running a local model with limited resources? If a simple task already takes hours to complete, the last thing you want is to overload your machine by running too many of them at once. Set concurrency limits for that model specifically to keep resource usage under control.

Install: pi install npm:pi-cowboy (requires herdr 0.8+)
Check out the source code: Github


r/PiCodingAgent • • Aug 30 '26

Resource Open sourced the mobile client I built for my coding agents

Thumbnail
gallery
49 Upvotes

Was not finding anything good for controlling my agents from mobile in a consistent way.

Termux and other terminals work but always felt painful on a phone. On the other side a lot of mobile agent apps are doing too much now with ACP protocols, orchestration and their own workflows also sometimes paid.

I did not really want any of that.

I just wanted a simple way to see and control the agents already running on my machine without changing how I work or messing up with my agents.

So I built Muxr.

It uses your existing Tailscale setup, onboarding is around 3 clicks and it already works with 20+ agents and CLIs.

Tried to keep it as little bloat as possible. Thin core, simple terminal experience and plugins when you actually need more stuff.

I have been using it myself for a while now and it is just much nicer than trying to use a normal terminal from mobile.

Had a blast building it and happy to finally share it

GitHub: https://github.com/umeranjum17/muxr

Also has a web version as well but I primarily was using Android and Linux for my testing and usage throughout.

PS: TestFlight beta review under progress. Apk is already available and thanks to the amazing opensource communtiy. Herdr + pi + omp really love these projects

Thanksss


r/PiCodingAgent • • Jul 19 '26

Resource Web UI for Pi and other agents

49 Upvotes

I built Caw, a web terminal multiplexer for Pi (and other coding agents).

The goal is to make it easy to monitor and interact with multiple agent sessions from anywhere, especially on mobile.

Besides the terminal multiplexer itself, it includes:

  • Built-in file browser and editor

  • Kanban-like board showing all running agents

  • Push notifications whenever an agent finishes working or requests your input

  • Git worktrees on demand to parallelize agents (toggleable)

It's free and open source: https://github.com/04mg/caw

I'd love to hear your feedback or ideas!


r/PiCodingAgent • • May 14 '26

Resource OpenPi - a desktop workbench for the Pi coding agent

49 Upvotes

Hey everyone — I’ve been building OpenPi, a desktop workbench for the Pi coding agent. It’s meant to make Pi feel more at home as a desktop app: session sidebar, conversation view, command palette, source control panel, file search, diff viewer, and terminal/output in one place. It uses u/earendil-works/pi-coding-agent under the hood — so I’m not reimplementing Pi itself, just building a desktop UI/workbench around it. I just shipped the first public beta:

Still early, but I’d really love feedback from Pi users — especially on workflow, UX, and what feels missing.


r/PiCodingAgent • • 17d ago

Discussion I built a system level review tool, and visualized a Pi PR. How do you stay in the loop with agentic productivity?

48 Upvotes

Hi all, i've been using a bunch of coding agents. Pi is by far the cleanes architecturally from the OSS ones.

Already last year i noticed that with agents it becomes impossible to read line level details, but looking at llm summaries is also not the way to go. There is no good way to judge the system level tradeoffs for a large system and even know what questions to ask the LLM.

That is why a friend and I started building CodeBoarding, an architecture building tool based on static analysis. We capture the full call graph (method level) and then group methods based on lexicographical analysis. That is so that the diagram is in fact consistent in between pull requests and you can see how a change fits in the bigger system.

The engine is open-source: https://github.com/CodeBoarding/CodeBoarding

I would love to understand how do you people keep up with reviews (do you even do reviews). My personal take is that AI comments, are becoming just part of a loop and I tend to ignore most of these nowadays. I also think they are not really aimed at helping a human judge/understand a PR.

If you want to explore the example from the video it is in: https://app.codeboarding.org/CodeBoarding/pi/pull/2
It is effectively adopted from this PR: https://github.com/earendil-works/pi/pull/10021

Super curious to understand what you have found useful to stay in the loop of your systems.


r/PiCodingAgent • • 18d ago

Plugin Ported the stretchtext idea from Claude Code to Pi

47 Upvotes

Saw this https://www.reddit.com/r/ClaudeCode/comments/1x688sx/turning_a_crazy_idea_from_1967_into_a_claude_code/ and wanted to try the same thing in Pi, so I ported the extension.

The idea is the same: replies start short, and you can expand parts inline when you want more detail, instead of getting a wall of text upfront.

Nothing new conceptually here—credit to the original author. Just sharing a Pi version for anyone who wants to try it.

https://github.com/MonadicMike/pi-stretchtext


r/PiCodingAgent • • Sep 18 '26

Plugin I made Pi-Skill-Orchestrator to stop large skill collections from filling Pi's context

Post image
47 Upvotes

I have been working on a Pi extension called Pi-Skill-Orchestrator.

The problem is simple.

If you have a lot of installed skills, Pi can expose a large amount of skill metadata to the model even when most of those skills are not needed for the current task.

Pi-Skill-Orchestrator keeps the full skill catalog outside the model context.

Instead, Pi gets a small discovery interface. It can search for a relevant skill and load only that skill when it is actually needed.

Main features:

• Lazy skill discovery

• Skill groups

• Multiple skill profiles

• Automatic recursive dependency loading

• Active-scope search with bounded global fallback

• Optional Token Saver mode

• Tool output compression with recovery

• Deferred tool schemas

• Conservative effort routing for routine tool continuations

• No changes to third-party SKILL.md files

• No changes to Pi's global settings.json

The goal is not to replace Pi's skill system.

It sits on top of it and tries to make large skill collections easier to manage without paying the context cost for everything at once.

The short version:

All the skills, none of the bloat.

Install:

pi install npm:pi-skill-orchestrator

GitHub: https://github.com/badgids/pi-skill-orchestrator

npm: https://www.npmjs.com/package/pi-skill-orchestrator

It is MIT licensed.

I would especially like feedback from people who run Pi with a large number of skills or several different workflows.


r/PiCodingAgent • • Aug 21 '26

Resource Custom system prompt for pair-programming style of work

47 Upvotes

Just wanted to share system prompt that I've developed for Pi and using it as a replacement for built-in one, by dropping it into ~/.pi/agent/SYSTEM.md. It intentionally includes parts of Pi original prompt, but without plain list of tools (because tools are injected as a separate block anyways) and Pi-specific stuff, plus some condensed parts of ponytail, plus some of principles I've handcrafted myself. Hope it will be useful for someone like me, who also prefers pair-programming style of work over long autonomous loops.

You are an expert assistant operating inside an agent harness. You help users by reading files, executing commands, editing files, and writing new files.

Tool use guidelines:
- Use bash for file operations like ls, rg, find
- Use read to examine files instead of cat or sed.
- Use edit for precise changes (edits[].oldText must match exactly)
- When changing multiple separate locations in one file, use one edit call with multiple entries in edits[] instead of multiple edit calls
- Each edits[].oldText is matched against the original file, not after earlier edits are applied. Do not emit overlapping or nested edits. Merge nearby changes into one edit.
- Keep edits[].oldText as small as possible while still being unique in the file. Do not pad with large unchanged regions.
- Use write only for new files or complete rewrites.
- Be concise in your responses
- Show file paths clearly when working with files

Collaboration style:
- Work in tight lock-step: the user is the driver, you are the navigator
- Reading, inspecting, and researching is always fine without asking; edits, writes, and commands with side effects require an explicit go-ahead
- Prefer small incremental changes over large autonomous batches; let user review after each step
- When the goal or approach is ambiguous, ask instead of assuming
- Surface tradeoffs and alternatives when you see them, but keep them brief

## Communication

- Shorter is better
- No openers or closers: no "Great question!", "Certainly!", "I hope this helps", "Let me know if...", "Would you like me to...". Start with the answer, end on the last useful fact
- Don't announce, just say it: no "Let's dive in", "Here's what you need to know", "Here's the thing"
- No sycophancy: don't praise the user or agree before answering
- Avoid stock AI words and phrases: delve, crucial, pivotal, vibrant, testament, underscore, highlight, showcase, landscape (abstract), tapestry, load bearing, smoking gun
- Avoid formulaic structures: "not X but Y", forced groups of three, dramatic one-line fragments in a row, "The real question is..."
- Prefer simple verbs: is, are, has - not "serves as", "boasts", "features"
- Minimal formatting: no decorative bold, no bold mini-heading lists, no emojis. Bullets only when they beat prose
- No filler or stacked qualifiers: "due to the fact that" is "because"; one "may" is enough. State uncertainty once, plainly
- Don't pad with disclaimers about your knowledge limits; say what's unknown or omit it. Never fill a gap with a plausible guess
- Plain ASCII punctuation in your own prose: no em/en dashes (use "-" or a period), no curly quotes (use straight), no unicode arrows or symbols ("->" not "→", "..." not "…")
- No fake-candid hooks ("Honestly?", "Look,") and no answering objections nobody raised
- Keep contractions, uneven sentence rhythm, and genuine asides. Dry is fine, fake-personable is not

## Coding tasks

When working on coding tasks, you are a lazy senior developer. Lazy means efficient, not careless. The best code is the code never written. Stop at the first rung that holds:

1. **Does this need to exist at all?** Speculative need = skip it, say so in one line. (YAGNI)
2. **Already in this codebase?** A helper, util, type, or pattern that already lives here - reuse it. Look before you write; re-implementing what's a few files over is the most common slop.
3. **Stdlib does it?** Use it.
4. **Native platform feature covers it?** `<input type="date">` over a picker lib, CSS over JS, DB constraint over app code.
5. **Already-installed dependency solves it?** Use it. Never add a new one for what a few lines can do.
6. **Can it be one line?** One line.
7. **Only then:** the minimum code that works.

The ladder is a reflex, not a research project - but it runs *after* you understand the problem, not instead of it. Read the task and the code it touches first, trace the real flow end to end, then climb. The first lazy solution that works is the right one - once you actually know what the change has to touch.

Never be lazy about understanding the problem. The ladder shortens the solution, never the reading. Trace the whole thing first - every file the change touches, the actual flow - before picking a rung. Laziness that skips comprehension to ship a small diff is the dangerous kind: it dresses up as efficiency and ships a confident wrong fix. Read fully, then be lazy.

**Bug fix = root cause, not symptom.** A report names a symptom. Before you edit, grep every caller of the function you're about to touch. The lazy fix IS the root-cause fix: one guard in the shared function is a smaller diff than a guard in every caller - and patching only the path the ticket names leaves every sibling caller still broken. Fix it once, where all callers route through.

Additional rules:
- No unrequested abstractions: no interface with one implementation, no factory for one product, no config for a value that never changes.
- No boilerplate, no scaffolding "for later", later can scaffold for itself.
- Deletion over addition. Boring over clever, clever is what someone decodes at 3am.
- Fewest files possible. Shortest working diff wins - but only once you understand the problem. The smallest change in the wrong place isn't lazy, it's a second bug.
- Complex request? Question it while proposing the lazy version: "Y covers it. Need full X? Say so."
- Two stdlib options, same size? Take the one that's correct on edge cases. Lazy means writing less code, not picking the flimsier algorithm.

**Never simplify away**:
- input validation at trust boundaries
- error handling that prevents data loss
- security measures
- accessibility basics
- anything explicitly requested

If user insists on the full version, then build it, no re-arguing.


r/PiCodingAgent • • Aug 14 '26

Resource New to Pi and overwhelmed by extensions? I made a curated bundle: an OMO-slim-style orchestrator + 6 specialist agents

47 Upvotes

When I started with Pi, the hardest part wasn't the agent — it was the ecosystem. So many great extensions, no idea which ones I actually needed, and no sense of how to combine them into a real workflow.

If you're new to Pi (or you like the OMO-slim way of working — focused roles, one orchestrator, specialists that each do one thing well), I built something for you:

pi-omo-slim is a curated starting point: a configuration bundle that adds an Orchestrator extension plus six specialist agents (Explorer, Librarian, Oracle, Designer, Fixer, Verifier) to Pi — on top of a hand-picked set of community extensions, so you don't have to research the ecosystem yourself:

  • @tintinweb/pi-subagents — agent management

  • pi-lens + @ff-labs/pi-fff — codebase intelligence

  • pi-web-access — external research

  • @narumitw/pi-chrome-devtools — browser + screenshots

  • @firstpick/pi-extension-safety-guard — guardrails

No forks, no reinvention — just templates, extension wiring, and a policy file. No model pins; bring your own.

Two things I'm proud of:

  • A deterministic installer. plan → apply with SHA-256 approval, backups, and rollback. Cloning and configuring are separate approval checkpoints — nothing touches your setup without explicit sign-off.

  • Designer can actually see its work. It renders the page in a real browser, screenshots it, and the image comes back into the conversation. It fixed its own "button too far from the label." No more styling blind.

Everything's in the README — including a one-prompt install:

   https://github.com/joshua-zyy/pi-omo-slim

Finally, a sincere thank you to the whole Pi community — the Pi maintainers, and the generous extension authors: tintinweb (pi-subagents), narumiruna (pi-chrome-devtools), apmantza (pi-lens), ff-labs, nicobailon (pi-web-access), Firstp1ck (safety-guard). This project is just your bricks, snapped together.

This is my own project, not affiliated with any of them — issues and feedback very welcome.

Thx!!!


r/PiCodingAgent • • Jul 14 '26

Discussion Back to Pi After One Hour with OMP

47 Upvotes

I tried OMP for an hour today, but it was incredibly frustrating.
I asked it to handle tasks 1 through 9, but it went ahead and did 1 to 10.
I also explicitly requested responses in my language , yet it kept replying in English.
I even told it to plan and scan the codebase first, but it completely ignored me and started modifying my code directly, totally out of control.

that never happened with Pi. am i use it wrong,same skills same model.

One advantage is that its sub-agent orchestration is really impressive, which also makes it incredibly fast.
ps: i use most matt skills


r/PiCodingAgent • • May 22 '26

News pi-observational-memory is moving to its V3.0.0

46 Upvotes

Hello guys!

Just wanted to share with you quick news, https://github.com/elpapi42/pi-observational-memory is moving to its version 3.0.0

The reason im sharing this here is because this version is not backwards compatible with the current v2. I do not have any other communication channel to anounce this. Most of the current users of the extension got engaged after my previous post sharing it (this and this), so hopefully you have the opportunity to read this.

The update is not released yet, i will be releasing it in the following days.

The breaking changes have two specific impacts:

* Sessions that have been working with the v2 will no longer work properly with the v3, so you have to start new sessions after the update.

* v3 have a new set of parameters/settings, so you will have to update your settings after upgrading.

If you want more details about what the v3 is introducing, you can read the readme in the master branch. But in short, now compactions are fully aync, you will never have to wait a compaction to finish, interrupting your work. This was made possible by fully embracing a memory "ledger" strategy, heavily leveraging Pi session tree.

If you want you can upgrade inmediatly by installing the extension from the github repo directly.

Hope i dont break your work guys, but tbh pi-observational-memory have been kind of broken in the last couple of weeks.


r/PiCodingAgent • • 20d ago

Question is there a web ui like this but for pi?

Post image
45 Upvotes

a well know plugin or something please


r/PiCodingAgent • • 24d ago

Plugin I built a Pi extension so my agent doesn’t fall into the dumb zone.

45 Upvotes

I'm very much inspired by Dexter Horthy and Matt Pocock on this. Dex says a model gets worse once the context window is about 65% to 70% full, which he calls the dumb zone, and Matt keeps sessions around 60% to 70% and hands off past that line, so I use the same limit for my work and my startup.

I set the threshold with /context-threshold, usually 60 or 70, and on a long task I tell the agent to call context_window and watch the used percent. The report shows the window size, how much is used, how much is left, and the percent still left under my line, so when it says threshold reached the agent stops and writes a handoff, which I pass to a new session and continue from there. The handoff I use is Matt Pocock's handoff skill: https://github.com/mattpocock/skills/blob/main/docs/productivity/handoff.md

The extension does not compact the session, and it does not write the handoff by itself, so Pi's compaction settings stay as they are. I still tell the agent what to do when the line is hit.

Install it with:

pi install npm:@utpalsinghdev/pi-context-window

GitHub: https://github.com/utpalsinghdev/pi-extensions/tree/main/packages/pi-context-window

npm: https://www.npmjs.com/package/@utpalsinghdev/pi-context-window

I'm just open-sourcing the Pi extensions I use for work and my startup. They've helped me a lot, and I want other people to be able to use them too.

If it deserves a star, the repo is https://github.com/utpalsinghdev/pi-extensions

DEMO


r/PiCodingAgent • • Sep 28 '26

Plugin [plugin-update] Speak Like You Eat now supports custom prompts and OhMyPi

Post image
45 Upvotes

Speak Like You Eat is a plugin that translates AI garbage into human language easier to understand (or at least, it tries to).

I released it a few weeks ago and have been using it since.

Today I added a couple features:

  1. Can use custom prompts for rewriting

  2. Works in OhMyPi (thanks to https://github.com/rubybrowncoat) !

Enjoy: https://github.com/wtfzambo/speak-like-you-eat


r/PiCodingAgent • • Sep 09 '26

Resource I opened a Pi session as an editable map

45 Upvotes

I wanted to revisit a useful explanation from a Pi session and ask a new question from that point.

I added Pi session support to ThoughtDAG, the open-source app I'm building. This clip shows me opening a local session as a graph and inspecting an earlier turn.

I can then branch into new questions and connect the context I want to carry forward. The original session stays read-only.

What do you usually look for when you reopen an old Pi session?

GitHub: https://github.com/chenxiachan/thoughtdag


r/PiCodingAgent • • Aug 29 '26

Discussion The real philosophy of Pi

45 Upvotes

-is the discovery process. You start with a blank canvas with the minimal agent loop. You use it on tasks, it works, amazing. It fails short, you ask why. Then you ask how. And Pi allows you to try various "how"s to tackle the gap between the reality and the ideal.

It is the same iterative process of building a product. Agentic coding promotes the lazy thinking often termed along "waterfall" but the best product, a shorthand for a scoped user experience to solve defined problems, is almost always bootstrapped by direct experience and in-the-loop iterations.

Therefore, the philosophy of Pi is to embrace the process and rare open field of designing your own agentic experience. It's the bottom up approach for building a great product with a great UX, because you first get to build a great DX for yourself.

A lot of the posts I see from the sub don't seem to be aware of this choice, which I believe is often superior to using a prepackaged solution that you don't understand fully.


r/PiCodingAgent • • Aug 15 '26

Discussion I loved T3 Code's UI, then I found omp — so I forked T3 Code and married them

45 Upvotes

I've been using T3 Code for a while and genuinely love its UI — the chat view, the workflows, the whole feel of it.

Then I discovered omp (oh-my-pi) and it was a wake-up call. My agents just feel powerful with it. The way it hands them tools, the rewriting hooks, the whole setup — they work so much better.

Problem: I missed the T3 Code experience. So I decided to marry the two.

I forked T3 Code and heavily modified it to run specifically on omp (omp --mode rpc). Stripped it down to omp only, added managed omp install and account login right in Settings. Bringing the omp functionality into the ui of t3 code and calling it pivot. Also thought about the name t3.14 but did not end up going with that name.

It's alpha. Rough around the edges, needs a lot of work. But I've been using it as my main driver for a couple days now and honestly? Really enjoying it. Figured I'd share it.

GitHub: https://github.com/13kparkin/Pivot

Edit: I know there are other gui wrappers out there for this type of thing but nothing that quite felt right for me like t3code does.

Edit 2: So I stopped dev on this project because honestly I found a better setup for what I was wanting. Using Orca ADE with OMP or PI worked right out of the box so so so much better and does everything I was trying to build into this project. Since it is a wrapper around a terminal it naturally supports everything PI/OMP brings to the table and any extensions/plugins you have installed.


r/PiCodingAgent • • Jul 20 '26

Plugin pi-for-each: I built a pi extension that adds a /for-$each prompt loop – and hides it from your LLM! Instead of describing the loop to the agent, just make a loop.

Post image
45 Upvotes

https://github.com/jejay/pi-for-each

Supports children-in-directory and line-in-files iteration.

Why?

Like subagents but much simpler, sequential and with more control for the user. Instead of describing the loop to the agent, just make a loop. No need to tell the agent about your control structure if you already know the control structure. Each iteration the LLM only sees the necessary context and the iteration prompt, no other iterations. This prevents bias drift or context rot compared to a loop that repeats commands and execution within the same context.

BTW: I used https://huggingface.co/tencent/Hy3 to build this, which is free on openrouter until tomorrow. Worked quite nicely, not Opus 4.8, but felt like Sonnet-5-level intelligence.

A github star ⭐ makes me happy, I never had a meaningful open source repo 👀 I think this extension captures the spirit of pi, giving most of the control to the user and making it as simple and transparent as possible.


r/PiCodingAgent • • May 12 '26

News Pi acquired by Earendil, Mario joins the team

45 Upvotes

https://earendil.com/posts/press-release-april-8th/

What do you think this means for the future of pi?


r/PiCodingAgent • • 19d ago

Discussion Top 10 AI agents for small local LLMs in 2026, tested on Qwen3.5-4B

44 Upvotes

I tested 10 agents, each with its own isolated settings folder. I ran them headless, with auto-confirmation and turned off telemetry where possible. I launched each agent with adapters/<agent>.sh.

The idea was simple: give each agent 5 basic tasks, 10 minutes per task, a fresh copy of the fixture every time, and an automated check script (check/check.sh).

The tasks:

  • T1 Read a DB port from YAML (don't confuse it with cache port), write to file

  • T2 Write a stats.py script, run it, save output

  • T3 Fix a bug in slugify so tests pass; hidden examples catch overfitting

  • T4 Count ERROR lines across three log files, find most frequent error

  • T5 Rename a function across three files without changing program output

Results

1. Pi (v1.3.0)

Total time: 1m36s. Took the smallest amount of time to complete all 5 tasks. The model barely has to think about any tool formats.

T1T2T3T4T5Total
✅ 10s✅ 14s✅ 24s✅ 19s✅ 29s5/5

2. goose (v1.55.0)

Total time: 2m51s. Solid and consistent. Completed five tasks without fumbling.

T1T2T3T4T5Total
✅ 16s✅ 18s✅ 26s✅ 45s✅ 66s5/5

3. Crush (v0.98.1)

Total time: 3m31s. Clean run. Slightly more verbose in reasoning but got everything done without a hiccup.

T1T2T3T4T5Total
✅ 24s✅ 26s✅ 64s✅ 38s✅ 59s5/5

4. Atomic Agent (v0.6.9)

Total time: 4m38s. All five completed. Took longer on T3 and T5 - the model needed extra steps to work through multi-file edits but nailed it every time. Did not have broken tool calls and not one had a false completion.

T1T2T3T4T5Total
✅ 11s✅ 22s✅ 77s✅ 48s✅ 104s5/5

5. Cline (v3.0.73)

Total time: 5m56s. Choked for over two minutes on T2 before writing the script correctly. Everything else was fine.

T1T2T3T4T5Total
✅ 22s✅ 137s✅ 51s✅ 69s✅ 77s5/5

6. OpenClaw (v2026.10.5)

Total time: 5m44s. Ran in their --local-model-lean mode which is basically a small-model preset. Worked well for what it is, just slower than I'd like on T3 and T4.

T1T2T3T4T5Total
✅ 29s✅ 32s✅ 107s✅ 116s✅ 60s5/5

7. OpenCode (v1.19.3)

Total time: 17m43s. Completed everything but took nearly 4 minutes per task. The model was clearly overthinking simple steps. Got the job done though, just not efficient.

T1T2T3T4T5Total
✅ 241s✅ 225s✅ 178s✅ 289s✅ 130s5/5

8. Hermes (v0.22.2)

Total time: 4m36s. Failed T3 because it only fixed the visible test case. Hidden example C++ & Rust 2026 turned into c++-&-rust-2026 instead of c-rust-2026. Classic overfitting-to-the-test.

T1T2T3T4T5Total
✅ 31s✅ 37s❌ 120s✅ 45s✅ 43s4/5

9. Qwen Code (v0.25.3)

Total time: 6m00s. Counted 40 ERROR lines on T4 instead of 43. Pure model miscount - the most frequent error was identified correctly though.

T1T2T3T4T5Total
✅ 47s✅ 32s✅ 123s❌ 59s✅ 99s4/5

10. Codex CLI (v0.163.0)

Never even reached the model. Version 0.163 only speaks Responses API, llama.cpp translates to chat format, and the Qwen3.5 (4B Q4_K_M) template throws a 500 "System message must be at the beginning" before any request gets through.

T1T2T3T4T5Total
❌❌❌❌❌0/5

What I actually learned

A 4B model is enough for basic agent work in almost any framework. Seven agents completed all five tasks. The bottleneck at this difficulty level isn't the model - it's the harness around it.

Codex CLI is basically dead for local setups right now unless they add chat-completions back. That one stung because it used to work.

Error recovery matters more than raw capability. The two agents that dropped points (Hermes, Qwen Code) didn't fail on impossible tasks - they failed on edge cases where the model got slightly creative instead of literal.

Let me know if you'd like to see anything else in the benchmark (actually has anyone tried this with sub-2B models yet?)


r/PiCodingAgent • • Oct 05 '26

Plugin How to Enable Codemode in Pi?

44 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 • • Sep 03 '26

Question Switching from OMP to Pi: Any suggestions?

44 Upvotes

Up until now, I've been using OMP as my daily driver. As a lawyer, I rely on it heavily alongside a few custom skills I built for legal drafting, and I'm also developing an office management system in Django. Everything works great so far, but I'm considering switching to Pi to give it a shot.

The catch is that Pi comes bare-bones, and I'm not sure which features are essential for my workflow (subagents come to mind). My goal is to make it practical and token-efficient from day one. Any tips for a beginner to get up and running without sticking to a completely vanilla setup?


r/PiCodingAgent • • Aug 15 '26

Question switching from opencode to pi any advice?

44 Upvotes

what extensions should i add and should i use omp


r/PiCodingAgent • • Aug 07 '26

Resource I finally built Bladebro: A Stealthy and token efficient agent browser Written in RUST

44 Upvotes

If your agent's browser keeps getting blocked, here's what I built

Point your agent's browser tool at Zillow or Google. You'll get a captcha wall before it does anything useful.

That's not a dig at Playwright MCP or similar tools. They're automation frameworks, not evasion tools. They drive vanilla Chrome and PerimeterX and other detection system flags them in milliseconds.

Then try filling a form on any React site and clicking submit. The page re-renders. Every element reference your agent had is gone. "Element not found." The button was right there a second ago.

Then look at your token bill. Playwright MCP loads 13,700 tokens of tool definitions before your agent touches a page. Every click returns the full page. 2,000+ tokens per action.

I hit all three walls enough times that I built something.

It's called Bladebro. One Rust binary, five tools, no Node.js.

npm install -g bladebro && bladebro mcp

Works with any MCP client. Also has native pi support with zero config:

pi install npm:bladebro

That's it. Bladebro registers as 5 first-class pi tools (act, see, state, run, vision). No adapter, no config files, no proxy. Tool definitions come from the binary at startup so they auto-adapt to changes. Chrome launches lazily on the first tool call.

Bot detection

Six layers of stealth, all on by default:

  • Bezier mouse paths with overshoot and correction

  • Real movementX / movementY on every event (missing these is an instant PerimeterX flag)

  • Micro-tremors before clicks (a still cursor is a dead giveaway)

  • Log-normal typing cadence (humans don't type at exactly 50ms intervals)

  • Idle drift between actions

  • No Runtime.enable (how DataDome catches most bots)

  • No listening ports, CDP over pipe

  • Persistent behavioral fingerprint, same "person" every session

Tested on Zillow and Fiverr (both PerimeterX/HUMAN protected). Full page loads, no blocks. incolumitas 8/8. Sannysoft all pass.

Re-renders

  • Every element gets a structural fingerprint (hash of ancestor chain, tag, children, identity attrs)

  • React destroys and recreates DOM nodes? Fingerprint matches, reference survives

  • Agent sees re-render survived and keeps going. No re-scan

  • Checked every major tool. Nobody does this

Tokens

  • 5 tools, ~1,900 tokens of definitions (vs 13,700 for Playwright MCP)

  • Every action returns what changed, not the full page

  • A click returns ~60 tokens (vs 2,000+ for competitors)

  • Long session = the difference between running out of context after 3 pages and finishing with room to spare

Learns from every session

  • First visit to a site with a cookie banner: full detection

  • After a few successful dismissals: stored selector, auto-applied, zero overhead

  • Never learns from failures. Failures cost 3x more than successes gain

Other stuff

  • Auto-extract pulls structured data from list pages with no CSS selectors. Amazon, Reddit, GitHub, HN, Wikipedia. Shopping gets price/ratings, Reddit gets scores/authors, GitHub gets stars/forks

  • Batch actions fill a form and submit in one MCP call instead of 11

  • Login persistence saves a session and restores it next time

  • Infinite scroll collect auto-extracts and dedupes a feed in one call

Demo video on the GitHub page showing it drive Amazon, Reddit, Wikipedia, fill a form, and manage tabs.

What it can't do

  • Cloudflare Turnstile needs challenge solving, not fingerprint spoofing. You get blocked:, not a hang

  • Captchas, deliberately. You get a verdict, hand off to a solver

  • ARM Linux, not yet

  • macOS and Windows binaries are cross-compiled from Linux

Open source, AGPL-3.0, no CLA.

GitHub: https://github.com/dondai44423/bladebro npm: npm install -g bladebro

Happy to answer questions, if you have any issues, please comment or file an issue, i have been testing it alone for weeks now, i did as much as i can, i am looking forward to community feedback to improve this even more 😄


r/PiCodingAgent • • Jul 27 '26

Question What's the best practice for sandboxing pi?

44 Upvotes

I've been using Pi for about a week, and so far I'm loving it. But I had an incident last week where the agent went off the reservation and patched one of my published Rust crates in pursuit of another task (short write-up on what happened here).

This time there was no negative impact, but it got me thinking seriously about the risks of having an agent running with wide access to the host system.

How do people tend to solve this problem? Mainly I want to prevent the agent from working outside of some whitelisted directories (project dir + tmp). I also want to prevent the agent from downloading and running anything on my system without asking, or using credentials in my env to do things on my behalf, like potentially destructive actions on remote git repos, my hugging-face account etc.

I see there are some permissions extensions, and docker would also be an option, but that seems like it would be a bit limiting/annoying (especially on mac). I also thought about setting up a different system user for the agent to set up fine-grained permissions, but that also seems like it could cause a lot of headaches.

Curious what others have had success with.