Add Honcho (https://github.com/plastic-labs/honcho) as a self-hosted memory infrastructure for stateful AI agents. Changes: - ai/honcho/Dockerfile: multi-stage build from Honcho GitHub source - ai/honcho/init.sql: CREATE EXTENSION vector for pgvector - ai/compose.yml: add honcho-db (pgvector/pgvector:pg17-trixie) and honcho services with ai_backend/ai_net networking and Traefik labels - build/honcho/config.toml: pre-configured for Ollama embeddings (nomic-embed-text via http://ollama:11434/v1), deriver/summary/dream disabled by default - env/.env.example.honcho: sample env vars (HONCHO_DB_PASSWORD, LLM_OPENAI_API_KEY) Usage: cp env/.env.example.honcho .env # edit secrets mkdir -p /mnt/HoardingCow_docker_data/Honcho cp build/honcho/config.toml /mnt/HoardingCow_docker_data/Honcho/config.toml docker compose -f ai/compose.yml up honcho
94 lines
1.7 KiB
TOML
94 lines
1.7 KiB
TOML
# Honcho Configuration
|
|
# Pre-configured for self-hosted deployment with Ollama embeddings.
|
|
# Mount this file at /app/config.toml in the Honcho container.
|
|
#
|
|
# Environment variables override these values at runtime
|
|
# (e.g. DB_CONNECTION_URI, DERIVER_*).
|
|
|
|
[app]
|
|
LOG_LEVEL = "INFO"
|
|
NAMESPACE = "honcho"
|
|
SESSION_OBSERVERS_LIMIT = 10
|
|
GET_CONTEXT_MAX_TOKENS = 16384
|
|
EMBED_MESSAGES = true
|
|
|
|
[db]
|
|
# Connection URI is set via environment variable DB_CONNECTION_URI
|
|
SCHEMA = "public"
|
|
POOL_SIZE = 10
|
|
MAX_OVERFLOW = 20
|
|
POOL_TIMEOUT = 30
|
|
POOL_RECYCLE = 300
|
|
POOL_PRE_PING = true
|
|
POOL_USE_LIFO = true
|
|
SQL_DEBUG = false
|
|
|
|
[auth]
|
|
USE_AUTH = false
|
|
|
|
[llm]
|
|
DEFAULT_MAX_TOKENS = 4096
|
|
|
|
[embedding]
|
|
VECTOR_DIMENSIONS = 768
|
|
MAX_INPUT_TOKENS = 8192
|
|
MAX_TOKENS_PER_REQUEST = 2048
|
|
|
|
[embedding.model_config]
|
|
transport = "openai"
|
|
model = "nomic-embed-text:latest"
|
|
|
|
[embedding.model_config.overrides]
|
|
base_url = "http://ollama:11434/v1"
|
|
# Ollama does not require an API key; env var must be set to non-empty string
|
|
api_key_env = "LLM_OPENAI_API_KEY"
|
|
|
|
[deriver]
|
|
ENABLED = false
|
|
WORKERS = 1
|
|
POLLING_SLEEP_INTERVAL_SECONDS = 1.0
|
|
STALE_SESSION_TIMEOUT_MINUTES = 5
|
|
DEDUPLICATE = true
|
|
LOG_OBSERVATIONS = false
|
|
|
|
[deriver.model_config]
|
|
transport = "openai"
|
|
model = "qwen3.6:27b-q4_K_M"
|
|
|
|
[deriver.model_config.overrides]
|
|
base_url = "http://ollama:11434/v1"
|
|
api_key_env = "LLM_OPENAI_API_KEY"
|
|
|
|
[summary]
|
|
ENABLED = false
|
|
|
|
[summary.model_config]
|
|
transport = "openai"
|
|
model = "qwen3.6:27b-q4_K_M"
|
|
|
|
[summary.model_config.overrides]
|
|
base_url = "http://ollama:11434/v1"
|
|
api_key_env = "LLM_OPENAI_API_KEY"
|
|
|
|
[dream]
|
|
ENABLED = false
|
|
|
|
[dialectic]
|
|
MAX_OUTPUT_TOKENS = 4096
|
|
MAX_INPUT_TOKENS = 16384
|
|
|
|
[cache]
|
|
ENABLED = false
|
|
|
|
[vector_store]
|
|
TYPE = "pgvector"
|
|
|
|
[metrics]
|
|
ENABLED = false
|
|
|
|
[telemetry]
|
|
ENABLED = false
|
|
|
|
[sentry]
|
|
ENABLED = false
|