Your personal AI orchestrator.
Turn Discord into a persistent AI workspace.
View on GitHubNot a chatbot. An orchestrator.
Unlike chat UIs that forget you after every session, DiscoClaw is a persistent layer between Discord and your AI runtimes. It remembers context across conversations, manages tasks, runs autonomous crons, and routes to the right model — all from your own dedicated private server. It works while you sleep.
Remembers you across sessions, channels, and restarts. Three-layer memory: conversation, workspace, and long-term.
Track work in Discord forum threads with bidirectional sync. Create, update, and close tasks without leaving chat.
Scheduled tasks and webhook-triggered actions defined in plain language. Morning briefings, repo checks, CI hooks — on a timer or on demand.
Chain AI reasoning, shell commands, and Discord actions into multi-step workflows. Each step's output feeds the next. Analyze → act → notify — all composable, all auditable.
Claude, OpenAI, Gemini, Codex — use different models for different tasks. Authenticate with your existing plan or API key. Use the cheap model for crons, the smart one for code. You control the spend.
WebFetch to Chrome DevTools — a full automation ladder. Research, screenshot, scrape, interact.
No databases. State is JSON and markdown you can actually read. Backups are cp ‑r. Debug with cat. Intentionally simple — because for a single-user tool, it's all you need.
Portable, auditable integration specs in markdown. Build a workflow, export it as a recipe, share it. Another DiscoClaw instance picks it up and runs it — no code required.
DiscoClaw is a foundation. Describe what you need, and your AI builds it — with the tools already in the box. The only limit is what you ask for.
DiscoClaw lives in your own private Discord server — a personal AI workspace that's entirely yours. Not limited to single user. Designed for it. No auth layers, no permission matrices, no tenant isolation. Just full trust between you and your machine.
Channels give you natural context separation — code in one, finances in another, personal projects in a third. Threads for deep dives. Full history and search built in. Rich embeds, file sharing, mobile push notifications. And it runs everywhere: web, Mac, Windows, Linux, iOS, Android. Why build a worse version of something that already exists?
JSON, markdown, flat files. You can read the state with cat. You can back it up with cp. No migrations, no schemas.
No plugin marketplace. No integration catalog. DiscoClaw gives you the primitives — memory, pipelines, runtimes, tools — and you tell it what to build. Describe what you want in conversation and it builds it with you. Share what you've built as recipes — portable, auditable integration specs that other DiscoClaw instances can pick up and run.
Runs on your hardware. Memory stays local. Conversations stay inside your own Discord server. No cloud services between you and your AI beyond the API calls themselves.
Three commands. Two env vars. Zero infrastructure.
# Clone and install
$ git clone https://github.com/dmarsh233/discoclaw.git
$ cd discoclaw && pnpm install
# Set your two required env vars
$ cp .env.example .env
$ vim .env
DISCORD_TOKEN=your-bot-token
DISCORD_ALLOW_USER_IDS=your-discord-id
# Launch
$ pnpm dev Full setup guide in the README.
New to Discord bots? Follow these steps to create your private DiscoClaw workspace from scratch.
Click the + button at the bottom of Discord's server list to create a new server. Use this dedicated server for DiscoClaw — don't start in a shared or public server.
Go to the Discord Developer Portal and create a new application. Give it a name (e.g. "DiscoClaw").
This is the #1 setup failure mode. Without this, the bot connects and appears online,
but msg.content will be empty — the bot silently ignores every message.
On the Bot page, click Reset Token (or copy it if you just created the app).
Paste it into your .env file immediately.
DISCORD_TOKEN=paste-your-token-here Use the OAuth2 URL Generator to create an invite link. For a private server, Administrator is the simplest option — one checkbox, everything works.
Enable Developer Mode in Discord to copy IDs by right-clicking.
Then right-click your username → Copy User ID, and right-click a channel → Copy Channel ID.
DISCORD_ALLOW_USER_IDS=your-user-idDISCORD_CHANNEL_IDS=your-channel-id Run the smoke test to verify your token and connection, then DM the bot to confirm it responds.
pnpm discord:smoke-test