GhostCommander is an autonomous Omni-Agent for Discord built in Python. It combines Groq-powered reasoning, persistent local memory, GitHub automation, job discovery, and system telemetry inside one command-driven bot.
- Groq Brain: Fast, low-cost reasoning with Groq-hosted LLaMA models.
- Persistent Memory: Uses a local SQLite database (
data/dev_stats.db) and immutableaction_logsfor auditability. - Job Hunter: Scrapes entry-level roles, bypasses ATS-heavy sources, deduplicates results, and injects qualified jobs into Notion.
- Auto-Streaker: Generates daily Python challenges, solves them, and commits autonomously to GitHub to maintain contribution streaks.
- System Monitor: Reports CPU/RAM status and recent GitHub Actions workflow states directly in Discord.
- Discord-Native Workflow: Slash commands, interactive confirmation views, reminders, and autonomous scheduled loops.
- Python 3.10+
- A Discord bot token
- A Groq API key
- A GitHub token
- A Notion API key
Create your runtime config file from the provided example:
cp .env.example .envThen fill the values in .env:
DISCORD_TOKENGROQ_API_KEYGITHUB_TOKENNOTION_API_KEYNOTION_DATABASE_IDNOTION_JOB_DB_IDCHAT_CHANNEL_IDLOG_CHANNEL_IDFEED_CHANNEL_IDTRACKER_CHANNEL_IDJOB_ALERT_CHANNEL_ID
git clone https://github.com/<your-org-or-user>/Gen-Ghost_v1.git
cd Gen-Ghost_v1
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
cp .env.example .env
# Edit .env with your real values
python main.pydocker compose up -d --buildThe bot stores memory and audit logs in data/dev_stats.db. Keep data/ mounted as a persistent volume so memory survives restarts.
.
|-- cogs/ # Discord cogs (commands, loops, automations)
|-- utils/ # Integrations, tools, scraping, UI helpers
|-- data/ # Runtime SQLite database (created at runtime)
|-- main.py # Bot entrypoint
|-- requirements.txt
Contributions are welcome. Open an issue first for significant changes so scope can be agreed before implementation.
If you want to take on a feature request, comment:
I'd like to work on this!
This helps maintainers assign work and avoid duplicated effort.
This project is licensed under the MIT License. See LICENSE.