← Home

Knob Registry

This is the complete configuration surface area: every tunable knob exposed by the Pydantic config models, with tooltips layered in where they exist.

Use search to jump to a setting, then copy the dot-path into config or the UI. For environment-style keys, we show the matching env key when available.

chunk_summaries (8)

dot-path → type → default → env key (if available)
  • chunk_summaries.code_snippet_length
    env: CHUNK_SUMMARIES_CODE_SNIPPET_LENGTH
    number
    default: 2000

    Max code snippet length in semantic chunk_summaries

  • chunk_summaries.exclude_dirs
    env: —
    string[]
    default: —

    Directories to skip when building chunk_summaries

  • chunk_summaries.exclude_keywords
    env: —
    string[]
    default: —

    Keywords that, when present in code, skip the chunk

  • chunk_summaries.exclude_patterns
    env: —
    string[]
    default: —

    File patterns/extensions to skip

  • chunk_summaries.max_routes
    env: CHUNK_SUMMARIES_MAX_ROUTES
    number
    default: 5

    Max API routes to include per chunk_summary

  • chunk_summaries.max_symbols
    env: CHUNK_SUMMARIES_MAX_SYMBOLS
    number
    default: 5

    Max symbols to include per chunk_summary

  • chunk_summaries.purpose_max_length
    env: CHUNK_SUMMARIES_PURPOSE_MAX_LENGTH
    number
    default: 240

    Max length for purpose field in chunk_summaries

  • chunk_summaries.quick_tips
    env: —
    string[]
    default: —

    Quick tips shown in chunk_summaries builder UI

chunking (9)

dot-path → type → default → env key (if available)
  • chunking.ast_overlap_lines
    env: AST_OVERLAP_LINES
    number
    default: 20

    Overlap lines for AST chunking

    Tooltip (AST_OVERLAP_LINES)
    Loading…
  • chunking.chunk_overlap
    env: CHUNK_OVERLAP
    number
    default: 200

    Overlap between chunks

    Tooltip (CHUNK_OVERLAP)
    Loading…
  • chunking.chunk_size
    env: CHUNK_SIZE
    number
    default: 1000

    Target chunk size (non-whitespace chars)

    Tooltip (CHUNK_SIZE)
    Loading…
  • chunking.chunking_strategy
    env: CHUNKING_STRATEGY
    string
    default: "ast"

    Chunking strategy

    Tooltip (CHUNKING_STRATEGY)
    Loading…
  • chunking.greedy_fallback_target
    env: GREEDY_FALLBACK_TARGET
    number
    default: 800

    Target size for greedy chunking

    Tooltip (GREEDY_FALLBACK_TARGET)
    Loading…
  • chunking.max_chunk_tokens
    env: MAX_CHUNK_TOKENS
    number
    default: 8000

    Maximum tokens per chunk - chunks exceeding this are split recursively

    Tooltip (MAX_CHUNK_TOKENS)
    Loading…
  • chunking.max_indexable_file_size
    env: MAX_INDEXABLE_FILE_SIZE
    number
    default: 2000000

    Max file size to index (bytes) - files larger than this are skipped

    Tooltip (MAX_INDEXABLE_FILE_SIZE)
    Loading…
  • chunking.min_chunk_chars
    env: MIN_CHUNK_CHARS
    number
    default: 50

    Minimum chunk size

    Tooltip (MIN_CHUNK_CHARS)
    Loading…
  • chunking.preserve_imports
    env: PRESERVE_IMPORTS
    number
    default: 1

    Include imports in chunks

    Tooltip (PRESERVE_IMPORTS)
    Loading…

docker (11)

