Based on repository activity, growth velocity and community engagement.
23
Growth3/30
Activity6/25
Popularity2/25
Trust13/20
2
Stars
High
Sentiment
Votes
2
README.md
š¤ OpenClaw-Gemma-Pro
Self-hosted GenAI Pro stack ā Gemma 4 via Ollama + OpenClaw + WhatsApp/Telegram + daily memory indexing for persistent cross-channel context.
Run a production-quality personal AI assistant for near-zero recurring cost.
No cloud API key required. Runs entirely on your laptop or server.
šŗ What It Looks Like
+-------------------------+
| You (WhatsApp/Telegram) |
+-----------+-------------+
|
v
+-------------------------+ +------------------+
| FastAPI Webhook Server +---->+ Skill Router |
+-------------------------+ +--------+---------+
|
+--------------+--------------+
| |
LITE tier PRO tier
gemma4:4b gemma4:27b
(fast, cheap) (smart, thorough)
| |
+--------------+--------------+
|
v
+---------------------+
| Memory Injector |
| daily summary |
| + durable facts |
+---------------------+
|
v
+---------------------+
| Your Response |
+---------------------+
ā” Installation
Pick your operating system:
š macOS
# Step 1 ā Install Ollama (native Mac app)
brew install ollama
# OR download the .app from https://ollama.com/download/mac
# Step 2 ā Pull Gemma 4 model
ollama pull gemma4:27b # PRO tier (16 GB RAM+)
# ollama pull gemma4:4b # LITE tier (8 GB RAM)
# Step 3 ā Clone & bootstrap
git clone https://github.com/jthiruveedula/openclaw-gemma-pro.git
cd openclaw-gemma-pro
bash scripts/bootstrap.sh
# Step 4 ā Copy env and start the multi-agent coordinator
cp .env.example .env
# Edit .env with your Telegram/WhatsApp tokens (see REQUIRED fields)
python -m workers.orchestrator.coordinator "ping"
Note: There is no app.main entrypoint ā the system is invoked via the orchestrator directly
or via the webhook server (coming soon). Use python -m workers.orchestrator.coordinator to run tasks.
š§ Linux
# Step 1 ā Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
sudo systemctl enable ollama
sudo systemctl start ollama
# Step 2 ā Pull Gemma 4 model
ollama pull gemma4:27b # PRO tier
# ollama pull gemma4:4b # LITE tier
# Step 3 ā Clone & bootstrap
git clone https://github.com/jthiruveedula/openclaw-gemma-pro.git
cd openclaw-gemma-pro
bash scripts/bootstrap.sh
# Step 4 ā Configure & run
cp .env.example .env
nano .env # Add your bot tokens (see REQUIRED fields)
python -m workers.orchestrator.coordinator "ping"
šŖ Windows
# Step 1 ā Install Ollama (Windows installer)
# Download from: https://ollama.com/download/windows
# Run OllamaSetup.exe, then open a NEW terminal
# Step 2 ā Pull Gemma 4 model
ollama pull gemma4:27b
# Step 3 ā Clone & bootstrap
git clone https://github.com/jthiruveedula/openclaw-gemma-pro.git
cd openclaw-gemma-pro
# Use Python venv (PowerShell)
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
# Step 4 ā Configure & run
copy .env.example .env
notepad .env # Add your bot tokens (see REQUIRED fields)
python -m workers.orchestrator.coordinator "ping"
Windows tip: Enable WSL2 for best performance: wsl --install then follow the Linux guide inside WSL.
WhatsApp / Telegram
|
v
Webhook Server (FastAPI) [coming soon]
|
v
[Skill: chat-router]
| |
v v
LITE tier PRO tier
gemma4:4b gemma4:27b
(Ollama :11434)
|
v
Memory Context Injection
(daily summary + durable facts)
|
v
Response sent back
|
v
Appended to memory/raw/YYYY-MM-DD.jsonl
š¤ Multi-Agent Architecture
OpenClaw-Gemma-Pro runs a DAG-based parallel agent framework:
User Goal
|
v
AgentCoordinator (workers/orchestrator/coordinator.py)
|
+-- [1] PlannerAgent --> calls Gemma 4, decomposes goal into subtasks
|
+-- [2] ExecutorAgents --> run subtasks IN PARALLEL (asyncio + semaphore)
| each action checked by ActionGuardrail before execution
|
+-- [3] MemoryAgent --> persists results:
| raw/YYYY-MM-DD.jsonl
| daily/YYYY-MM-DD.md
| facts/index.jsonl
|
+-- [4] CriticAgent --> scores output: pass / warn / fail
Agent Table
| Agent | File | What It Does |
|-------|------|-------------|
| š PlannerAgent | workers/agents/planner_agent.py | Decomposes goal into 2-6 subtasks via Gemma 4 |
| ā” ExecutorAgent | workers/agents/executor_agent.py | Runs each task; gates shell/file ops through guardrail |
| š§ MemoryAgent | workers/agents/memory_agent.py | 3-tier memory: raw logs, daily summaries, durable facts |
| š CriticAgent | workers/agents/critic_agent.py | Reviews outputs, flags issues, returns score |
| āļø CloudFallbackProvider | workers/agents/cloud_fallback.py | Falls back to OpenAI/Gemini Flash when Ollama fails |
š”ļø Guardrails
A multi-layer safety net that prevents accidental destructive actions:
Any risky action
|
v
ActionGuardrail.check()
|
+-- ALLOW --> execute
+-- WARN --> log + notify user
+-- BLOCK --> hard-stop, reason logged
Blocked by default:
rm -rf, DROP TABLE, shutil.rmtree memory/,
shell=True with destructive patterns,
writes to protected config paths
CI Safety Jobs
| Job | What It Checks |
|-----|----------------|
| lint-and-safety | Ruff, Mypy, Bandit, Safety audit |
| secret-scan | TruffleHog verified-secrets scan (pinned to v3) |
| delete-guard | Blocks PRs deleting >10 files or containing memory-wipe diffs |