Skip to content

rcarmo/piclaw-addons

Repository files navigation

piclaw-addons

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.


Installing add-ons

Important: first-party piclaw-addons installs 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.

Web UI (recommended)

Open Settings → Add-Ons, pick an add-on, click Install. Restart required.

pi install

pi install https://rcarmo.github.io/piclaw-addons/packages/piclaw-addon-proxmox-0.1.5.tgz

bun add

cd /workspace/.pi/extensions
bun add https://rcarmo.github.io/piclaw-addons/packages/piclaw-addon-proxmox-0.1.5.tgz

Settings panes and config

Add-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
  • 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

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:


Available add-ons

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

Publishing workflow

Event sequence

A push to any addons/<slug>/ path triggers the full chain:

  1. sync-catalog — regenerates catalog.json with public tarball URLs from addon package.json files
  2. build + deploy — rebuilds the docs site and deploys the downloadable .tgz files to GitHub Pages
  3. 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.


Contributing

See AGENTS.md for how to add a new addon, run the metadata checks, and test locally.