Community extensions and add-ons for piclaw. Browse the full catalog at rcarmo.github.io/piclaw-addons.
For agents: see AGENTS.md for how to add, modify, and test addons.
Important: first-party
piclaw-addonsinstalls must use public GitHub-hosted tarball URLs. Do not switch examples, catalog entries, or runtime code to npmjs.org package specs or authenticated GitHub Packages reads. Runtime install/remove must work with zero registry auth.
Open Settings → Add-Ons, pick an add-on, click Install. Restart required.
pi install https://rcarmo.github.io/piclaw-addons/packages/piclaw-addon-proxmox-0.1.5.tgzcd /workspace/.pi/extensions
bun add https://rcarmo.github.io/piclaw-addons/packages/piclaw-addon-proxmox-0.1.5.tgzAdd-on settings panes are browser modules loaded from pi.web.entries.
Use this split:
- browser pane (
web/index.ts)- register the pane with
globalThis.__piclawSettingsPaneRegistry/globalThis.__piclaw_web?.registerSettingsPane - use
globalThis.__piclawPreactHtm/globalThis.__piclawPreact - read/write non-secret config via
GET/POST /agent/addons/api/<addon>/config - store secrets via
GET/POST /agent/keychain
- register the pane with
- runtime entry (
index.ts/extension.ts)- register config handlers with
globalThis.__piclaw_registerAddonConfigApi(...) - keep non-secret values in extension KV / runtime storage
- keep tokens/passwords in the keychain
- register config handlers with
Do not build new settings panes on top of internal slash-command bridges. Piclaw keeps that path only as a compatibility fallback for older add-ons.
For add-ons with meaningful web UI, prefer committing at least one screenshot under addons/<slug>/assets/ and referencing it from the add-on README.
For settings-pane screenshots, use the microVM as a clean fixture: prefer an overlayfs-based temporary add-on view, capture the target pane by itself, then restore cheapskate afterward so the microVM stays useful for testing.
See:
| Add-on | Description |
|---|---|
autoresearch |
Autonomous experiment loop sub-agent |
cheapskate |
Free-tier provider auto-rotation (cheapskate/auto model) |
code-validator |
Code validation for Python, JS/TS, JSON |
delegate |
Task delegation to cheaper/faster models |
dev-tools |
Workspace diagnostics and environment tools |
drawio-editor |
Self-hosted draw.io diagram editor |
editable-table |
Spreadsheet-style Markdown table editor for the web UI |
eml-viewer |
Email (.eml) viewer for the web timeline |
goal |
Session-scoped goal seeking with /goal, editable prompts, and a settings pane |
imap |
IMAP email management with drafts and STARTTLS |
kanban-board-widget |
Kanban board dashboard widget |
kanban-editor |
.kanban.md editor add-on with Obsidian-style [[links]] |
portainer |
Portainer container management |
proxmox |
Proxmox VE infrastructure management |
vent |
Adapted repackaging of pi-vent with a configurable output file |
voice-pipeline |
ESPHome voice assistant for ThinkSmart/ESP32 |
yolochat |
Zero-guardrail inter-instance messaging |
A push to any addons/<slug>/ path triggers the full chain:
- sync-catalog — regenerates
catalog.jsonwith public tarball URLs from addonpackage.jsonfiles - build + deploy — rebuilds the docs site and deploys the downloadable
.tgzfiles to GitHub Pages - publish — optionally mirrors version-bumped packages to GitHub Packages for archival/alternate consumption
The supported first-party runtime install path is the GitHub Pages tarball URL, not npm registry resolution.
See AGENTS.md for how to add a new addon, run the metadata checks, and test locally.