Skip to main content

Configuration Guide

This document details all configuration options for OpenHuman.

Configuration File

OpenHuman uses a config.toml configuration file:

# config.toml
[app]
name = "OpenHuman"
version = "1.0.0"

[ai]
chat_model = "claude-sonnet-4-20250514"
reasoning_model = "claude-sonnet-4-20250514"
vision_model = "claude-sonnet-4-20250514"

[local_ai]
enabled = false
provider = "ollama"
ollama_url = "http://localhost:11434"
embedding_model = "all-minilm:latest"
memory_model = "gemma3:1b-it-qat"

[core]
mode = "local"

[search]
searxng_enabled = false
searxng_base_url = "http://localhost:8080"
max_results = 3

Environment Variables

Required Variables

OPENHUMAN_API_KEY=sk_xxx # Get from console

Optional Variables

OPENHUMAN_BASE_URL=https://api.tinyhumans.ai # Default
OPENHUMAN_MODEL_CHAT=claude-sonnet-4-20250514
OPENHUMAN_MODEL_REASONING=claude-sonnet-4-20250514
OPENHUMAN_TRIGGER_TRIAGE_DISABLED=false
OPENHUMAN_AUTO_FETCH_ENABLED=true

AI Configuration

Model Selection

ModelPurposeRecommended Scenario
claude-sonnet-4-20250514Daily conversation, writingDefault recommendation
claude-opus-4-20250514Complex reasoning, codeComplex tasks
claude-haiku-4-20250514Fast responsesSimple tasks

Model Routing

[model]
chat = "claude-sonnet-4-20250514"
reasoning = "claude-opus-4-20250514"
vision = "claude-sonnet-4-20250514"

Local AI Configuration

[local_ai]
enabled = true
provider = "ollama"

[local_ai.ollama]
url = "http://localhost:11434"
embedding_model = "all-minilm:latest"
memory_model = "gemma3:1b-it-qat"
heartbeat_model = "gemma3:1b-it-qat"

[local_ai.lm_studio]
url = "http://localhost:1234"

Core Configuration

Local Core

[core]
mode = "local"

Remote Core

[core]
mode = "remote"
rpc_url = "https://your-core.example/rpc"
token = "your-core-token"

Search Configuration

SearXNG Self-hosted

[searxng]
enabled = true
base_url = "http://localhost:8080"
max_results = 10
default_language = "en"
timeout_seconds = 10

Integration Configuration

Gmail

[integrations.gmail]
enabled = true
sync_interval = "5m"
max_results = 50

Slack

[integrations.slack]
enabled = true
workspace_id = "T0123456789"
channel_sync = ["C0123456789"]

Notion

[integrations.notion]
enabled = true
database_ids = ["xxx", "yyy"]
sync_interval = "15m"

Logging Configuration

[logging]
level = "info" # debug, info, warn, error
format = "json" # json, text
output = "file" # file, stdout

[logging.file]
path = "./logs/openhuman.log"
max_size = "100mb"
max_backups = 5

Security Configuration

[security]
encrypt_local_data = true
require_auth_for_api = true
api_key_prefix = "sk_"

[security.rate_limit]
enabled = true
requests_per_minute = 60
burst = 10

Next Steps