dot-path → type → default → env key (if available)
  • docker.dev_backend_port
    env: DEV_BACKEND_PORT
    number
    default: 8012

    Port for dev backend (Uvicorn)

  • docker.dev_frontend_port
    env: DEV_FRONTEND_PORT
    number
    default: 5173

    Port for dev frontend (Vite)

  • docker.dev_stack_restart_timeout
    env: DEV_STACK_RESTART_TIMEOUT
    number
    default: 30

    Timeout for dev stack restart operations (seconds)

  • docker.docker_container_action_timeout
    env: DOCKER_CONTAINER_ACTION_TIMEOUT
    number
    default: 30

    Timeout for Docker container actions (start/stop/restart)

    Tooltip (DOCKER_CONTAINER_ACTION_TIMEOUT)
    Loading…
  • docker.docker_container_list_timeout
    env: DOCKER_CONTAINER_LIST_TIMEOUT
    number
    default: 10

    Timeout for Docker container list (seconds)

    Tooltip (DOCKER_CONTAINER_LIST_TIMEOUT)
    Loading…
  • docker.docker_host
    env: DOCKER_HOST
    string
    default: ""

    Docker socket URL (e.g., unix:///var/run/docker.sock). Leave empty for auto-detection.

  • docker.docker_infra_down_timeout
    env: DOCKER_INFRA_DOWN_TIMEOUT
    number
    default: 30

    Timeout for Docker infrastructure down command (seconds)

    Tooltip (DOCKER_INFRA_DOWN_TIMEOUT)
    Loading…
  • docker.docker_infra_up_timeout
    env: DOCKER_INFRA_UP_TIMEOUT
    number
    default: 60

    Timeout for Docker infrastructure up command (seconds)

    Tooltip (DOCKER_INFRA_UP_TIMEOUT)
    Loading…
  • docker.docker_logs_tail
    env: DOCKER_LOGS_TAIL
    number
    default: 100
    internal/basics

    Default number of log lines to tail from containers

    Tooltip (DOCKER_LOGS_TAIL)
    Loading…
  • docker.docker_logs_timestamps
    env: DOCKER_LOGS_TIMESTAMPS
    number
    default: 1

    Include timestamps in Docker logs (1=yes, 0=no)

    Tooltip (DOCKER_LOGS_TIMESTAMPS)
    Loading…
  • docker.docker_status_timeout
    env: DOCKER_STATUS_TIMEOUT
    number
    default: 5

    Timeout for Docker status check (seconds)

    Tooltip (DOCKER_STATUS_TIMEOUT)
    Loading…

embedding (10)

dot-path → type → default → env key (if available)
  • embedding.embedding_batch_size
    env: EMBEDDING_BATCH_SIZE
    number
    default: 64

    Batch size for embedding generation

    Tooltip (EMBEDDING_BATCH_SIZE)
    Loading…
  • embedding.embedding_cache_enabled
    env: EMBEDDING_CACHE_ENABLED
    number
    default: 1
    internal/basics

    Enable embedding cache

    Tooltip (EMBEDDING_CACHE_ENABLED)
    Loading…
  • embedding.embedding_dim
    env: EMBEDDING_DIM
    number
    default: 3072

    Embedding dimensions

    Tooltip (EMBEDDING_DIM)
    Loading…
  • embedding.embedding_max_tokens
    env: EMBEDDING_MAX_TOKENS
    number
    default: 8000

    Max tokens per embedding chunk

    Tooltip (EMBEDDING_MAX_TOKENS)
    Loading…
  • embedding.embedding_model
    env: EMBEDDING_MODEL
    string
    default: "text-embedding-3-large"

    OpenAI embedding model

    Tooltip (EMBEDDING_MODEL)
    Loading…
  • embedding.embedding_model_local
    env: EMBEDDING_MODEL_LOCAL
    string
    default: "all-MiniLM-L6-v2"

    Local SentenceTransformer model

    Tooltip (EMBEDDING_MODEL_LOCAL)
    Loading…
  • embedding.embedding_retry_max
    env: EMBEDDING_RETRY_MAX
    number
    default: 3

    Max retries for embedding API

    Tooltip (EMBEDDING_RETRY_MAX)
    Loading…
  • embedding.embedding_timeout
    env: EMBEDDING_TIMEOUT
    number
    default: 30

    Embedding API timeout (seconds)

    Tooltip (EMBEDDING_TIMEOUT)
    Loading…
  • embedding.embedding_type
    env: EMBEDDING_TYPE
    string
    default: "openai"

    Embedding provider (dynamic - validated against models.json at runtime)

    Tooltip (EMBEDDING_TYPE)
    Loading…
  • embedding.voyage_model
    env: VOYAGE_MODEL
    string
    default: "voyage-code-3"

    Voyage embedding model

    Tooltip (VOYAGE_MODEL)
    Loading…

enrichment (6)

dot-path → type → default → env key (if available)
  • enrichment.chunk_summaries_enrich_default
    env: CHUNK_SUMMARIES_ENRICH_DEFAULT
    number
    default: 1

    Enable chunk_summary enrichment by default

  • enrichment.chunk_summaries_max
    env: CHUNK_SUMMARIES_MAX
    number
    default: 100

    Max chunk_summaries to generate

  • enrichment.enrich_code_chunks
    env: ENRICH_CODE_CHUNKS
    number
    default: 1

    Enable chunk enrichment

    Tooltip (ENRICH_CODE_CHUNKS)
    Loading…
  • enrichment.enrich_max_chars
    env: ENRICH_MAX_CHARS
    number
    default: 1000

    Max chars for enrichment prompt

  • enrichment.enrich_min_chars
    env: ENRICH_MIN_CHARS
    number
    default: 50

    Min chars for enrichment

  • enrichment.enrich_timeout
    env: ENRICH_TIMEOUT
    number
    default: 30

    Enrichment timeout (seconds)

evaluation (8)

dot-path → type → default → env key (if available)
  • evaluation.baseline_path
    env: BASELINE_PATH
    string
    default: "data/evals/eval_baseline.json"

    Baseline results path

    Tooltip (BASELINE_PATH)
    Loading…
  • evaluation.eval_dataset_path
    env: EVAL_DATASET_PATH
    string
    default: "data/evaluation_dataset.json"

    Evaluation dataset path

  • evaluation.eval_multi_m
    env: EVAL_MULTI_M
    number
    default: 10

    Multi-query variants for evaluation

  • evaluation.ndcg_at_10_k
    env: —
    number
    default: 10

    K used for ndcg_at_10 metric (default 10).

  • evaluation.precision_at_5_k
    env: —
    number
    default: 5

    K used for precision_at_5 metric (default 5).

  • evaluation.recall_at_10_k
    env: —
    number
    default: 10

    K used for recall_at_10 metric (default 10).

  • evaluation.recall_at_20_k
    env: —
    number
    default: 20

    K used for recall_at_20 metric (default 20).

  • evaluation.recall_at_5_k
    env: —
    number
    default: 5

    K used for recall_at_5 metric (default 5).

fusion (6)

dot-path → type → default → env key (if available)
  • fusion.graph_weight
    env: FUSION_GRAPH_WEIGHT
    number
    default: 0.3

    Weight for graph search results (Neo4j)

  • fusion.method
    env: FUSION_METHOD
    "rrf" | "weighted"
    default: "rrf"

    Fusion method: 'rrf' (Reciprocal Rank Fusion) or 'weighted' (score-based)

  • fusion.normalize_scores
    env: FUSION_NORMALIZE_SCORES
    boolean
    default: True

    Normalize scores to [0,1] before fusion

  • fusion.rrf_k
    env: FUSION_RRF_K
    number
    default: 60

    RRF smoothing constant (higher = more weight to top ranks)

  • fusion.sparse_weight
    env: FUSION_SPARSE_WEIGHT
    number
    default: 0.3

    Weight for sparse BM25/FTS search results

  • fusion.vector_weight
    env: FUSION_VECTOR_WEIGHT
    number
    default: 0.4

    Weight for vector search results (pgvector)

generation (19)

dot-path → type → default → env key (if available)
  • generation.enrich_backend
    env: ENRICH_BACKEND
    string
    default: "openai"

    Enrichment backend

    Tooltip (ENRICH_BACKEND)
    Loading…
  • generation.enrich_disabled
    env: ENRICH_DISABLED
    number
    default: 0

    Disable code enrichment

    Tooltip (ENRICH_DISABLED)
    Loading…
  • generation.enrich_model
    env: ENRICH_MODEL
    string
    default: "gpt-4o-mini"

    Model for code enrichment

    Tooltip (ENRICH_MODEL)
    Loading…
  • generation.enrich_model_ollama
    env: ENRICH_MODEL_OLLAMA
    string
    default: ""

    Ollama enrichment model

    Tooltip (ENRICH_MODEL_OLLAMA)
    Loading…
  • generation.gen_max_tokens
    env: GEN_MAX_TOKENS
    number
    default: 2048

    Max tokens for generation

    Tooltip (GEN_MAX_TOKENS)
    Loading…
  • generation.gen_model
    env: GEN_MODEL
    string
    default: "gpt-4o-mini"

    Primary generation model

    Tooltip (GEN_MODEL)
    Loading…
  • generation.gen_model_cli
    env: GEN_MODEL_CLI
    string
    default: "qwen3-coder:14b"

    CLI generation model

    Tooltip (GEN_MODEL_CLI)
    Loading…
  • generation.gen_model_http
    env: GEN_MODEL_HTTP
    string
    default: ""
    internal/basics

    HTTP transport generation model override

    Tooltip (GEN_MODEL_HTTP)
    Loading…
  • generation.gen_model_mcp
    env: GEN_MODEL_MCP
    string
    default: ""

    MCP transport generation model override

    Tooltip (GEN_MODEL_MCP)
    Loading…
  • generation.gen_model_ollama
    env: GEN_MODEL_OLLAMA
    string
    default: "qwen3-coder:30b"

    Ollama generation model

  • generation.gen_retry_max
    env: GEN_RETRY_MAX
    number
    default: 2

    Max retries for generation

    Tooltip (GEN_RETRY_MAX)
    Loading…
  • generation.gen_temperature
    env: GEN_TEMPERATURE
    number
    default: 0.0

    Generation temperature

    Tooltip (GEN_TEMPERATURE)
    Loading…
  • generation.gen_timeout
    env: GEN_TIMEOUT
    number
    default: 60

    Generation timeout (seconds)

    Tooltip (GEN_TIMEOUT)
    Loading…
  • generation.gen_top_p
    env: GEN_TOP_P
    number
    default: 1.0

    Nucleus sampling threshold

    Tooltip (GEN_TOP_P)
    Loading…
  • generation.ollama_num_ctx
    env: OLLAMA_NUM_CTX
    number
    default: 8192

    Context window for Ollama

  • generation.ollama_request_timeout
    env: OLLAMA_REQUEST_TIMEOUT
    number
    default: 300

    Maximum total time to wait for a local (Ollama) generation request to complete (seconds)

    Tooltip (OLLAMA_REQUEST_TIMEOUT)
    Loading…
  • generation.ollama_stream_idle_timeout
    env: OLLAMA_STREAM_IDLE_TIMEOUT
    number
    default: 60

    Maximum idle time allowed between streamed chunks from local (Ollama) during generation (seconds)

    Tooltip (OLLAMA_STREAM_IDLE_TIMEOUT)
    Loading…
  • generation.ollama_url
    env: OLLAMA_URL
    string
    default: "http://127.0.0.1:11434/api"

    Ollama API URL

    Tooltip (OLLAMA_URL)
    Loading…
  • generation.openai_base_url
    env: OPENAI_BASE_URL
    string
    default: ""

    OpenAI API base URL override (for proxies)

    Tooltip (OPENAI_BASE_URL)
    Loading…

graph_indexing (22)

dot-path → type → default → env key (if available)
  • graph_indexing.ast_calls_weight
    env: —
    number
    default: 1.0

    Edge weight for AST call relationships (function->callee).

  • graph_indexing.ast_contains_weight
    env: —
    number
    default: 1.0

    Edge weight for AST containment relationships (module->class/function, class->method).

  • graph_indexing.ast_imports_weight
    env: —
    number
    default: 1.0

    Edge weight for AST import relationships (module->imported_module).

  • graph_indexing.ast_inherits_weight
    env: —
    number
    default: 1.0

    Edge weight for AST inheritance relationships (class->base).

  • graph_indexing.build_lexical_graph
    env: —
    boolean
    default: True

    Build lexical graph (Document/Chunk nodes + NEXT_CHUNK relationships)

  • graph_indexing.chunk_embedding_property
    env: —
    string
    default: "embedding"

    Chunk node property that stores the embedding vector

  • graph_indexing.chunk_vector_index_name
    env: —
    string
    default: "tribrid_chunk_embeddings"

    Neo4j vector index name for Chunk embeddings (mode='chunk')

  • graph_indexing.enabled
    env: —
    boolean
    default: True

    Enable graph building during indexing (Neo4j)

  • graph_indexing.semantic_kg_enabled
    env: —
    boolean
    default: False

    Build semantic knowledge graph (concept entities + relations) linked to chunks during indexing

  • graph_indexing.semantic_kg_llm_model
    env: —
    string
    default: ""

    LLM model name for semantic KG extraction when semantic_kg_mode='llm' (empty = use generation.enrich_model)

  • graph_indexing.semantic_kg_llm_timeout_s
    env: —
    number
    default: 30

    Timeout (seconds) for semantic KG LLM extraction per chunk

  • graph_indexing.semantic_kg_max_chunks
    env: —
    number
    default: 200

    Maximum chunks to process for semantic KG extraction per indexing run (0 = disabled)

  • graph_indexing.semantic_kg_max_concepts_per_chunk
    env: —
    number
    default: 8

    Maximum semantic concepts to extract per chunk

  • graph_indexing.semantic_kg_max_relations_per_chunk
    env: —
    number
    default: 12

    Maximum semantic relations to create per chunk (heuristic mode)

  • graph_indexing.semantic_kg_min_concept_len
    env: —
    number
    default: 4

    Minimum length for semantic concept tokens

  • graph_indexing.semantic_kg_mode
    env: —
    "heuristic" | "llm"
    default: "heuristic"

    Semantic KG extraction mode. 'heuristic' is deterministic and test-friendly; 'llm' uses an LLM to extract entities + relations.

  • graph_indexing.semantic_kg_relation_weight_heuristic
    env: —
    number
    default: 0.5

    Edge weight for semantic concept relations in heuristic fallback mode.

  • graph_indexing.semantic_kg_relation_weight_llm
    env: —
    number
    default: 0.7

    Edge weight for semantic concept relations in LLM mode.

  • graph_indexing.store_chunk_embeddings
    env: —
    boolean
    default: True

    Store chunk embeddings on Chunk nodes for Neo4j vector search (requires dense embeddings)

  • graph_indexing.vector_index_online_timeout_s
    env: —
    number
    default: 60.0

    Timeout waiting for Neo4j vector index ONLINE (seconds)

  • graph_indexing.vector_similarity_function
    env: —
    "cosine" | "euclidean"
    default: "cosine"

    Neo4j vector similarity function

  • graph_indexing.wait_vector_index_online
    env: —
    boolean
    default: True

    Wait for the Neo4j vector index to come ONLINE after (re)creating it

graph_storage (13)

dot-path → type → default → env key (if available)
  • graph_storage.community_algorithm
    env: GRAPH_COMMUNITY_ALGORITHM
    "louvain" | "label_propagation"
    default: "louvain"

    Community detection algorithm

  • graph_storage.entity_types
    env: —
    string[]
    default: ["function", "class", "module", "variable", "im...

    Entity types to extract and store in graph

  • graph_storage.graph_search_top_k
    env: GRAPH_SEARCH_TOP_K
    number
    default: 30

    Number of results from graph traversal

  • graph_storage.include_communities
    env: GRAPH_INCLUDE_COMMUNITIES
    boolean
    default: True

    Include community detection in graph analysis

  • graph_storage.max_hops
    env: GRAPH_MAX_HOPS
    number
    default: 2

    Maximum traversal hops for graph search

  • graph_storage.neo4j_auto_create_databases
    env: —
    boolean
    default: True

    Automatically create per-corpus Neo4j databases when missing (Enterprise).

  • graph_storage.neo4j_database
    env: NEO4J_DATABASE
    string
    default: "neo4j"

    Neo4j database name

  • graph_storage.neo4j_database_mode
    env: —
    "shared" | "per_corpus"
    default: "shared"

    Database isolation mode: 'shared' uses a single Neo4j database (Community-compatible), 'per_corpus' uses a separate Neo4j database per corpus (Enterprise multi-database).

  • graph_storage.neo4j_database_prefix
    env: —
    string
    default: "tribrid_"

    Prefix for per-corpus Neo4j database names when neo4j_database_mode='per_corpus'.

  • graph_storage.neo4j_password
    env: NEO4J_PASSWORD
    string
    default: ""

    Neo4j password (recommend using environment variable)

  • graph_storage.neo4j_uri
    env: NEO4J_URI
    string
    default: "bolt://localhost:7687"

    Neo4j connection URI (bolt:// or neo4j://)

  • graph_storage.neo4j_user
    env: NEO4J_USER
    string
    default: "neo4j"

    Neo4j username

  • graph_storage.relationship_types
    env: —
    string[]
    default: ["calls", "imports", "inherits", "contains", "r...

    Relationship types to extract

hydration (2)

dot-path → type → default → env key (if available)
  • hydration.hydration_max_chars
    env: HYDRATION_MAX_CHARS
    number
    default: 2000

    Max characters to hydrate

    Tooltip (HYDRATION_MAX_CHARS)
    Loading…
  • hydration.hydration_mode
    env: HYDRATION_MODE
    string
    default: "lazy"

    Context hydration mode

    Tooltip (HYDRATION_MODE)
    Loading…

indexing (15)

dot-path → type → default → env key (if available)
  • indexing.bm25_stemmer_lang
    env: BM25_STEMMER_LANG
    string
    default: "english"

    Stemmer language

    Tooltip (BM25_STEMMER_LANG)
    Loading…
  • indexing.bm25_stopwords_lang
    env: BM25_STOPWORDS_LANG
    string
    default: "en"

    Stopwords language code

  • indexing.bm25_tokenizer
    env: BM25_TOKENIZER
    string
    default: "stemmer"

    BM25 tokenizer type

    Tooltip (BM25_TOKENIZER)
    Loading…
  • indexing.collection_suffix
    env: COLLECTION_SUFFIX
    string
    default: "default"
    internal/basics

    Collection suffix for multi-index scenarios

    Tooltip (COLLECTION_SUFFIX)
    Loading…
  • indexing.index_excluded_exts
    env: INDEX_EXCLUDED_EXTS
    string
    default: ".png,.jpg,.gif,.ico,.svg,.woff,.ttf"

    Excluded file extensions (comma-separated)

    Tooltip (INDEX_EXCLUDED_EXTS)
    Loading…
  • indexing.index_max_file_size_mb
    env: INDEX_MAX_FILE_SIZE_MB
    number
    default: 10

    Max file size to index (MB)

    Tooltip (INDEX_MAX_FILE_SIZE_MB)
    Loading…
  • indexing.indexing_batch_size
    env: INDEXING_BATCH_SIZE
    number
    default: 100

    Batch size for indexing

    Tooltip (INDEXING_BATCH_SIZE)
    Loading…
  • indexing.indexing_workers
    env: INDEXING_WORKERS
    number
    default: 4

    Parallel workers for indexing

    Tooltip (INDEXING_WORKERS)
    Loading…
  • indexing.out_dir_base
    env: OUT_DIR_BASE
    string
    default: "./out"

    Base output directory

    Tooltip (OUT_DIR_BASE)
    Loading…
  • indexing.postgres_url
    env: POSTGRES_URL
    string
    default: "postgresql://postgres:postgres@localhost:5432/t..."

    PostgreSQL connection string (DSN) for pgvector + FTS storage

  • indexing.rag_out_base
    env: RAG_OUT_BASE
    string
    default: ""

    Override for OUT_DIR_BASE if specified

    Tooltip (RAG_OUT_BASE)
    Loading…
  • indexing.repo_path
    env: REPO_PATH
    string
    default: ""

    Fallback repository path if not found in repos.json

    Tooltip (REPO_PATH)
    Loading…
  • indexing.repos_file
    env: REPOS_FILE
    string
    default: "./repos.json"

    Repository configuration file

    Tooltip (REPOS_FILE)
    Loading…
  • indexing.skip_dense
    env: SKIP_DENSE
    number
    default: 0

    Skip dense vector indexing

    Tooltip (SKIP_DENSE)
    Loading…
  • indexing.table_name
    env: COLLECTION_NAME
    string
    default: "code_chunks_{repo}"

    pgvector table name template

    Tooltip (COLLECTION_NAME)
    Loading…

keywords (5)

dot-path → type → default → env key (if available)
  • keywords.keywords_auto_generate
    env: KEYWORDS_AUTO_GENERATE
    number
    default: 1

    Auto-generate keywords

    Tooltip (KEYWORDS_AUTO_GENERATE)
    Loading…
  • keywords.keywords_boost
    env: KEYWORDS_BOOST
    number
    default: 1.3

    Score boost for keyword matches

    Tooltip (KEYWORDS_BOOST)
    Loading…
  • keywords.keywords_max_per_repo
    env: KEYWORDS_MAX_PER_REPO
    number
    default: 50

    Max discriminative keywords per repo

    Tooltip (KEYWORDS_MAX_PER_REPO)
    Loading…
  • keywords.keywords_min_freq
    env: KEYWORDS_MIN_FREQ
    number
    default: 3

    Min frequency for keyword

    Tooltip (KEYWORDS_MIN_FREQ)
    Loading…
  • keywords.keywords_refresh_hours
    env: KEYWORDS_REFRESH_HOURS
    number
    default: 24

    Hours between keyword refresh

    Tooltip (KEYWORDS_REFRESH_HOURS)
    Loading…

layer_bonus (6)

dot-path → type → default → env key (if available)
  • layer_bonus.freshness_bonus
    env: FRESHNESS_BONUS
    number
    default: 0.05

    Bonus for recently modified files

    Tooltip (FRESHNESS_BONUS)
    Loading…
  • layer_bonus.gui
    env: LAYER_BONUS_GUI
    number
    default: 0.15

    Bonus for GUI/front-end layers

    Tooltip (LAYER_BONUS_GUI)
    Loading…
  • layer_bonus.indexer
    env: LAYER_BONUS_INDEXER
    number
    default: 0.15

    Bonus for indexing/ingestion layers

  • layer_bonus.intent_matrix
    env: LAYER_INTENT_MATRIX
    Record<string, Record<string, number>>
    default: —

    Intent-to-layer bonus matrix. Keys are query intents, values are layer->multiplier maps.

  • layer_bonus.retrieval
    env: LAYER_BONUS_RETRIEVAL
    number
    default: 0.15

    Bonus for retrieval/API layers

    Tooltip (LAYER_BONUS_RETRIEVAL)
    Loading…
  • layer_bonus.vendor_penalty
    env: VENDOR_PENALTY
    number
    default: -0.1
    internal/basics

    Penalty for vendor/third-party code (negative values apply a penalty)

    Tooltip (VENDOR_PENALTY)
    Loading…

mcp (10)

dot-path → type → default → env key (if available)
  • mcp.allowed_hosts
    env: —
    string[]
    default: —

    Allowed Host header values for MCP HTTP (supports wildcard ':*').

  • mcp.allowed_origins
    env: —
    string[]
    default: —

    Allowed Origin header values for MCP HTTP (supports wildcard ':*').

  • mcp.default_mode
    env: MCP_DEFAULT_MODE
    "tribrid" | "dense_only" | "sparse_only" | "graph_only"
    default: "tribrid"

    Default retrieval mode for MCP search/answer tools when not provided.

  • mcp.default_top_k
    env: MCP_DEFAULT_TOP_K
    number
    default: 20

    Default top_k for MCP search/answer tools when not provided.

  • mcp.enable_dns_rebinding_protection
    env: MCP_HTTP_DNS_REBIND_PROTECTION
    boolean
    default: True

    Enable DNS rebinding protection for MCP HTTP (recommended).

  • mcp.enabled
    env: MCP_HTTP_ENABLED
    boolean
    default: True

    Enable the embedded MCP Streamable HTTP server.

  • mcp.json_response
    env: MCP_HTTP_JSON_RESPONSE
    boolean
    default: True

    Prefer JSON responses for MCP Streamable HTTP (recommended).

  • mcp.mount_path
    env: MCP_HTTP_PATH
    string
    default: "/mcp"

    Mount path for the MCP Streamable HTTP endpoint (e.g. /mcp).

    Tooltip (MCP_HTTP_PATH)
    Loading…
  • mcp.require_api_key
    env: MCP_REQUIRE_API_KEY
    boolean
    default: False

    Require `Authorization: Bearer $MCP_API_KEY` for MCP HTTP access.

  • mcp.stateless_http
    env: MCP_HTTP_STATELESS
    boolean
    default: True

    Run MCP Streamable HTTP in stateless mode (recommended).

reranking (14)

dot-path → type → default → env key (if available)
  • reranking.rerank_input_snippet_chars
    env: RERANK_INPUT_SNIPPET_CHARS
    number
    default: 700

    Snippet chars for reranking input

    Tooltip (RERANK_INPUT_SNIPPET_CHARS)
    Loading…
  • reranking.reranker_cloud_model
    env: RERANKER_CLOUD_MODEL
    string
    default: "rerank-v3.5"

    Cloud reranker model name when mode=cloud (Cohere: rerank-v3.5)

    Tooltip (RERANKER_CLOUD_MODEL)
    Loading…
  • reranking.reranker_cloud_provider
    env: RERANKER_CLOUD_PROVIDER
    string
    default: "cohere"

    Cloud reranker provider when mode=cloud (cohere, voyage, jina)

    Tooltip (RERANKER_CLOUD_PROVIDER)
    Loading…
  • reranking.reranker_cloud_top_n
    env: RERANKER_CLOUD_TOP_N
    number
    default: 50

    Number of candidates to rerank (cloud mode)

    Tooltip (RERANKER_CLOUD_TOP_N)
    Loading…
  • reranking.reranker_local_model
    env: RERANKER_LOCAL_MODEL
    string
    default: "cross-encoder/ms-marco-MiniLM-L-12-v2"

    Local HuggingFace cross-encoder model when mode=local

    Tooltip (RERANKER_LOCAL_MODEL)
    Loading…
  • reranking.reranker_mode
    env: RERANKER_MODE
    string
    default: "local"

    Reranker mode: 'cloud' (Cohere/Voyage API), 'local' (HuggingFace cross-encoder), 'learning' (TRIBRID cross-encoder-tribrid), 'none' (disabled)

    Tooltip (RERANKER_MODE)
    Loading…
  • reranking.reranker_timeout
    env: RERANKER_TIMEOUT
    number
    default: 10

    Reranker API timeout (seconds)

    Tooltip (RERANKER_TIMEOUT)
    Loading…
  • reranking.transformers_trust_remote_code
    env: TRANSFORMERS_TRUST_REMOTE_CODE
    number
    default: 1

    Allow transformers remote code for HF rerankers that require it

    Tooltip (TRANSFORMERS_TRUST_REMOTE_CODE)
    Loading…
  • reranking.tribrid_reranker_alpha
    env: TRIBRID_RERANKER_ALPHA
    number
    default: 0.7

    Blend weight for reranker scores

    Tooltip (TRIBRID_RERANKER_ALPHA)
    Loading…
  • reranking.tribrid_reranker_batch
    env: TRIBRID_RERANKER_BATCH
    number
    default: 16

    Reranker batch size

    Tooltip (TRIBRID_RERANKER_BATCH)
    Loading…
  • reranking.tribrid_reranker_maxlen
    env: TRIBRID_RERANKER_MAXLEN
    number
    default: 512

    Max token length for reranker

    Tooltip (TRIBRID_RERANKER_MAXLEN)
    Loading…
  • reranking.tribrid_reranker_reload_on_change
    env: TRIBRID_RERANKER_RELOAD_ON_CHANGE
    number
    default: 0

    Hot-reload on model change

    Tooltip (TRIBRID_RERANKER_RELOAD_ON_CHANGE)
    Loading…
  • reranking.tribrid_reranker_reload_period_sec
    env: TRIBRID_RERANKER_RELOAD_PERIOD_SEC
    number
    default: 60

    Reload check period (seconds)

  • reranking.tribrid_reranker_topn
    env: TRIBRID_RERANKER_TOPN
    number
    default: 50

    Number of candidates to rerank (local/learning mode)

    Tooltip (TRIBRID_RERANKER_TOPN)
    Loading…

retrieval (24)

dot-path → type → default → env key (if available)
  • retrieval.bm25_b
    env: BM25_B
    number
    default: 0.4

    BM25 length normalization (0=no penalty, 1=full penalty, 0.3-0.5 recommended for code)

  • retrieval.bm25_k1
    env: BM25_K1
    number
    default: 1.2

    BM25 term frequency saturation parameter (higher = more weight to term frequency)

  • retrieval.bm25_weight
    env: BM25_WEIGHT
    number
    default: 0.3

    Weight for BM25 in hybrid search

    Tooltip (BM25_WEIGHT)
    Loading…
  • retrieval.chunk_summary_search_enabled
    env: CHUNK_SUMMARY_SEARCH_ENABLED
    number
    default: 1

    Enable chunk_summary-based retrieval

  • retrieval.conf_any
    env: CONF_ANY
    number
    default: 0.55

    Minimum confidence threshold

    Tooltip (CONF_ANY)
    Loading…
  • retrieval.conf_avg5
    env: CONF_AVG5
    number
    default: 0.55

    Confidence threshold for avg top-5

    Tooltip (CONF_AVG5)
    Loading…
  • retrieval.conf_top1
    env: CONF_TOP1
    number
    default: 0.62
    internal/basics

    Confidence threshold for top-1

    Tooltip (CONF_TOP1)
    Loading…
  • retrieval.eval_final_k
    env: EVAL_FINAL_K
    number
    default: 5

    Top-k for evaluation runs

    Tooltip (EVAL_FINAL_K)
    Loading…
  • retrieval.eval_multi
    env: EVAL_MULTI
    number
    default: 1

    Enable multi-query in eval

    Tooltip (EVAL_MULTI)
    Loading…
  • retrieval.fallback_confidence
    env: FALLBACK_CONFIDENCE
    number
    default: 0.55

    Confidence threshold for fallback retrieval strategies

  • retrieval.final_k
    env: FINAL_K
    number
    default: 10

    Default top-k for search results

    Tooltip (FINAL_K)
    Loading…
  • retrieval.hydration_max_chars
    env: —
    number
    default: 2000

    Max characters for result hydration

  • retrieval.hydration_mode
    env: —
    string
    default: "lazy"

    Result hydration mode

  • retrieval.langgraph_final_k
    env: LANGGRAPH_FINAL_K
    number
    default: 20

    Number of final results to return in LangGraph pipeline

    Tooltip (LANGGRAPH_FINAL_K)
    Loading…
  • retrieval.langgraph_max_query_rewrites
    env: LANGGRAPH_MAX_QUERY_REWRITES
    number
    default: 2

    Maximum number of query rewrites for LangGraph pipeline

    Tooltip (LANGGRAPH_MAX_QUERY_REWRITES)
    Loading…
  • retrieval.max_query_rewrites
    env: MAX_QUERY_REWRITES, MQ_REWRITES
    number
    default: 2

    Maximum number of query rewrites for multi-query expansion

    Tooltip (MAX_QUERY_REWRITES)
    Loading…
  • retrieval.multi_query_m
    env: MULTI_QUERY_M
    number
    default: 4

    Query variants for multi-query

    Tooltip (MULTI_QUERY_M)
    Loading…
  • retrieval.query_expansion_enabled
    env: QUERY_EXPANSION_ENABLED
    number
    default: 1

    Enable synonym expansion

  • retrieval.rrf_k_div
    env: RRF_K_DIV
    number
    default: 60

    RRF rank smoothing constant (higher = more weight to top ranks)

    Tooltip (RRF_K_DIV)
    Loading…
  • retrieval.topk_dense
    env: TOPK_DENSE
    number
    default: 75

    Top-K for dense vector search

    Tooltip (TOPK_DENSE)
    Loading…
  • retrieval.topk_sparse
    env: TOPK_SPARSE
    number
    default: 75

    Top-K for sparse BM25 search

    Tooltip (TOPK_SPARSE)
    Loading…
  • retrieval.tribrid_synonyms_path
    env: TRIBRID_SYNONYMS_PATH
    string
    default: ""

    Custom path to semantic_synonyms.json (default: data/semantic_synonyms.json)

    Tooltip (TRIBRID_SYNONYMS_PATH)
    Loading…
  • retrieval.use_semantic_synonyms
    env: USE_SEMANTIC_SYNONYMS
    number
    default: 1

    Enable semantic synonym expansion

    Tooltip (USE_SEMANTIC_SYNONYMS)
    Loading…
  • retrieval.vector_weight
    env: VECTOR_WEIGHT
    number
    default: 0.7

    Weight for vector search

    Tooltip (VECTOR_WEIGHT)
    Loading…

scoring (5)

dot-path → type → default → env key (if available)
  • scoring.chunk_summary_bonus
    env: CHUNK_SUMMARY_BONUS
    number
    default: 0.08

    Bonus score for chunks matched via chunk_summary-based retrieval

  • scoring.filename_boost_exact
    env: FILENAME_BOOST_EXACT
    number
    default: 1.5

    Score multiplier when filename exactly matches query terms

    Tooltip (FILENAME_BOOST_EXACT)
    Loading…
  • scoring.filename_boost_partial
    env: FILENAME_BOOST_PARTIAL
    number
    default: 1.2

    Score multiplier when path components match query terms

    Tooltip (FILENAME_BOOST_PARTIAL)
    Loading…
  • scoring.path_boosts
    env: PATH_BOOSTS
    string
    default: "/gui,/server,/indexer,/retrieval"

    Comma-separated path prefixes to boost

  • scoring.vendor_mode
    env: VENDOR_MODE
    string
    default: "prefer_first_party"
    internal/basics

    Vendor code preference

    Tooltip (VENDOR_MODE)
    Loading…

system_prompts (8)

dot-path → type → default → env key (if available)
  • system_prompts.code_enrichment
    env: PROMPT_CODE_ENRICHMENT
    string
    default: "Analyze this code and return a JSON object with..."

    Extract metadata from code chunks during indexing

  • system_prompts.eval_analysis
    env: PROMPT_EVAL_ANALYSIS
    string
    default: "You are an expert RAG (Retrieval-Augmented Gene..."

    Analyze eval regressions with skeptical approach - avoid false explanations

  • system_prompts.lightweight_chunk_summaries
    env: PROMPT_LIGHTWEIGHT_CARDS
    string
    default: "Extract key information from this code: symbols..."

    Lightweight chunk_summary generation prompt for faster indexing

  • system_prompts.main_rag_chat
    env: PROMPT_MAIN_RAG_CHAT
    string
    default: "You are an expert software engineer and code an..."

    Main conversational AI system prompt for answering codebase questions

  • system_prompts.query_expansion
    env: PROMPT_QUERY_EXPANSION
    string
    default: "You are a code search query expander. Given a d..."

    Generate query variants for better recall in hybrid search

  • system_prompts.query_rewrite
    env: PROMPT_QUERY_REWRITE
    string
    default: "You rewrite developer questions into search-opt..."

    Optimize user query for code search - expand CamelCase, include API nouns

  • system_prompts.semantic_chunk_summaries
    env: PROMPT_SEMANTIC_CARDS
    string
    default: "Analyze this code chunk and create a comprehens..."

    Generate JSON summaries for code chunks during indexing

  • system_prompts.semantic_kg_extraction
    env: —
    string
    default: "You are a semantic knowledge graph extractor.\n..."

    Prompt for LLM-assisted semantic KG extraction (concepts + relations)

tracing (17)

dot-path → type → default → env key (if available)
  • tracing.alert_include_resolved
    env: ALERT_INCLUDE_RESOLVED
    number
    default: 1

    Include resolved alerts

  • tracing.alert_notify_severities
    env: ALERT_NOTIFY_SEVERITIES
    string
    default: "critical,warning"

    Alert severities to notify

  • tracing.alert_webhook_timeout
    env: ALERT_WEBHOOK_TIMEOUT
    number
    default: 5

    Alert webhook timeout (seconds)

    Tooltip (ALERT_WEBHOOK_TIMEOUT)
    Loading…
  • tracing.langchain_endpoint
    env: LANGCHAIN_ENDPOINT
    string
    default: "https://api.smith.langchain.com"

    LangChain/LangSmith API endpoint

    Tooltip (LANGCHAIN_ENDPOINT)
    Loading…
  • tracing.langchain_project
    env: LANGCHAIN_PROJECT
    string
    default: "tribrid"

    LangChain project name

    Tooltip (LANGCHAIN_PROJECT)
    Loading…
  • tracing.langchain_tracing_v2
    env: LANGCHAIN_TRACING_V2
    number
    default: 0

    Enable LangChain v2 tracing

    Tooltip (LANGCHAIN_TRACING_V2)
    Loading…
  • tracing.langtrace_api_host
    env: LANGTRACE_API_HOST
    string
    default: ""

    LangTrace API host

    Tooltip (LANGTRACE_API_HOST)
    Loading…
  • tracing.langtrace_project_id
    env: LANGTRACE_PROJECT_ID
    string
    default: ""

    LangTrace project ID

    Tooltip (LANGTRACE_PROJECT_ID)
    Loading…
  • tracing.log_level
    env: LOG_LEVEL
    string
    default: "INFO"
    internal/basics

    Logging level

    Tooltip (LOG_LEVEL)
    Loading…
  • tracing.metrics_enabled
    env: METRICS_ENABLED
    number
    default: 1

    Enable metrics collection

    Tooltip (METRICS_ENABLED)
    Loading…
  • tracing.prometheus_port
    env: PROMETHEUS_PORT
    number
    default: 9090

    Prometheus metrics port

    Tooltip (PROMETHEUS_PORT)
    Loading…
  • tracing.trace_auto_ls
    env: TRACE_AUTO_LS
    number
    default: 1

    Auto-enable LangSmith tracing

    Tooltip (TRACE_AUTO_LS)
    Loading…
  • tracing.trace_retention
    env: TRACE_RETENTION
    number
    default: 50
    internal/basics

    Number of traces to retain

    Tooltip (TRACE_RETENTION)
    Loading…
  • tracing.trace_sampling_rate
    env: TRACE_SAMPLING_RATE
    number
    default: 1.0
    internal/basics

    Trace sampling rate (0.0-1.0)

    Tooltip (TRACE_SAMPLING_RATE)
    Loading…
  • tracing.tracing_enabled
    env: TRACING_ENABLED
    number
    default: 1
    internal/basics

    Enable distributed tracing

    Tooltip (TRACING_ENABLED)
    Loading…
  • tracing.tracing_mode
    env: TRACING_MODE
    string
    default: "langsmith"

    Tracing backend mode

    Tooltip (TRACING_MODE)
    Loading…
  • tracing.tribrid_log_path
    env: TRIBRID_LOG_PATH
    string
    default: "data/logs/queries.jsonl"

    Query log file path

    Tooltip (TRIBRID_LOG_PATH)
    Loading…

training (10)

dot-path → type → default → env key (if available)
  • training.reranker_train_batch
    env: RERANKER_TRAIN_BATCH
    number
    default: 16

    Training batch size

    Tooltip (RERANKER_TRAIN_BATCH)
    Loading…
  • training.reranker_train_epochs
    env: RERANKER_TRAIN_EPOCHS
    number
    default: 2

    Training epochs for reranker

    Tooltip (RERANKER_TRAIN_EPOCHS)
    Loading…
  • training.reranker_train_lr
    env: RERANKER_TRAIN_LR
    number
    default: 2e-05

    Learning rate

    Tooltip (RERANKER_TRAIN_LR)
    Loading…
  • training.reranker_warmup_ratio
    env: RERANKER_WARMUP_RATIO
    number
    default: 0.1

    Warmup steps ratio

    Tooltip (RERANKER_WARMUP_RATIO)
    Loading…
  • training.tribrid_reranker_mine_mode
    env: TRIBRID_RERANKER_MINE_MODE
    string
    default: "replace"

    Triplet mining mode

    Tooltip (TRIBRID_RERANKER_MINE_MODE)
    Loading…
  • training.tribrid_reranker_mine_reset
    env: TRIBRID_RERANKER_MINE_RESET
    number
    default: 0

    Reset triplets file before mining

    Tooltip (TRIBRID_RERANKER_MINE_RESET)
    Loading…
  • training.tribrid_reranker_model_path
    env: TRIBRID_RERANKER_MODEL_PATH
    string
    default: "models/cross-encoder-tribrid"

    Reranker model path

    Tooltip (TRIBRID_RERANKER_MODEL_PATH)
    Loading…
  • training.tribrid_triplets_path
    env: TRIBRID_TRIPLETS_PATH
    string
    default: "data/training/triplets.jsonl"

    Training triplets file path

    Tooltip (TRIBRID_TRIPLETS_PATH)
    Loading…
  • training.triplets_min_count
    env: TRIPLETS_MIN_COUNT
    number
    default: 100

    Min triplets for training

    Tooltip (TRIPLETS_MIN_COUNT)
    Loading…
  • training.triplets_mine_mode
    env: TRIPLETS_MINE_MODE
    string
    default: "replace"

    Triplet mining mode

    Tooltip (TRIPLETS_MINE_MODE)
    Loading…

ui (26)

dot-path → type → default → env key (if available)
  • ui.chat_default_model
    env: CHAT_DEFAULT_MODEL
    string
    default: "gpt-4o-mini"

    Default model for chat if not specified in request

    Tooltip (CHAT_DEFAULT_MODEL)
    Loading…
  • ui.chat_history_max
    env: CHAT_HISTORY_MAX
    number
    default: 50

    Max chat history messages

  • ui.chat_show_citations
    env: CHAT_SHOW_CITATIONS
    number
    default: 1

    Show citations list on chat answers

    Tooltip (CHAT_SHOW_CITATIONS)
    Loading…
  • ui.chat_show_confidence
    env: CHAT_SHOW_CONFIDENCE
    number
    default: 0

    Show confidence badge on chat answers

  • ui.chat_show_debug_footer
    env: CHAT_SHOW_DEBUG_FOOTER
    number
    default: 1
    internal/basics

    Show dev/debug footer under chat answers

  • ui.chat_show_trace
    env: CHAT_SHOW_TRACE
    number
    default: 1

    Show routing trace panel by default

  • ui.chat_stream_include_thinking
    env: CHAT_STREAM_INCLUDE_THINKING
    number
    default: 1

    Include reasoning/thinking in streamed responses when supported by model

    Tooltip (CHAT_STREAM_INCLUDE_THINKING)
    Loading…
  • ui.chat_stream_timeout
    env: CHAT_STREAM_TIMEOUT
    number
    default: 120

    Streaming response timeout in seconds

    Tooltip (CHAT_STREAM_TIMEOUT)
    Loading…
  • ui.chat_streaming_enabled
    env: CHAT_STREAMING_ENABLED
    number
    default: 1

    Enable streaming responses

    Tooltip (CHAT_STREAMING_ENABLED)
    Loading…
  • ui.chat_thinking_budget_tokens
    env: CHAT_THINKING_BUDGET_TOKENS
    number
    default: 10000
    internal/basics

    Max thinking tokens for Anthropic extended thinking

    Tooltip (CHAT_THINKING_BUDGET_TOKENS)
    Loading…
  • ui.editor_bind
    env: EDITOR_BIND
    string
    default: "local"

    Editor bind mode

    Tooltip (EDITOR_BIND)
    Loading…
  • ui.editor_embed_enabled
    env: EDITOR_EMBED_ENABLED
    number
    default: 1

    Enable editor embedding

    Tooltip (EDITOR_EMBED_ENABLED)
    Loading…
  • ui.editor_enabled
    env: EDITOR_ENABLED
    number
    default: 1

    Enable embedded editor

    Tooltip (EDITOR_ENABLED)
    Loading…
  • ui.editor_image
    env: EDITOR_IMAGE
    string
    default: "codercom/code-server:latest"

    Editor Docker image

  • ui.editor_port
    env: EDITOR_PORT
    number
    default: 4440

    Embedded editor port

    Tooltip (EDITOR_PORT)
    Loading…
  • ui.grafana_auth_mode
    env: GRAFANA_AUTH_MODE
    string
    default: "anonymous"

    Grafana authentication mode

    Tooltip (GRAFANA_AUTH_MODE)
    Loading…
  • ui.grafana_base_url
    env: GRAFANA_BASE_URL
    string
    default: "http://127.0.0.1:3001"

    Grafana base URL

    Tooltip (GRAFANA_BASE_URL)
    Loading…
  • ui.grafana_dashboard_slug
    env: GRAFANA_DASHBOARD_SLUG
    string
    default: "tribrid-overview"

    Grafana dashboard slug

  • ui.grafana_dashboard_uid
    env: GRAFANA_DASHBOARD_UID
    string
    default: "tribrid-overview"

    Default Grafana dashboard UID

    Tooltip (GRAFANA_DASHBOARD_UID)
    Loading…
  • ui.grafana_embed_enabled
    env: GRAFANA_EMBED_ENABLED
    number
    default: 1

    Enable Grafana embedding

  • ui.grafana_kiosk
    env: GRAFANA_KIOSK
    string
    default: "tv"

    Grafana kiosk mode

  • ui.grafana_org_id
    env: GRAFANA_ORG_ID
    number
    default: 1

    Grafana organization ID

  • ui.grafana_refresh
    env: GRAFANA_REFRESH
    string
    default: "10s"

    Grafana refresh interval

  • ui.open_browser
    env: OPEN_BROWSER
    number
    default: 1

    Auto-open browser on start

    Tooltip (OPEN_BROWSER)
    Loading…
  • ui.runtime_mode
    env: RUNTIME_MODE
    "development" | "production"
    default: "development"

    Runtime environment mode (development uses localhost, production uses deployed URLs)

  • ui.theme_mode
    env: THEME_MODE
    string
    default: "dark"

    UI theme mode

    Tooltip (THEME_MODE)
    Loading…