Join the Agent Deck Discord Server!
Discord에서 Agent Deck 커뮤니티 확인, 357명과 자유 음성·텍스트 채팅 이용
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기An open-source Discord bot hosted on Cloudflare and Google Cloud.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A powerful, self-hosted Discord bot platform built with SvelteKit 2 (Svelte 5) and deployed on Cloudflare Pages. Create custom slash commands, build event-driven automations, and monitor all Discord activity through a beautiful admin dashboard.
/room or a join-to-create lobby; a server preset decides who may make one, what
the creator can do to it, and when it closes itself/timebox start runs focus blocks and breaks (23/5/15 minutes by default),
alone or for everyone in your voice channel, with Pause / Skip / Stop and an optional
"deafen me" you can always lift. Off until a server enables it (see
docs/timebox.md)/quorum ask puts a yes/no question to the server; it closes itself
at the deadline, posts a RESULT naming an owner and a due date, and keeps counts
only, never who voted (see docs/quorum.md)AI_PROVIDER=ollama, default gemma3:4b)./servers where admins can publish
their community (off by default; see Server Browser)cron_expression values stored in D1 (see
docs/superadmin-workflows.md).mcp-server/) that
exposes SpaceBot data/operations to MCP-aware clients.SESSION_TTL_SECONDSRepository-ready external integrations are configured with environment variables, not hardcoded credentials:
PUBLIC_SUPPORT_DISCORD_URL, PUBLIC_BOT_VOTE_URL, and PUBLIC_BOT_REVIEW_URL power public community CTAs.SENTRY_DSN, SENTRY_ENVIRONMENT, and SENTRY_TRACES_SAMPLE_RATE enable Sentry.RATE_LIMIT_ENABLED, RATE_LIMIT_DEFAULT_WINDOW_SECONDS, and RATE_LIMIT_DEFAULT_MAX_REQUESTS enable D1-backed API limits.Useful checks:
bun run docs:api
bun run audit:deps
bun run images:check
bun run verify:http3
Secure Discord OAuth2 authentication for accessing the admin dashboard.
View event logs, statistics, and quick access to automations and commands.
The dashboard also supports a clean light theme.
Create event-driven automations that trigger on Discord events like member joins, message creates, voice state changes, and more.
Visual interface for configuring triggers, conditions, and actions for your automations.
Build custom slash commands with parameters and tie them to automation actions.
Design slash commands with options, parameters, and custom responses through an intuitive editor.
Comprehensive logging of all Discord events with filtering and search.
| Layer | Technology |
|---|---|
| Framework | SvelteKit 2 (Svelte 5) |
| Edge runtime | Cloudflare Pages/Workers |
| Package manager | Bun |
| Database | Cloudflare D1 (SQLite) |
| Bot Library | Discord.js 14 |
| AI | Cloudflare Workers AI / AI Gateway (prod); Ollama (dev only) |
| Styling | Custom CSS with CSS Variables |
| Auth | Discord OAuth2 |
Clone the repository
git clone https://github.com/starspacegroup/spacebot.git
cd spacebot
Install dependencies
bun install
Configure environment variables
Copy .env.example to .env and fill in your Discord credentials:
cp .env.example .env
Required variables:
| Variable | Description |
|---|---|
DISCORD_PUBLIC_KEY | Found in your app's "General Information" |
DISCORD_CLIENT_ID | Your application's Client ID |
DISCORD_CLIENT_SECRET | Found under OAuth2 settings |
DISCORD_BOT_TOKEN | Found under "Bot" settings |
ADMIN_USER_IDS | Comma-separated Discord user IDs with global admin access |
LOG_LEVEL | Logging verbosity: error, warn, info, debug |
Optional AI variables (for DM chat functionality):
| Variable | Description |
|---|---|
CLOUDFLARE_ACCOUNT_ID | Your Cloudflare account ID |
CLOUDFLARE_AI_TOKEN | API token with Workers AI permissions |
CLOUDFLARE_AI_GATEWAY_ID | (Optional) AI Gateway ID for analytics/caching |
CLOUDFLARE_AI_MODEL | (Optional) Override default LLM model |
Set up the database (local development)
bun run db:migrate:local
Run the development server
bun run dev
The app will be available at http://localhost:4269 (the port is pinned in
vite.config.js).
Start the Gateway bot (in a separate terminal)
bot, applications.commandsFor production, configure Discord to send interactions to your Cloudflare Pages URL:
https://your-domain.pages.dev/api/discord/interactions
| Script | Description |
|---|---|
bun run dev | Start SvelteKit dev server |
bun run dev:wrangler | Run with Wrangler (Cloudflare local environment) |
bun run dev:gateway | Start Discord gateway bot |
bun run dev:tunnel | Start cloudflared tunnel for local development |
bun run build | Build for production |
bun run db:migrate | Run database migrations (production) |
bun run db:migrate:local | Run database migrations (local) |
bun run register-commands | Register slash commands with Discord |
bun run test | Run the Vitest test suite |
bun run test:e2e | Run the Playwright smoke suite |
bun run typecheck | Type-check with svelte-check |
bun run lint | Run ESLint |
bun run runner | Start the local runner CLI |
SpaceBot's automation engine lets you create powerful event-driven workflows:
Use dynamic variables in your messages:
Welcome {user.mention} to {guild.name}!
Available: {user.id}, {user.name}, {user.mention}, {channel.name},
{guild.name}, {option.<name>}, and more.
Create custom slash commands through the web dashboard:
SpaceBot captures and logs all Discord events:
| Category | Events |
|---|---|
| 👤 Member | Join, leave, update, nickname changes |
| 💬 Message | Create, edit, delete, bulk delete |
| 🎤 Voice | Join, leave, mute, deafen, stream, video |
| 📁 Channel | Create, delete, update |
| 🏷️ Role | Create, delete, update, member assignments |
| 🔨 Moderation | Ban, unban, kick, timeout |
| ⚡ Interaction | Commands, buttons, modals, select menus |
| 📅 Events | Scheduled event create, update, delete |
Push to GitHub
git push origin main
Connect to Cloudflare Pages
bun run build.svelte-kit/cloudflareAdd Environment Variables In Cloudflare Pages Settings → Environment Variables, add all required variables.
Create D1 Database
wrangler d1 create spacebot-logs
Update wrangler.toml with the database ID.
Run Migrations
bun run db:migrate
Deploy Future pushes to main will auto-deploy.
AI queue orchestration also auto-deploys via GitHub Actions in .github/workflows/deploy-orchestrator-worker.yml.
Configure these repository secrets so worker deploys can run:
CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_IDORCHESTRATOR_SPACEBOT_API_BASEAI_AUTOPILOT_INTERNAL_KEYSee DEPLOYMENT.md for detailed instructions.
spacebot/
├── src/
│ ├── lib/
│ │ ├── ai/ # AI chat, MCP client, retry policy
│ │ ├── automation/ # Event → action automation engine
│ │ ├── components/ # Svelte components
│ │ ├── db/ # D1/SQLite access, one module per domain
│ │ ├── discord/ # Gateway client, REST, bot registry, commands
│ │ ├── integrations/ # External integrations (e.g. GitHub) + auth
│ │ ├── server/ # Server-only helpers (cron, workflow runtime)
│ │ └── utils/ # Shared utilities
│ ├── routes/
│ │ ├── admin/ # Per-server dashboard (under [serverId]/)
│ │ ├── account/ # User-level AI jobs / workflows / operations
│ │ └── api/ # REST endpoints (+ api/v1, api/runner/ws)
│ ├── tests/ # Vitest test suites
│ └── hooks.server.ts # Edge auth + request handling
├── orchestrator-worker/ # Cloudflare Queue consumer (AI autopilot, cron)
├── mcp-server/ # Standalone MCP server
├── scripts/ # CLIs and tooling (incl. scripts/local-runner/)
├── migrations/ # D1 database migrations (immutable once applied)
├── _functions/ # Cloudflare Pages Functions
├── static/ # Static assets
└── docs/ # Documentation (incl. architecture.md, screenshots/)
See docs/architecture.md for a diagram of how the runtimes fit together, and CLAUDE.md for the authoritative architecture notes.
Developer documentation is served on the main site at
https://spacebot.starspace.group/docs/dev — rendered at build time from
docs/, so there's no separate docs host to maintain.
Highlights: Architecture · API · Integrations · AI Autopilot · Local Runner v2 · Superadmin Workflows · Server Browser · Observability · Tutorials.
See ROADMAP.md for planned features and enhancements.
See CONTRIBUTING.md for local setup, the project's hard rules (immutable migrations, Bun-only, the multi-runtime model), and how to run tests before opening a PR.
MIT
bun run dev:gateway
This captures Discord events and processes automations.