skill
discord-agent
Discord AI Agent bot with 45 tools, long-term memory, autonomous scheduler, and web capabilities. Powered by OpenRouter LLMs.
Set up
Skills are installed by placing their folder where your agent loads skills.
The download comes from github.com/sitne/discord-agent itself, not from our server, so what you get is exactly what its author published.
Install instructions come from the README
README
synced Oct 23, 2026🤖 discord-agent
A Discord bot that acts as an autonomous AI agent with 79 tools and 5 skills, long-term memory, a cron-based task scheduler, web capabilities, code generation with GitHub CI, a vision system for idea-to-project tracking, and an extensible skills system following the SKILL.md standard. Powered by any LLM on OpenRouter.
~6,500 lines of Python across 17 files. Built with discord.py.
Features
- LLM-powered agent — Routes through OpenRouter; switch models at runtime with
/model - 79 tools across 11 categories (Discord, Thread, Forum, Memory, Scheduler, Web, System, CodeGen, HTTP, Skills, Vision)
- Skills system — follows the SKILL.md standard with progressive disclosure; install community skills from GitHub, or let the bot create its own
- Long-term memory — SQLite + FTS5 hybrid search with automatic context injection
- Autonomous scheduler — Cron expressions, retry logic, dead-letter queue, execution history
- Web access — Search, news, page reading (3-tier extraction + caching), and screenshots via Playwright
- Conversation compression — Automatic summarization when context exceeds 20 messages
- Safety first — Permission checks and confirmation buttons for destructive actions
- Robust I/O — API retry with exponential backoff, parallel tool execution, image/text attachment processing
- Vision system — Capture ideas, refine them into projects, track milestones, active projects auto-injected into context
- MCP support — Connect external tool servers via
mcp_servers.json
Tools
| Category | Count | Tools |
|---|---|---|
| Discord | 18 | send_message edit_message delete_messages create_channel delete_channel rename_channel set_channel_topic list_channels list_members get_member_info set_nickname create_role assign_role remove_role kick_member ban_member unban_member get_server_info |
| Thread | 7 | create_thread list_threads edit_thread delete_thread thread_add_member thread_remove_member send_thread_message |
| Forum | 5 | create_forum create_forum_post list_forum_posts manage_forum_tags edit_forum |
| Memory | 5 | remember recall forget forget_by_key list_memory_categories |
| Scheduler | 5 | create_scheduled_task list_scheduled_tasks delete_scheduled_task toggle_scheduled_task get_task_history |
| Web | 4 | web_search web_news read_webpage screenshot_webpage |
| System | 11 | run_shell + 10 GitHub CLI tools |
| CodeGen | 6 | codegen_create_project codegen_update_files codegen_check_ci codegen_list_projects codegen_read_file codegen_delete_file |
| HTTP | 1 | http_request |
| Skills | 6 | list_skills load_skill create_skill install_skill remove_skill search_community_skills |
| Vision | 8 | capture_idea list_ideas search_ideas update_idea create_project list_projects update_project project_dashboard |
Setup
Requirements: Python 3.11+, uv
-
Clone and install dependencies
git clone https://github.com/sitne/discord-agent.git cd discord-agent uv sync uv run playwright install chromiumpython -m venv .venv && source .venv/bin/activate pip install -r requirements.txt playwright install chromium -
Configure environment
cp .env.example .envEdit
.envand set:DISCORD_TOKEN=your-bot-token OPENROUTER_API_KEY=your-api-key # Optional: override the default model # OPENROUTER_MODEL=openai/gpt-4o-mini -
Discord bot setup
Create a bot at the Discord Developer Portal with the following privileged intents enabled:
- Message Content
- Server Members
Invite the bot with permissions for managing channels, roles, messages, and members.
-
Optional: Cloudflare & GitHub CLI setup (recommended)
For web deployment via Cloudflare and GitHub integration:
# GitHub CLI (repo management, CI, issues) # https://cli.github.com/ gh auth login # Cloudflare CLI (Pages/Workers deploy) npm install -g wrangler # Set API token in .env (recommended for servers/bots) # Create at: https://dash.cloudflare.com/profile/api-tokens # → "Create Token" → "Edit Cloudflare Workers" template # Or for local dev: wrangler login (opens browser) -
Run
uv run python bot.pyOr with an activated venv:
python bot.py
Commands
| Command | Description |
|---|---|
/ask | Send a prompt to the agent (supports an optional image attachment) |
/model | View or switch the active LLM (e.g. google/gemini-2.5-flash, openai/gpt-4o-mini) |
📂 Project Structure
bot.py Entry point and bot initialization
db.py SQLite database, memory store, FTS5 search
tools.py Discord management tools (18)
tools_web.py Web search, reading, and screenshots
tools_system.py Shell execution and GitHub CLI tools
tools_codegen.py Code generation, GitHub project management, CI
tools_http.py Generic HTTP client with SSRF protection
tools_skills.py Skill management tools (SKILL.md standard)
tools_vision.py Vision system: ideas & project tracking
tools_permissions.py Permission checks and confirmation gates
skills_manager.py Skill discovery, loading, install, and creation
skills/*/SKILL.md Skill packages (5: cloudflare-deploy, data-analysis, image-gen, remotion-video, translation)
context_manager.py Conversation history and compression
cron_parser.py Cron expression parser
mcp_manager.py MCP server lifecycle and tool routing
cogs/
agent.py Core agent loop, LLM calls, tool dispatch
collector.py Message and attachment collection
scheduler.py Cron scheduler, retry, DLQ, history
MCP Servers
To connect external Model Context Protocol tool servers, create a mcp_servers.json in the project root:
{
"servers": [
{
"name": "example",
"command": "npx",
"args": ["-y", "@example/mcp-server"]
}
]
}
MCP tools are automatically discovered and made available to the agent alongside built-in tools.
Dependencies
- discord.py — Discord API
- openai — OpenRouter-compatible LLM client
- aiosqlite — Async SQLite + FTS5
- ddgs — Web search
- trafilatura + beautifulsoup4 — Content extraction
- playwright — Page screenshots
- mcp — MCP client
License
MIT