Project

piclaw

stable

The Pi coding agent in a technicolor web trenchcoat — infinite tools

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, an xterm.js terminal, code editor, document viewers, draw.io, kanban boards, VNC client, and MCP access — all behind one docker run command. More tools come from a growing catalogue of community add-ons, including the optional Ghostty terminal, Proxmox, Portainer, SSH, and whatever else someone felt like wiring up.

PiClaw now follows a monthly release cadence, with hotfixes when needed.

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 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 receives live updates over SSE. A small set of tools is always active; the agent discovers and activates others through list_tools and activate_tools. This avoids sending every tool definition with each request, while bounded tool output limits context use.

The workspace includes a file tree, pluggable viewers, an xterm.js terminal, a VNC viewer and a vim-capable editor with Obsidian-like Markdown rendering. The optional ghostty-web add-on provides a Ghostty-based terminal. I use VNC to access SBCs and X apps inside the piclaw host. A keychain stores secrets encrypted with AES-GCM.

Nightly memory consolidation synthesises notes from all sessions so later conversations can recover useful context.

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.

🧩
Add-ons

Install tools, skills and integrations from the Piclaw Add-ons catalogue, including Proxmox, Portainer, observability and remote access packages.

📦
Single container

docker run -p 8080:8080 -v ./workspace:/workspace ghcr.io/rcarmo/piclaw:latest

Architecture
User web · mobile Streaming UI attachments · timeline Agent runtime compaction · prompts Extensions custom tools · UI hooks Skills on-demand workflows Workspace SQLite · keychain Tools images · office · schedule External GitHub · MCP · browser
Posts