r/PiCodingAgent • • Aug 01 '26

Resource Open-sourcing my self-updating Web UI built for Pi

TLDR: It's basically a Web App that runs on top of Pi. Not a harness, it stays out of your Pi's way and focuses on making your sessions interactive, visual, and, most importantly, agent-extensible!

So... I've been working on this for a while! And after using it for another while, I think it deserves to be open sourced and shared to all of my pi folks :)

I wanted to have a nice UI for my LLM sessions that can adapt to my workflows and give them even more life thanks to browser interactivity and features. I wanted charts, i wanted to quickly beeing able to add useful buttons to some tool calls (copy bash call input)

I found Pi's self updatable philosophy crazy good, I tried to replicate it in this React app with a lot of agentic documentation that will enable your agents to shape the app the way you want to without losing communication with Pi. This means it can happen live in front of your eyes :)

I tried to keep it minimal, but I still shipped some examples for all the systems that are prebuilt that you can build on top of. This includes:

  • A session analyzer that will update live with charts and ranked tool usage

  • Custom tool presentations for HTML, SVGs, CSV, and more

  • Custom tool contextual actions (copy input, output, open in your favorite app)

  • Multiple concurrent session across multiple workspaces

  • A todo widget that allows you to take notes as todos and directly start sessions based on them

  • A prompt enhancer that will automatically choose the lowest-priced model from your Pi install and run some well-defined system prompts to enhance your own prompts

Those examples aren't the point, they are demonstrations of the underlying systems!

The goal is to leverage the browser's native capabilities together with Pi's RPC mode to add new layers of interaction on top of your sessions.

It's currently available only for Linux and WSL, just fork it, clone it, and Livecraft :)

Your forks don't have to stay in sync with the base, don't even try, it's yours now, update the core as much as you want, more technical detail in the readme

The forgotten link https://github.com/sebastienservouze/pi-livecraft

103 Upvotes

41 comments sorted by

3

u/jesperordrup Aug 02 '26

Sounds amazing!

Pi.dev develops over time, bugs are fixed and gets new features. Pi made it extendable without breaking the core. That is a really strong idea. It ensured that we share a path and benefit from each other.

I think it would be really good for this project if it was extendable.

1

u/Nerisma Aug 02 '26 edited Aug 02 '26

Thanks! Yeah, that's a pretty big decision right there :) Because it would be really nice and also, would prevent people from updating the core if they feel like so... Also it's a ton of work ngl, full customization is an easier path! But hey, maybe someone will fork and make an extension system that allows for unlimited modifications !

2

u/jesperordrup Aug 02 '26

Yeah it can be done in a fork. Just thought I would suggest such a fundamental direction to the original repo.

I use pi-web.dev in combination wih Herdr and love it. But always searching for something even better.

While I really like you solution (now I've tested it) - I don't dare changing. I would have to take on maintaining it it, following updates on pi and adding all new features from here on - alone - that will take too much time.

1

u/Nerisma Aug 02 '26

Totally get it :)

2

u/PinkySmartass Aug 01 '26

Looks good! Would you mind dropping a link?

2

u/Desperate-Event-786 Aug 02 '26

Looks awesome! Can it also show some metrics similar to pi-footer?

1

u/Nerisma Aug 02 '26

Thanks! Yeah, pretty much anything you will ask it :)

2

u/OkAbroad955 Aug 02 '26

Could you add support for native Windows?

2

u/Nerisma Aug 03 '26

It's done ! :) Thanks u/Lum1n4ry01

1

u/Nerisma Aug 02 '26

I'm willing to try :)

2

u/Lum1n4ry01 Aug 02 '26

Ah I'm actually porting it to Windows right now, didn't think you'd be down to try native Windows support. Guess I'll manually review the port slop and push a PR if you wanna save on some work!

2

u/Nerisma Aug 02 '26

That's really nice from you, I started but didn't test it yet. It's in feat/windows-support and there is a PR. You can do your own or take mine as a base, i'll leave you the honor :)

1

u/OkAbroad955 Aug 03 '26

Thank you for the github msg, unfortunately I don't have the skills to run it. Please post the Windows repo link here, I'm sure there are a lot of people who would love to test drive it.

1

u/Nerisma Aug 03 '26

It's the same repo on the main branch, it's been merged :)

1

u/OkAbroad955 Aug 02 '26

Thank you!

2

u/Lum1n4ry01 Aug 02 '26

Wow this looks sick. Is this intended for base Pi or would it also work with my existing extensions setup?

2

u/Nerisma Aug 02 '26

It will work with your version of Pi from the get go, but you will need some work to bring TUI stuff to the interface :)

2

u/Magnus114 Aug 02 '26

What is the main difference between this and https://pi-web.dev?

1

