# Copy to config/local.yaml and set your paths. Do not commit config/local.yaml. # Full schema: docs/SPEC.md §4.4. Use env for secrets (e.g. OPENAI_API_KEY). # --- Required --- # Absolute path to the vault (Obsidian-style Markdown root) # vault_path: /absolute/path/to/knowtation/vault # Or env: KNOWTATION_VAULT_PATH # --- Vector store (one of) --- # Qdrant: requires a running Qdrant server. Use for multi-process or scale. # qdrant_url: http://localhost:6333 # Or env: QDRANT_URL # vector_store: qdrant # # sqlite-vec: no separate server; DB under data_dir. Use for single-machine, simple setup. # vector_store: sqlite-vec # data_dir: data/ # env KNOWTATION_DATA_DIR; DB file: data/knowtation_vectors.db # Or env: KNOWTATION_VECTOR_STORE=sqlite-vec # --- Embedding (indexer and search) --- # embedding: # provider: ollama # model: nomic-embed-text # # ollama_url: http://localhost:11434 # optional override # Or env: OLLAMA_URL (overrides ollama_url in file when set; same as hub bridge) # For OpenAI: set OPENAI_API_KEY in env and use provider: openai, model: text-embedding-3-small # For Voyage (cloud vectors, non-OpenAI): set VOYAGE_API_KEY and provider: voyage, model: voyage-4-lite # Env overrides: EMBEDDING_PROVIDER=ollama|openai|voyage EMBEDDING_MODEL=... (same as hosted bridge) # --- Indexer chunking (optional) --- # indexer: # chunk_size: 2048 # chars (~512 tokens); overlap below # chunk_overlap: 256 # --- Transcription (audio/video import) --- # transcription: # provider: openai # model: whisper-1 # # When a file is over OpenAI's ~25MB limit, self-hosted Hub/CLI can auto-compress via ffmpeg (if installed on PATH or FFMPEG_PATH). # transcode_oversized: true # default true; set false to skip ffmpeg and fail fast on oversized files # Requires OPENAI_API_KEY in env. Optional: KNOWTATION_TRANSCODE_OVERSIZED=0 to disable transcode via env. # Get key: platform.openai.com → API Keys. New accounts get $5 free credits; Whisper ~$0.006/min. # ffmpeg: https://ffmpeg.org/download.html — Docker Hub image includes ffmpeg when built from hub/Dockerfile. # --- Optional: memory layer (timestamped event log, semantic recall) --- # memory: # enabled: true # provider: file # file | vector | mem0 | supabase # # url: http://localhost:8080 # for Mem0 provider; env KNOWTATION_MEMORY_URL # # retention_days: 90 # null = keep forever; number = auto-prune # # scope: vault # vault (per-vault, default) | global (shared across all vaults) # # encrypt: false # true = AES-256-GCM at rest; requires secret or KNOWTATION_MEMORY_SECRET # # secret: "" # encryption key; prefer env KNOWTATION_MEMORY_SECRET over YAML # # supabase_url: "" # for Supabase provider; env KNOWTATION_SUPABASE_URL # # supabase_key: "" # for Supabase provider; env KNOWTATION_SUPABASE_KEY # # capture: # which events to auto-capture (defaults below) # # - search # # - export # # - write # # - import # # - index # # - propose # # # opt-in: agent_interaction, capture, error, session_summary # --- Optional: AIR attestation (before write non-inbox, before export) --- # air: # enabled: false # endpoint: http://localhost:3000 # Or env: KNOWTATION_AIR_ENDPOINT # --- Vault Git (optional backup / versioning) --- # vault: # git: # enabled: true # remote: https://github.com/you/your-vault-repo.git # auto_commit: false # set true to auto-commit after Hub write/capture/approve (and CLI write if using Hub) # auto_push: false # set true to push after each auto-commit (requires remote) # Proposals stay Hub-only; Git is for the vault content. See PROVENANCE-AND-GIT.md. # --- MCP Streamable HTTP (optional; default is stdio) --- # mcp: # http_port: 3334 # http_host: 127.0.0.1 # use 0.0.0.0 only with auth / firewall; see docs/MCP-PHASE-D.md # Or env: KNOWTATION_MCP_HTTP_PORT, MCP_TRANSPORT=http # --- Reserved: Phase 12 (blockchain / agent payments) --- # Future config may add blockchain or payment-related keys. No keys in current schema.