piclaw — rcarmo
/ 9
←/→ keyboard navigation
a demo of piclaw, created by piclaw itself
Open video ↗
iPad PWA with star trends
Clean mobile-first chat with GitHub digest
View full size ↗
Agent implementing a feature
Issue resolution with validation and CI
View full size ↗
Workspace tree + disk usage
File browser with storage sunburst
View full size ↗
Gruvbox terminal + git log
Ghostty terminal with workspace tree
View full size ↗
Agent session picker
Multiple named agent sessions
View full size ↗
Theme picker
16 built-in themes with live preview
View full size ↗
Add-on catalog
In-app add-on browser and installer
View full size ↗
Portainer settings
Add-on configuration with keychain integration
View full size ↗
Overview<br>Motivation<br>How it works<br>Features<br>Diagram<br>Posts
Overview
PiClaw stuffs the Pi Coding Agent runtime into a Docker container, throws on a streaming web UI, and calls it a day. Multi-provider LLM support, built-in Ghostty terminal, code editor, document viewers, draw.io, kanban boards, VNC client, and MCP access — all behind one docker run command. The tool surface is effectively infinite thanks to a growing catalog of community add-ons covering Proxmox, Portainer, SSH, and whatever else someone felt like wiring up.
Motivation
After creating webterm and vibes, using GitHub Copilot and Codex through the ACP protocol felt limiting. But when I stumbled upon Pi and its amazing extensibility, I knew I had found a great way to explore how to build an extensible web-based IDE that I could access from my iPhone and iPad.
How it works
A Bun process embeds the pi agent runtime and manages all agent interactions, settings, etc. All pi extensions and skills work, and the runtime extends the extension contract in such a way that almost _everything_ inside the workspace is, essentially, a plugin. State is managed with pi's JSONL files, but primarily using a SQLite database that tracks all sessions and can store some media for easy retrieval later via FTS.
The web UI communicates with the agent over SSE for real-time indicators, and the agent tool surface, although larger than pi's, is layered: a small always-active baseline, with additional tools activated on demand via list_tools and activate_tools — keeping token usage low by both limiting the tool surface and compressing their outputs, which enables the use of literally hundreds of tools with very little context overhead.
As creature comforts, you get a workspace tree, pluggable viewers, a ghostty-web terminal and a VNC viewer (which I typically need to access SBCs and X apps inside the piclaw host, plus a nice vim-capable editor with Obsidian-like Markdown rendering, plus an encrypted keychain stores secrets encrypted with AES-GCM.
Memory management leverages dream memory consolidation (which runs nightly) to synthesise notes from all sessions and keep long-running workflows coherent.
Features
💬
Streaming chat
Markdown, KaTeX, Mermaid, Adaptive Cards. Branch with /btw, queue follow-ups.
🗂
Workspace tooling
File browser, CodeMirror 6, Office/PDF viewers, draw.io, kanban, VNC — no separate apps.
🔌
Any LLM
Anthropic, OpenAI, Azure, Gemini, Ollama, or any OpenAI-compatible endpoint.
🧠
Persistent state
SQLite-backed history, media, tasks, encrypted keychain. Dream nightly consolidation.
🛠
Infrastructure tools
SSH, Proxmox, Portainer profiles. CDP browser automation. Sharp image processing. MCP.
📦
Single container
docker run -p 8080:8080 -v ./workspace:/workspace ghcr.io/rcarmo/piclaw:latest
Architecture
User<br>web · mobile
Streaming UI<br>attachments · timeline
Agent runtime<br>compaction · prompts
Extensions<br>custom tools · UI hooks
Skills<br>on-demand workflows
Workspace<br>SQLite · keychain
Tools<br>images · office · schedule
External<br>GitHub · MCP · browser
Posts
2026-07-21<br>Marked Down
2026-07-19<br>Notes for July 13-19
2026-07-17<br>My AI Model Tier List for mid-2026
2026-05-19<br>Announcing ios-linuxkit: Linux on iPad, the Hard Way
2026-05-18<br>Apple Papercuts