-
Notifications
You must be signed in to change notification settings - Fork 2
Home
AI assistant framework with intelligent model routing, multi-LLM support, and autonomous execution capabilities
GolemCore Bot is an extensible AI assistant built with Spring Boot 4.0.2 (Java 17). It processes messages through an ordered pipeline of specialized systems, supports multiple LLM providers, and offers powerful tool integrations including MCP protocol support. Configuration is managed through a built-in web dashboard.
| Category | Highlights |
|---|---|
| Web Dashboard | Built-in UI for configuration, chat, and monitoring — no env vars needed for most settings |
| Intelligent Processing | 4-tier model selection with per-user overrides, dynamic tier escalation, context overflow protection |
| Tools | 12+ built-in tools (incl. IMAP/SMTP email), MCP protocol support, sandboxed execution, tool confirmation workflow |
| Advanced Capabilities | Plan mode (review-before-execute), auto mode (autonomous goals), skill pipelines, RAG integration, LLM-powered compaction, modular system prompt |
| Multi-LLM & Channels | OpenAI, Anthropic, Google, custom endpoints; Telegram channel with voice; webhooks for external integrations |
| Security | 5 security layers, rate limiting, user allowlists, tool confirmation |
- Quick Start — Get running in 5 minutes
- Dashboard — Web UI for configuration and chat
- Configuration — Runtime config, environment variables, storage layout
- Deployment — Docker, systemd, production setup
- Architecture — System design, pipeline, patterns
- Model Routing — Tier selection, dynamic upgrades, context overflow
- Skills — Create, configure, and orchestrate skills
- Tools — Built-in tools and workspace sandboxing
- MCP — Model Context Protocol integration
- Plan Mode — Review-before-execute workflow
- Auto Mode — Autonomous goal-driven execution
- Memory System — Sessions, daily notes, long-term memory
- RAG Integration — LightRAG for semantic memory
- Webhooks — Inbound HTTP webhooks for external systems
- Security — Security layers and hardening
- Coding Guide — Code style, conventions, commit messages
- Contributing — Development workflow, PR process
- Commands — Slash commands reference
- FAQ — Common questions and troubleshooting
| Component | Technology | Version |
|---|---|---|
| Language | Java | 17+ |
| Framework | Spring Boot | 4.0.2 |
| LLM Integration | LangChain4j | 1.0.0-beta1 |
| Dashboard | React + TypeScript + Vite | 18 / 5.7 / 6 |
| Messaging | Telegram Bots | 8.2.0 |
| Browser | Playwright | 1.49.0 |
| HTTP Client | Feign + OkHttp | 13.5 + 4.12 |
| Voice | ElevenLabs (STT + TTS) | API v1 |
| Testing | JUnit 5 + Mockito | — |
| Code Quality | SpotBugs + PMD + JaCoCo | — |
# Build & run
git clone https://github.com/alexk-dev/golemcore-bot.git
cd golemcore-bot
./mvnw compile jib:dockerBuild
docker run -d --name golemcore-bot \
--shm-size=256m --cap-add=SYS_ADMIN \
-e STORAGE_PATH=/app/workspace \
-e TOOLS_WORKSPACE=/app/sandbox \
-v golemcore-bot-data:/app/workspace \
-v golemcore-bot-sandbox:/app/sandbox \
-p 8080:8080 --restart unless-stopped \
golemcore-bot:latest
# Open dashboard, login with temp password from logs
open http://localhost:8080/dashboardMost settings (LLM API keys, Telegram token, tool toggles, etc.) are configured in the dashboard and persisted to preferences/runtime-config.json. See Dashboard and Configuration for details.
Apache License 2.0 — commercial use allowed, patent protection for contributors. See LICENSE.
GolemCore Bot -- Apache License 2.0 | GitHub | Issues | Discussions
Getting Started
Core Concepts
Features
Reference
Development