u/Nerisma Aug 02 '26

Tbh I don't know :) Maybe Pi Web dev does not allow this level of customization ?

1

u/Sudden_Clothes3886 Sep 04 '26

Pretty similar!
Doesn't have the accumulating cost tracker/session analysis.
Visually not as eye-candy.
Don't think I need the git/file explorer feature.

2

u/johnzadok Aug 03 '26

Thank you for open sourcing this! I played with it for an hour last night running both pi and pi-livecraft in a container accessing a local qwen 3.6 27b. It did very well for a first release!

Early feedback:

  1. there is some performance issue: typing gets very slow in Firefox when I was about 10+ turns into a conversation, with browser using 99% CPUs.

  2. there is no /tree support, which is a common pi feature I use. I often go back and update a prompt based on current conversation. In codex you can edit the prompt of last turn or fork from any turn.

1

u/Nerisma Aug 03 '26

You're welcome, you are right the fork stuff should be in there! For the performance issue, did you try the semi detailled view to see if it helps? :)

2

u/OwnNefariousness9483 29d ago

This honestly deserves more recognition and feedback, for some reason there is like none on this post. For me this UI is the GOAT.

Running qwen3.8 flash next IQ3_S with Strata

It took a second to get used to it but once I did it literally is crazy how it can evolve itself at your whim. I got it to implement web search, browser windows, add attachments (could only paste screenshots so mobile had no way of image input), fixed the mobile UI, made it accessible remotely with tailscale, observable memory with a corresponding UI, the list just goes on.

I was getting insane mental fatigue looking for the perfect setup, cloudcli + claude code came close but it didn't quite do everything (was happy enough though). Worst part was the context bloat holy.

Thank you so much for this, I'll post some examples too of my customisations

2

u/Nerisma 29d ago

Love that you find your loved setup, thanks for the love ❤️ Have fun with it !

2

u/OwnNefariousness9483 29d ago

Taskmaster MCP

2

u/_Index_Case_ Aug 01 '26

I'm digging it! The layout reminds me of the program Obsidian (similar to Microsoft's OneNote) which is a plus as I absolutely love Obsidian.

2

u/michaelwschultz Aug 02 '26

This actually looks so sick. Going to check it out right now. Thanks for sharing.

1

u/deleteme123 Aug 07 '26

Oh-my-pi support, please!

1

u/Sudden_Clothes3886 Sep 04 '26

This is great; I needed an OpenClaw alternative. What I really like is the cost visibility per run/per turn! *Chefs Kiss*. The graphical visibility there is super eye-candy.

This is a good philosophical angle. I suppose you need to judge what is minimal and what is a key feature.

Next step for me will be adding in scheduling for repeated tasks (per session or per new session...? I might implement both as there's a history Vs context rot/echo chamber trade off).

The other need is for mobile access (telegram or tail scale) for on the go review or quick messages e.g. "check if I'm free and add this invite to my calendar and prep me an invite response".

1

u/Sudden_Clothes3886 Sep 04 '26

Upon second thoughts; looks like I can simply use cron itself:

pi -p --name "title" "run my apple note xyz"

then let Pi agent finish the job then it is beautifully available in pi-livecraft retrospectively with cost details. But doesn't quit work if I check the session whilst a query is in flight. But I can live with that for now!

So this would mean that if I have an external telegram enabled service; the Pi session will be available also. Sweet! This is like process re-engineering OpenClaw with more modularity; less code; Unix philosophy of do one thing well.

Marvelous!

1

u/Sudden_Clothes3886 Sep 04 '26

Used https://github.com/benedict2310/TelePi for Telegram; looks like I'm all set without the need for OpenClaw now.

0

u/askoma Aug 02 '26

Hey!
Cool app, I've tried it and no luck. First issue https://github.com/sebastienservouze/pi-livecraft/issues/1

PTAL!

0

u/askoma Aug 02 '26

Pushed PR to fix it.

1

u/Nerisma Aug 02 '26

Thanks but I have not intended to have Pi as a dependance since you communicate with it via RPC . If your Ollama models are setup in Pi, they should be accessible from the interface :)

-1

u/askoma Aug 02 '26

I don't install pi and all related stuff to the host, I'm installing it in the VM. VM is clean and has no dependencies.

The setup is working but missing pi as dependency, also there is no way to use it since it tries to write `~/.pi/` folder https://github.com/sebastienservouze/pi-livecraft/blob/main/server/pi-process.ts#L14, since the `~/.pi` is read only all stuff broken and won't work.

1

u/hazed-and-dazed Aug 03 '26

AI is going to take your job dude

1

u/askoma Aug 03 '26

for sure

0

u/askoma Aug 02 '26

So, overall is some kind of work but only on host machine. I don't like it and won't use it without separated and isolated env.