crocbot 🐊
“Cold-blooded patience, chrome-laced synapses.” — The crocodile in the datastream

Telegram gateway for AI agents (Pi).
Send a message, get an agent response.
GitHub · Releases · Docs · crocbot assistant setup
crocbot bridges Telegram (Bot API / grammY) to coding agents like Pi.THS IS A FORK OF OPENCLAW ()
Start here
- New install from zero: Getting Started
- Guided setup (recommended): Wizard (
crocbot onboard) - Open the dashboard (local Gateway): http://127.0.0.1:18789/ (or http://localhost:18789/)
crocbot gateway.
Dashboard (browser Control UI)
The dashboard is the browser Control UI for chat, config, nodes, sessions, and more. Local default: http://127.0.0.1:18789/ Remote access: Web surfaces and TailscaleHow it works
crocbot gateway), a single long-running process that owns the Telegram connection and the WebSocket control plane.
Network model
- One Gateway per host (recommended): If you need a rescue bot or strict isolation, run multiple gateways with isolated profiles and ports; see Multiple gateways.
- Loopback-first: Gateway WS defaults to
ws://127.0.0.1:18789.- The wizard now generates a gateway token by default (even for loopback).
- For Tailnet access, run
crocbot gateway --bind tailnet --token ...(token is required for non-loopback binds).
- Remote use: SSH tunnel or tailnet/VPN; see Remote access and Discovery.
Features (high level)
- Telegram Bot - DMs + groups via grammY
- Agent bridge - Pi (RPC mode) with tool streaming
- Streaming + chunking - Block streaming + Telegram draft streaming details (/concepts/streaming)
- Multi-agent routing - Route peers to isolated agents (workspace + per-agent sessions)
- Subscription auth - Anthropic (Claude Pro/Max) + OpenAI (ChatGPT/Codex) via OAuth
- Sessions - Direct chats collapse into shared
main(default); groups are isolated - Group Chat Support - Mention-based by default; owner can toggle
/activation always|mention - Media Support - Send and receive images, audio, documents
- Voice notes - Optional transcription hook
- WebChat - Local UI for chat and ops
Quick start
Runtime requirement: Node ≥ 22.crocbot doctor to update the gateway service entrypoint.
From source (development):
pnpm crocbot ... from the repo.
Multi-instance quickstart (optional):
Configuration (optional)
Config lives at~/.crocbot/crocbot.json.
- If you do nothing, crocbot uses the bundled Pi binary in RPC mode with per-sender sessions.
- If you want to lock it down, start with
channels.telegram.allowFromand (for groups) mention rules.
Docs
- Start here:
- Docs hubs (all pages linked)
- Help ← common fixes + troubleshooting
- Configuration
- Configuration examples
- Slash commands
- Multi-agent routing
- Updating / rollback
- Nix mode
- crocbot assistant setup (Croc)
- Skills
- Skills config
- Workspace templates
- RPC adapters
- Gateway runbook
- Nodes
- Web surfaces (Control UI)
- Discovery + transports
- Remote access
- Providers and UX:
- Platform guides:
- Ops and safety:
The name
crocbot = CROC + BOT — Nature’s apex predator, jacked into the grid. 200 million years of evolution + sub-second API calls.“We’re all just playing with our own prompts.” — an AI, probably high on tokens
Credits
- Peter Steinberger (@steipete) — Creator, crocodile whisperer
- Mario Zechner (@badlogicc) — Pi creator, security pen-tester
- Croc — The chrome crocodile who was already waiting
Core Contributors
- Maxim Vovshin (@Hyaxia, 36747317+Hyaxia@users.noreply.github.com) — Blogwatcher skill
- Nacho Iacovino (@nachoiacovino) — Location parsing
License
MIT — Patient as a crocodile in the datastream 🐊“We’re all just playing with our own prompts.” — An AI, probably high on tokens
