pinpox/opencrow

Personal AI assistant via Matrix Chat - A slightly saner alternative to OpenClaw

Go

50

328 commits

updated Jul 29, 2026

See the code

README

OpenCrow

A saner alternative to OpenClaw.

OpenCrow logo

OpenCrow is a messaging bot that bridges chat messages to omp (Oh My Pi), a coding agent with built-in tools, session persistence, auto-compaction, and multi-provider LLM support. Instead of reimplementing all of that in Go, OpenCrow spawns omp as a long-lived subprocess via its RPC protocol and acts as a thin bridge. The bot operates with a single active conversation at a time; session data persists across restarts.

OpenCrow supports multiple messaging backends:

  • Matrix — E2EE chat rooms via mautrix
  • Nostr — NIP-17 encrypted DMs via go-nostr
  • Signal — Signal chats via signal-cli
graph LR
    Transport[Matrix / Nostr / Signal] -->|message| Inbox[(Inbox)]
    Heartbeat -->|timer| Inbox
    Reminders[(reminders)] -->|due| Inbox
    Trigger["trigger.pipe"] -->|external| Inbox
    Inbox -->|dequeue| Worker -->|RPC| Pi["omp process"]
    Pi -->|response| Worker -->|reply| Transport

The Go bot receives messages from the configured backend, forwards them to the omp process, collects the response, and sends it back.

[!WARNING] There is no whitelisting, permission system, or tool filtering. Trying to bolt that onto LLM tool use is inherently futile — the model will find a way around it. The only real protection is running OpenCrow in a containerized or sandboxed environment. Use a NixOS container, VM, or similar isolation. The included NixOS module does exactly that. Don't run it on a machine where you'd mind the LLM running arbitrary commands.

Documentation

  • Tutorial — Step-by-step NixOS deployment with Matrix (includes Nostr variant)
  • Configuration — Environment variables, backend settings, secrets, and authentication
  • Skills — Teaching the agent new capabilities via markdown instructions
  • Extensions — TypeScript lifecycle hooks and custom tools
  • Heartbeat & Reminders — Periodic checks, one-shot reminders, trigger pipes
ai
assistant
openclaw
skills

Contributors

Mic92

278 commits

pinpox

46 commits

MayNiklas

2 commits

claude

1 commits

pinpox/opencrow

Personal AI assistant via Matrix Chat - A slightly saner alternative to OpenClaw

Go

50

328 commits

updated Jul 29, 2026

See the code

README

OpenCrow

A saner alternative to OpenClaw.

OpenCrow logo

OpenCrow is a messaging bot that bridges chat messages to omp (Oh My Pi), a coding agent with built-in tools, session persistence, auto-compaction, and multi-provider LLM support. Instead of reimplementing all of that in Go, OpenCrow spawns omp as a long-lived subprocess via its RPC protocol and acts as a thin bridge. The bot operates with a single active conversation at a time; session data persists across restarts.

OpenCrow supports multiple messaging backends:

  • Matrix — E2EE chat rooms via mautrix
  • Nostr — NIP-17 encrypted DMs via go-nostr
  • Signal — Signal chats via signal-cli
graph LR
    Transport[Matrix / Nostr / Signal] -->|message| Inbox[(Inbox)]
    Heartbeat -->|timer| Inbox
    Reminders[(reminders)] -->|due| Inbox
    Trigger["trigger.pipe"] -->|external| Inbox
    Inbox -->|dequeue| Worker -->|RPC| Pi["omp process"]
    Pi -->|response| Worker -->|reply| Transport

The Go bot receives messages from the configured backend, forwards them to the omp process, collects the response, and sends it back.

[!WARNING] There is no whitelisting, permission system, or tool filtering. Trying to bolt that onto LLM tool use is inherently futile — the model will find a way around it. The only real protection is running OpenCrow in a containerized or sandboxed environment. Use a NixOS container, VM, or similar isolation. The included NixOS module does exactly that. Don't run it on a machine where you'd mind the LLM running arbitrary commands.

Documentation

  • Tutorial — Step-by-step NixOS deployment with Matrix (includes Nostr variant)
  • Configuration — Environment variables, backend settings, secrets, and authentication
  • Skills — Teaching the agent new capabilities via markdown instructions
  • Extensions — TypeScript lifecycle hooks and custom tools
  • Heartbeat & Reminders — Periodic checks, one-shot reminders, trigger pipes
ai
assistant
openclaw
skills

Contributors

Mic92

278 commits

pinpox

46 commits

MayNiklas

2 commits

claude

1 commits

Languages

Go

86.0%

Nix

7.8%

TypeScript

6.1%