{"id":48167138,"url":"https://github.com/codance-ai/multibot","last_synced_at":"2026-04-04T17:30:28.204Z","repository":{"id":344722374,"uuid":"1182843144","full_name":"codance-ai/multibot","owner":"codance-ai","description":"A fully serverless, multi-bot AI platform on Cloudflare edge. Create and manage multiple AI bots with one-click deploy.","archived":false,"fork":false,"pushed_at":"2026-03-29T05:13:07.000Z","size":1001,"stargazers_count":6,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-29T08:12:33.034Z","etag":null,"topics":["ai","chatbot","cloudflare-workers","discord-bot","durable-objects","multi-agent","serverless","telegram-bot","typescript"],"latest_commit_sha":null,"homepage":"https://github.com/codance-ai/multibot","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codance-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-16T02:28:33.000Z","updated_at":"2026-03-29T05:13:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/codance-ai/multibot","commit_stats":null,"previous_names":["codance-ai/multibot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codance-ai/multibot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codance-ai%2Fmultibot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codance-ai%2Fmultibot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codance-ai%2Fmultibot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codance-ai%2Fmultibot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codance-ai","download_url":"https://codeload.github.com/codance-ai/multibot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codance-ai%2Fmultibot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31407644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chatbot","cloudflare-workers","discord-bot","durable-objects","multi-agent","serverless","telegram-bot","typescript"],"created_at":"2026-04-04T17:30:24.600Z","updated_at":"2026-04-04T17:30:28.068Z","avatar_url":"https://github.com/codance-ai.png","language":"TypeScript","readme":"# multibot\n\nA fully serverless, multi-bot AI platform that runs on Cloudflare edge. Create, configure, and manage multiple AI bots through a web dashboard -- connect them to Telegram, Discord, or Slack with one click.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Node Version](https://img.shields.io/badge/node-20%2B-brightgreen.svg)](https://nodejs.org/)\n\n## Feature Highlights\n\n- **Fully Serverless**: Runs on Cloudflare edge (Workers + Durable Objects), scales automatically, one-click deploy\n- **Low Cost**: Starting at $5/month with pay-as-you-go pricing, no DevOps overhead\n- **Multi-Bot Group Chat**: Multiple AI bots collaborate in group conversations, coordinated by an orchestrator\n- **Memory**: Two-layer architecture (MEMORY + HISTORY) with LLM-driven consolidation across conversations\n- **Skills**: Markdown-driven skill system with progressive loading, extend bot capabilities without code changes\n- **Voice**: Speech-to-Text (Whisper) and Text-to-Speech (OpenAI TTS), talk to your bots naturally\n- **Scheduling**: One-shot, interval, and cron expressions with timezone support\n\n## Dashboard\n\n| Bot Management | Bot Configuration | Group Chat | Settings |\n|:-:|:-:|:-:|:-:|\n| [![Bot management](docs/screenshots/bot-list.png)](docs/screenshots/bot-list.png) | [![Bot configuration](docs/screenshots/bot-edit.png)](docs/screenshots/bot-edit.png) | [![Group chat](docs/screenshots/groups.png)](docs/screenshots/groups.png) | [![Settings](docs/screenshots/settings.png)](docs/screenshots/settings.png) |\n\n## Quick Start\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/) 20+\n- [Cloudflare account](https://dash.cloudflare.com/sign-up) with Workers Paid plan ($5/mo for Durable Objects \u0026 Cron Triggers)\n- [Fly.io Sprites](https://sprites.dev) API token (for bot sandbox -- shell \u0026 file tools)\n\n### Setup \u0026 Deploy\n\n```bash\ngit clone https://github.com/codance-ai/multibot.git\ncd multibot\n./scripts/setup.sh    # installs deps, logs in to CF, creates all resources\nnpm run deploy        # builds dashboard + deploys worker\n```\n\n`setup.sh` handles everything: installs dependencies, logs in to Cloudflare (opens browser), creates D1/R2 resources, auto-detects your account email and workers.dev subdomain, and generates `wrangler.toml` (gitignored).\n\n### After Deploying\n\nOpen `https://multibot.\u003cyour-subdomain\u003e.workers.dev`:\n\n1. **Add LLM API keys** -- Settings page, supports multiple providers\n2. **Create a bot** -- name, system prompt, model, skills\n3. **Bind a channel** -- connect Telegram, Discord, or Slack\n\n### Optional: Dashboard Auth\n\nSet `DASHBOARD_PASSWORD` and `OWNER_ID` as Worker secrets to protect the dashboard with password authentication:\n\n```bash\necho \"your-password\" | npx wrangler secret put DASHBOARD_PASSWORD\necho \"your-owner-id\" | npx wrangler secret put OWNER_ID\n```\n\n### Development\n\n```bash\nnpm run dev       # local dev server\nnpm test          # run all tests\nnpm run deploy    # build dashboard + deploy worker\n```\n\n## Architecture\n\n```\nTelegram ──┐\nDiscord  ──┼── Gateway (Worker) ──► Durable Object (Agent) ──► LLM Provider\nSlack    ──┘   token → botId        per conversation            OpenAI / Anthropic / Google / ...\n               chatId → agent       memory, tools, skills\n                                         │\n                                    Sandbox (Sprites)\n                                    shell, filesystem\n```\n\n| Concept | Description |\n|---------|-------------|\n| **User** | Platform user, owns bots, manages LLM API keys |\n| **Bot** | AI assistant with its own prompt, model, skills config |\n| **Channel** | Chat platform binding (Telegram / Discord / Slack) |\n| **Agent** | Runtime instance (DO), one per `{botId}-{channel}-{chatId}` |\n| **Sandbox** | Linux sandbox, one per bot, for shell/file tools ([Fly.io Sprites](https://sprites.dev)) |\n\n## License\n\nMIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodance-ai%2Fmultibot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodance-ai%2Fmultibot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodance-ai%2Fmultibot/lists"}