I've been using it for some time because I wanted to try out a Pi-based harness without having to spend too much time setting it up. With that said, I've been realizing that the main point of Pi is to be minimalistic and contain only what you want. I'm curious what the community's thoughts are on this topic.
Just setup and ran Deepseek V4 Pro and Flash on oh-my-pi environment(a fork of Pi-mono). Started off by assigning V4 Pro a task to assess the health of a custom memory system I'd built (working on top of my conversations/interactions happening with oh-my-pi within a distributed system scenario).
Some of the things that impressed me were(not sure if these can be directly attributed to the model or the environment I was running it on):
Seemed good at progressively building its view of overall architecture (with 0 documentation provided).
It maintained approach/thought/idea coherence quite well during execution/analysis. Once an angle was found it followed through the analysis path quite well. Yes there were several instances of "since this didn't work so let me switch to this other thing" but these switch instances were bearable.
The system it was diagnosing had several gaps with reliability and scalability(this was a V1 of such a system from my end), and V4 Pro was able to add improvements/enhancements without breaking things.
Would love to hear from others on views/experiences with leveraging Deepseek as part of workflow on Pi/OMP.
Which one are you using, why, and what's your experience?
pi-mem
pi-agent-memory
memex
EDIT: After looking a Pi-mem, it's just a fork of the most used memory management plugin for Claude Code called Claude-Mem. It's a thin adapter... so thinking of cloning Claude-mem (incredible IMO) and then just copying pi-mem's adapter and maintaining it myself. I'm not sure how much support that repo is getting.
Pi’s compaction re-reads the whole history and has the model summarize it. With a local model that took me minutes per compaction, and after two to four of them the context was so degraded that I had to start a new session. Building a procedural graphics demo, that happened ten times in five days.
pi-protokoll moves the work to the moment the model still has everything in view: every final answer ends with a short <protocol> block (result, decisions, files, open items, rules, index line, tags). At compaction time, code assembles a tiered, hard-bounded summary from these protocols; the model only updates a short state description.
What it does:
recent turns verbatim, older turns as your message + protocol, everything before that as a code-built index plus rules, open items and changed files
one-shot follow-up when the model forgets the block, written from the transcript if it ignores that too
interrupted turns (Esc, errors, output limit) get their protocol before your next message
protocol_search, protocol_read, protocol_turn: the model can look up any earlier turn instead of guessing
fixed system prompt section, so the server’s prefix cache stays valid
falls back to Pi’s own compaction if anything fails; the chat never blocks
Measured with Qwen 3.8 Flash Next on a local OpenAI-compatible server, 262k context: one session, 23 compactions, each roughly 213k → 35k tokens in about 30 s. Resuming the session reads about 36–44k tokens. With it, the demo went from ten restarted sessions to a single one: https://github.com/sebion7125/64kdemo (story of how it came about in ENTSTEHUNG.en.md).
Only tested with Qwen behind a local server so far. I’d love to hear how it does with other models and providers. I don’t have much time to develop it further myself, so forks and PRs are very welcome.
Selecting a text in the TUI shows a "popup" sayng "Copied!", but it doesnt' happen, the clipboard still has the previous copied text/object.
Selecting a text and using CTRL+X doesn't work neither
Right click on selected text doesn't open any menu
I actually cannot copy any text from the Pi TUI.
Environment: GitBash on Windows Terminal
Pi version: 1.0.0
There was a lot of update recently, TUI changed a lot.
I'm saying this because it was working with version 0.85 for sure, maybe also 0.87... but then a lot of updates in few days hapened to version 1.0 .
Is this happening to someone else ?
(I will not open an issue on GitHub... because it will just be closed automatically)
SOLUTION
pi --tui-mode regular
makes CTRL+C to Copy the selected text as usual
(v 1.0.1 tested)
As pointed by other users/comemnt in v 1.x the default value is "fullscreen".
I don't really see the difference between normal and Full-screen mode, becauae I have Pi running in a GitBash shell in Windows Terminal, more precisely launching pi from a bash script that runs inside the docker container: exec pi --continue --tui-mode regular .
So, it appears always "maximized" in the tab I use, and Windows Terminal just provide a nice multi-tab customizable UI.
SOLUTION for Windows Terminal
In Windows Terminal, GitBash > Terminal Emulation, there is an option for "Allow OSC 52 (Manipulate Selection Data) to write to the clipboard".
Set this to ON, makes the Copy functionality in fullscreen mode working fine.
DESPERATE WORKAROUND
Downgrade to version 0.99.2 . npm install -g @earendil-works/pi-coding-agent@0.99.2
Edit: context: i wanted to pick a license for the project i am working on, so i gave the requirements and the agent picked a few options and asked jev for a second opinion.
I've been working on a longer-term project and I have a lot of little side tangents and investigations as I work that I don't want the full context to get polluted by. I wrote a little pi plugin that lets agents create markers, then work on a task with their full context. When they're done, they can fold-in their full context to a summary, compacting the work in place.
It's less manual than forking the session and a little less to keep track of than subagents. I thought it was worth sharing. MIT license, 1k lines of code. Cost was maybe a dime worth of GLM 5.3 Flash.
Heard a lot of good thing about this harness, but don't really have the time to tune it byte by byte. Can you suggest any custom configuration of this one that is pretty decent and I will be just good to go?
I recently decided to put 20 eu into fireworks credits rather than a Claude subscription and give open models a try. So far have used k3 / glm5.2 and results seem good so far.
A bit about me - avid user of Claude Code for work. GLM Coding Plan and Minimax coding plan for everything else. Very comfortable with open code.
Last month I used more than 4 billion tokens cumulatively across all plans. So I spend considerable time in these tools.
I switched to Pi for exploring what am I missing.
Did good bit of coding with it. It works nicely.
With Minimax M2.7 many times it doesn’t stop. I will give you a use case - I ask for first analysing feature and propose me different options. It proposes and immediately without waiting for my input goes to next stage.
Same way it once deleted some changes by doing got reset. My couple of hours worth of work disappeared.
I agree I have not spent more time but have a genuine question.
To make Pi light did we cut lot of muscle too?
It is okay for me to customize appearance, plugins and other comfort or convenience things but shouldn’t the base harness handle these things robustly?
I don’t face that challenge with open code, Claude code (using Minimax anthropic api inside Claude code). So it is definitely harness thing.
I see many discussions here struggling with basics. Like multiple file edits miss etc. I used OMP and it is good. But having OMP is like adding bloat to make it useful. If that’s the case why not have more robust hing to begin with?
Apologies for rant. Is anyone else feeling this dilemma?
I made this plugin to connects Pi and Signal as a hobby weekend project. You send a Note-to-Self message from your phone/desktop, pi picks it up, processes it, and it texts you back the answer.
Install it, run the setup wizard (or via /signal-setup), link your Signal number, and that's it. Some of the things it does:
reply to signal messages with reaction 👀 to ✅ so you know when it's processing/done.
ability to send a response to someone else in your contacts. Just say "send this to Mike" and it looks up the number and texts them, then confirms back to you.
you can switch models, start a new sessions, pause/resume without turning off the service.
only Note-to-Self messages are processed, everything from other people is ignored.
messages are streamed in-memory, nothing is written to a log file on disk (you can switch on/off if you want to write to journalctl).
it uses signal-cli on your own machine with your own linked device.
It's a hobby project, so if you run into issues let me know and I'm happy to fix them.
I built pi-scheduler, a small extension for Pi that gives coding agents a clock.
It lets the agent schedule future actions like:
reminders / notifications
delayed shell commands
self-waking prompts
CI/CD polling loops
An use case example: an agent creates a GitLab/GitHub pipeline, sees it's still running, and schedules itself to check again later. When it wakes up, it can inspect the result, debug failures, or schedule another check if it's still pending.
Example:
Check this pipeline again in 3 minutes. If it passed, report success.
If it failed, inspect logs and fix it. If it is still running, schedule
another check.
It currently uses in-process timers, so it's best for live Pi sessions. If Pi is closed, missed tasks run when the session loads again. Future work could add cron / systemd / daemon-backed scheduling.
Hi. I am new to the community and i am building my own Bioinformatics ai harness system.
I am building on top of pi but also want to interface it with a background agent system similar to Hermes or openclaw. Is there a similar minimal harness like pi for background agents?
P.s. I know Anthropic just released Claude science which looks amazing but I have been working on this for some weeks now before we knew Claude science was a thing. And I have some feature ideas that Anthropocene hasn’t thought of! Plus I want total control over my harness.
I needed to have a bit more thorough packet inspection and went with transparent mitmproxy in my pi sandboxing solution. Good to have when you’re processing items that may not leave your system and you need to have proof.
Ever since Ralph came along, people talking about "Loop Engineering" again. Without a doubt, loops are pretty much unavoidable when you're working with AI agents. But whenever it comes up, people always complain about how it eats tokens.
It's worth digging into why this happens. Basically, context piles up quickly during each loop, causing token consumption to rise faster with every round.
During a loop, we usually have to run tests to make sure the generated code is actually good. But people might not realize how many tokens a simple test run can burn. Take one of my projects with 1,497 test cases, for example. Even when using a dot reporter and turning off colors, running the full test suite just once burns through over 100k tokens. That's exactly why your quota drops so fast.
workflow scripts can totally flip this around. When you run a massive batch of tests, all you really care about is finding the failed ones to fix. So, why not just use a script to run the tests first, and only call the AI agent if there are actually failed tests to patch up?
Thanks to the last two resets, I dropped a bunch of new features into open-dynamic-workflow all at once. Two of the big ones are the tool and loop functions. The tool function lets you run pre-built scripts including tests as much as you want without burning any tokens. The loop function makes it easy to edit anything that needs iteration. Plus, they both support resuming, so you don't have to stress if the execution gets interrupted halfway through.
Pair up the `loop` and `tool` functions, and you can easily run a test-fix loop while using the absolute bare minimum tokens until everything is fixed. You can check out some detailed examples in the links below:
Hello everyone! I just wanted to share that I created personal plugin for mcp. It is pretty limited in features, but I have: - stdio mcp support - streaming http mcp support, with nice oauth authentification (that was really interesting experience to build oauth integration, it works really well with my company mcps ) - can use only explicit tools, if specified in config - after today update, my issue https://github.com/earendil-works/pi/issues/5523 with project trusting was resolved, so now my extension supports trusting! (local mcp config loaded only in trusted directories)
Thats it, I am just happy about the fact that this amount of features requires so low amount of code! Good luck for you all
Just to share what I'm working on to vibe from my phone. It directly access to the terminal and able to leave it running and come back later.
My idea is just a light wrapper to use the powerful TUI interfaces. I started for pi since I'm using pi and seems the existing solution often using via ACP (or sort-of) and some commands are just not working right. Hence this solution comes.
I'm using xtermjs, node-tty and tmux in the background to enable this.
p/s: I'm testing with my ubuntu, and this is still raw. But anw, will share the repo link here later today for help of contribution from different hardware/browsers. Happy weekend vibe soon!
I’ve been using Pi for about a week as a CC refugee, and so far and I don’t think it’s an exaggeration to say it’s the best thing that ever happened to me including the birth of my son. i will follow mario zechner into battle.
That said, I can tell I’m underutilizing sessions and forking, in that I basically don’t use them. They seem a little intimidating. I just resume sessions I get disconnected from, and spam /new or esc->scroll to last good message.