configuring-agent-brain
Configuring Agent Brain
Installation and configuration for Agent Brain document search with pluggable providers.
Contents
- Quick Setup
- Prerequisites
- Installation
- Provider Configuration
- Project Initialization
- Verification
- When Not to Use
- Reference Documentation
Quick Setup
Option A: Local with Ollama (FREE, No API Keys)
# 1. Install packages
pip install agent-brain-rag agent-brain-cli
# 2. Install and start Ollama
brew install ollama # macOS
ollama serve &
ollama pull nomic-embed-text
ollama pull llama3.2
# 3. Configure for Ollama
export EMBEDDING_PROVIDER=ollama
export EMBEDDING_MODEL=nomic-embed-text
export SUMMARIZATION_PROVIDER=ollama
export SUMMARIZATION_MODEL=llama3.2
# 4. Initialize and start
agent-brain init
agent-brain start
agent-brain status
Option B: Cloud Providers (Best Quality)
# 1. Install packages
pip install agent-brain-rag agent-brain-cli
# 2. Configure API keys
export OPENAI_API_KEY="sk-proj-..." # For embeddings
export ANTHROPIC_API_KEY="sk-ant-..." # For summarization (optional)
# 3. Initialize and start
agent-brain init
agent-brain start
agent-brain status
Validation: After each step, verify success before proceeding to the next.
Prerequisites
Required
- Python 3.10+: Verify with
python --version - pip: Python package manager
Provider-Dependent
- OpenAI API Key: Required for OpenAI embeddings
- Ollama: Required for local/private deployments (no API key needed)
System Requirements
- ~500MB RAM for typical document collections
- ~1GB RAM with GraphRAG enabled
- Disk space for ChromaDB vector store
Installation
Standard Installation
pip install agent-brain-rag agent-brain-cli
Verify installation succeeded:
agent-brain --version
Expected: Version number displayed (e.g., 3.0.0 or current version)
With GraphRAG Support
pip install "agent-brain-rag[graphrag]" agent-brain-cli
# Kuzu backend (optional):
pip install "agent-brain-rag[graphrag-kuzu]" agent-brain-cli
Enable GraphRAG (server)
export ENABLE_GRAPH_INDEX=true # Master switch (default: false)
export GRAPH_STORE_TYPE=simple # or kuzu
export GRAPH_INDEX_PATH=./graph_index
export GRAPH_USE_CODE_METADATA=true # Extract from AST metadata
export GRAPH_USE_LLM_EXTRACTION=true # Use LLM extractor when available
export GRAPH_MAX_TRIPLETS_PER_CHUNK=10 # Triplet cap per chunk
export GRAPH_TRAVERSAL_DEPTH=2 # Default traversal depth
export GRAPH_EXTRACTION_MODEL=claude-haiku-4-5
Add the same values to your .env if you prefer file-based config.
Virtual Environment (Recommended)
python -m venv .venv
source .venv/bin/activate # macOS/Linux
pip install agent-brain-rag agent-brain-cli
Installation Troubleshooting
| Problem | Solution |
|---|---|
pip not found |
Run python -m ensurepip |
| Permission denied | Use pip install --user or virtual env |
| Module not found after install | Restart terminal or activate venv |
| Wrong Python version | Use python3.10 -m pip install |
Counter-example - Wrong approach:
# DO NOT use sudo with pip
sudo pip install agent-brain-rag # Wrong - creates permission issues
Correct approach:
pip install --user agent-brain-rag # Correct - user installation
# OR use virtual environment
Provider Configuration
Agent Brain supports pluggable providers with two configuration methods.
Method 1: Configuration File (Recommended)
Create a config.yaml file in one of these locations:
- Project-level:
.claude/agent-brain/config.yaml - User-level:
~/.agent-brain/config.yaml - XDG config:
~/.config/agent-brain/config.yaml - Current directory:
./config.yamlor./agent-brain.yaml
# ~/.agent-brain/config.yaml
server:
url: "http://127.0.0.1:8000"
port: 8000
project:
state_dir: null # null = use default (.claude/agent-brain)
embedding:
provider: "openai"
model: "text-embedding-3-large"
api_key: "sk-proj-..." # Direct key, OR use api_key_env
# api_key_env: "OPENAI_API_KEY" # Read from env var
summarization:
provider: "anthropic"
model: "claude-haiku-4-5-20251001"
api_key: "sk-ant-..." # Direct key, OR use api_key_env
# api_key_env: "ANTHROPIC_API_KEY"
Config file search order: AGENT_BRAIN_CONFIG env → current dir → project dir → user home
Security: If storing API keys in config file:
- Set file permissions:
chmod 600 ~/.agent-brain/config.yaml - Add to
.gitignore:config.yaml - Never commit API keys to version control
Method 2: Environment Variables
Set variables in shell or .env file:
export EMBEDDING_PROVIDER=openai
export EMBEDDING_MODEL=text-embedding-3-large
export SUMMARIZATION_PROVIDER=anthropic
export SUMMARIZATION_MODEL=claude-haiku-4-5-20251001
export OPENAI_API_KEY="sk-proj-..."
export ANTHROPIC_API_KEY="sk-ant-..."
Precedence order: CLI options → environment variables → config file → defaults
Provider Profiles
Fully Local with Ollama (No API Keys)
Best for privacy, air-gapped environments:
Config file (~/.agent-brain/config.yaml):
embedding:
provider: "ollama"
model: "nomic-embed-text"
base_url: "http://localhost:11434/v1"
summarization:
provider: "ollama"
model: "llama3.2"
base_url: "http://localhost:11434/v1"
Or environment variables:
export EMBEDDING_PROVIDER=ollama
export EMBEDDING_MODEL=nomic-embed-text
export SUMMARIZATION_PROVIDER=ollama
export SUMMARIZATION_MODEL=llama3.2
Prerequisite: Ollama must be installed and running with models pulled.
Cloud (Best Quality)
Config file:
embedding:
provider: "openai"
model: "text-embedding-3-large"
api_key: "sk-proj-..."
summarization:
provider: "anthropic"
model: "claude-haiku-4-5-20251001"
api_key: "sk-ant-..."
Or environment variables:
export OPENAI_API_KEY="sk-proj-..."
export ANTHROPIC_API_KEY="sk-ant-..."
Mixed (Balance Quality and Privacy)
embedding:
provider: "openai"
model: "text-embedding-3-large"
api_key: "sk-proj-..."
summarization:
provider: "ollama"
model: "llama3.2"
Verify Configuration
agent-brain verify
Counter-example - Common mistake:
# DO NOT put keys in shell command history
OPENAI_API_KEY="sk-proj-abc123" agent-brain start # Wrong - key in history
Correct approaches:
# Use config file (keys are in file, not command line)
agent-brain start
# Or use environment from shell profile
export OPENAI_API_KEY="sk-proj-..." # In ~/.bashrc
agent-brain start
Project Initialization
Initialize Project
Navigate to the project root and run:
agent-brain init
Verify initialization succeeded:
ls .claude/agent-brain/config.json
Expected: File exists
Start Server
agent-brain start
Verify server started:
agent-brain status
Expected output:
Server Status: healthy
Port: 49321
Documents: 0
Mode: project
Index Documents
agent-brain index ./docs
Verify indexing succeeded:
agent-brain status
Expected: Documents count > 0
Test Search
agent-brain query "test query" --mode hybrid
Expected: Search results or "No results" (not an error)
Verification
Full Verification Checklist
Run each command and verify expected output:
-
agent-brain --versionshows version number -
echo ${OPENAI_API_KEY:+SET}shows "SET" (if using OpenAI) -
ls .claude/agent-brain/config.jsonfile exists -
agent-brain statusshows "healthy" -
agent-brain statusshows document count > 0 -
agent-brain query "test"returns results or "no matches"
GraphRAG Verification (if enabled)
-
echo ${ENABLE_GRAPH_INDEX}shows "true" -
agent-brain status --json | jq '.graph_index'shows graph index info -
agent-brain query "class relationships" --mode graphreturns results or graceful error -
agent-brain query "how it works" --mode multireturns fused results
Automated Verification
agent-brain verify
This runs all checks and reports any issues.
When Not to Use
This skill focuses on installation and configuration. Do NOT use for:
- Searching documents - Use
using-agent-brainskill instead - Query optimization - Use
using-agent-brainskill instead - Understanding search modes - Use
using-agent-brainskill instead - GraphRAG queries - Use
using-agent-brainskill instead
Scope boundary: Once Agent Brain is installed, configured, initialized, and verified healthy, switch to the using-agent-brain skill for search operations.
Common Setup Issues
Issue: Module Not Found
pip install --force-reinstall agent-brain-rag agent-brain-cli
Issue: API Key Not Working
# Test OpenAI key
curl -s https://api.openai.com/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY" | head -c 100
Expected: JSON response (not error)
Issue: Server Won't Start
# Check for stale state
rm -f .claude/agent-brain/runtime.json
rm -f .claude/agent-brain/lock.json
agent-brain start
Issue: Ollama Connection Failed
# Verify Ollama is running
curl http://localhost:11434/api/tags
Expected: JSON with model list
Issue: No Search Results
agent-brain status # Check document count
If count is 0, index documents:
agent-brain index ./docs
Environment Variables Reference
| Variable | Required | Default | Description |
|---|---|---|---|
AGENT_BRAIN_CONFIG |
No | - | Path to config.yaml file |
AGENT_BRAIN_URL |
No | http://127.0.0.1:8000 |
Server URL for CLI |
AGENT_BRAIN_STATE_DIR |
No | .claude/agent-brain |
State directory path |
EMBEDDING_PROVIDER |
No | openai |
Provider: openai, cohere, ollama |
EMBEDDING_MODEL |
No | text-embedding-3-large |
Model name |
SUMMARIZATION_PROVIDER |
No | anthropic |
Provider: anthropic, openai, gemini, grok, ollama |
SUMMARIZATION_MODEL |
No | claude-haiku-4-5-20251001 |
Model name |
OPENAI_API_KEY |
Conditional | - | Required if using OpenAI |
ANTHROPIC_API_KEY |
Conditional | - | Required if using Anthropic |
GOOGLE_API_KEY |
Conditional | - | Required if using Gemini |
XAI_API_KEY |
Conditional | - | Required if using Grok |
COHERE_API_KEY |
Conditional | - | Required if using Cohere |
Note: Environment variables override config file values. Config file values override defaults.
Reference Documentation
| Guide | Description |
|---|---|
| Configuration Guide | Config file format and locations |
| Installation Guide | Detailed installation options |
| Provider Configuration | All provider settings |
| Troubleshooting Guide | Extended issue resolution |
Support
- Issues: https://github.com/SpillwaveSolutions/agent-brain-plugin/issues
- Documentation: Reference guides in this skill