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.
Click a chip to filter/jump. Click All to clear.
chunk_summaries (8)
- chunk_summaries.code_snippet_lengthenv: CHUNK_SUMMARIES_CODE_SNIPPET_LENGTHnumberdefault: 2000
Max code snippet length in semantic chunk_summaries
- chunk_summaries.exclude_dirsenv: —string[]default: —
Directories to skip when building chunk_summaries
- chunk_summaries.exclude_keywordsenv: —string[]default: —
Keywords that, when present in code, skip the chunk
- chunk_summaries.exclude_patternsenv: —string[]default: —
File patterns/extensions to skip
- chunk_summaries.max_routesenv: CHUNK_SUMMARIES_MAX_ROUTESnumberdefault: 5
Max API routes to include per chunk_summary
- chunk_summaries.max_symbolsenv: CHUNK_SUMMARIES_MAX_SYMBOLSnumberdefault: 5
Max symbols to include per chunk_summary
- chunk_summaries.purpose_max_lengthenv: CHUNK_SUMMARIES_PURPOSE_MAX_LENGTHnumberdefault: 240
Max length for purpose field in chunk_summaries
- chunk_summaries.quick_tipsenv: —string[]default: —
Quick tips shown in chunk_summaries builder UI
chunking (9)
- chunking.ast_overlap_linesenv: AST_OVERLAP_LINESnumberdefault: 20
Overlap lines for AST chunking
Tooltip (AST_OVERLAP_LINES)
Loading… - chunking.chunk_overlapenv: CHUNK_OVERLAPnumberdefault: 200
Overlap between chunks
Tooltip (CHUNK_OVERLAP)
Loading… - chunking.chunk_sizeenv: CHUNK_SIZEnumberdefault: 1000
Target chunk size (non-whitespace chars)
Tooltip (CHUNK_SIZE)
Loading… - chunking.chunking_strategyenv: CHUNKING_STRATEGYstringdefault: "ast"
Chunking strategy
Tooltip (CHUNKING_STRATEGY)
Loading… - chunking.greedy_fallback_targetenv: GREEDY_FALLBACK_TARGETnumberdefault: 800
Target size for greedy chunking
Tooltip (GREEDY_FALLBACK_TARGET)
Loading… - chunking.max_chunk_tokensenv: MAX_CHUNK_TOKENSnumberdefault: 8000
Maximum tokens per chunk - chunks exceeding this are split recursively
Tooltip (MAX_CHUNK_TOKENS)
Loading… - chunking.max_indexable_file_sizeenv: MAX_INDEXABLE_FILE_SIZEnumberdefault: 2000000
Max file size to index (bytes) - files larger than this are skipped
Tooltip (MAX_INDEXABLE_FILE_SIZE)
Loading… - chunking.min_chunk_charsenv: MIN_CHUNK_CHARSnumberdefault: 50
Minimum chunk size
Tooltip (MIN_CHUNK_CHARS)
Loading… - chunking.preserve_importsenv: PRESERVE_IMPORTSnumberdefault: 1
Include imports in chunks
Tooltip (PRESERVE_IMPORTS)
Loading…
docker (11)
- docker.dev_backend_portenv: DEV_BACKEND_PORTnumberdefault: 8012
Port for dev backend (Uvicorn)
- docker.dev_frontend_portenv: DEV_FRONTEND_PORTnumberdefault: 5173
Port for dev frontend (Vite)
- docker.dev_stack_restart_timeoutenv: DEV_STACK_RESTART_TIMEOUTnumberdefault: 30
Timeout for dev stack restart operations (seconds)
- docker.docker_container_action_timeoutenv: DOCKER_CONTAINER_ACTION_TIMEOUTnumberdefault: 30
Timeout for Docker container actions (start/stop/restart)
Tooltip (DOCKER_CONTAINER_ACTION_TIMEOUT)
Loading… - docker.docker_container_list_timeoutenv: DOCKER_CONTAINER_LIST_TIMEOUTnumberdefault: 10
Timeout for Docker container list (seconds)
Tooltip (DOCKER_CONTAINER_LIST_TIMEOUT)
Loading… - docker.docker_hostenv: DOCKER_HOSTstringdefault: ""
Docker socket URL (e.g., unix:///var/run/docker.sock). Leave empty for auto-detection.
- docker.docker_infra_down_timeoutenv: DOCKER_INFRA_DOWN_TIMEOUTnumberdefault: 30
Timeout for Docker infrastructure down command (seconds)
Tooltip (DOCKER_INFRA_DOWN_TIMEOUT)
Loading… - docker.docker_infra_up_timeoutenv: DOCKER_INFRA_UP_TIMEOUTnumberdefault: 60
Timeout for Docker infrastructure up command (seconds)
Tooltip (DOCKER_INFRA_UP_TIMEOUT)
Loading… - docker.docker_logs_tailenv: DOCKER_LOGS_TAILnumberdefault: 100internal/basics
Default number of log lines to tail from containers
Tooltip (DOCKER_LOGS_TAIL)
Loading… - docker.docker_logs_timestampsenv: DOCKER_LOGS_TIMESTAMPSnumberdefault: 1
Include timestamps in Docker logs (1=yes, 0=no)
Tooltip (DOCKER_LOGS_TIMESTAMPS)
Loading… - docker.docker_status_timeoutenv: DOCKER_STATUS_TIMEOUTnumberdefault: 5
Timeout for Docker status check (seconds)
Tooltip (DOCKER_STATUS_TIMEOUT)
Loading…
embedding (10)
- embedding.embedding_batch_sizeenv: EMBEDDING_BATCH_SIZEnumberdefault: 64
Batch size for embedding generation
Tooltip (EMBEDDING_BATCH_SIZE)
Loading… - embedding.embedding_cache_enabledenv: EMBEDDING_CACHE_ENABLEDnumberdefault: 1internal/basics
Enable embedding cache
Tooltip (EMBEDDING_CACHE_ENABLED)
Loading… - embedding.embedding_dimenv: EMBEDDING_DIMnumberdefault: 3072
Embedding dimensions
Tooltip (EMBEDDING_DIM)
Loading… - embedding.embedding_max_tokensenv: EMBEDDING_MAX_TOKENSnumberdefault: 8000
Max tokens per embedding chunk
Tooltip (EMBEDDING_MAX_TOKENS)
Loading… - embedding.embedding_modelenv: EMBEDDING_MODELstringdefault: "text-embedding-3-large"
OpenAI embedding model
Tooltip (EMBEDDING_MODEL)
Loading… - embedding.embedding_model_localenv: EMBEDDING_MODEL_LOCALstringdefault: "all-MiniLM-L6-v2"
Local SentenceTransformer model
Tooltip (EMBEDDING_MODEL_LOCAL)
Loading… - embedding.embedding_retry_maxenv: EMBEDDING_RETRY_MAXnumberdefault: 3
Max retries for embedding API
Tooltip (EMBEDDING_RETRY_MAX)
Loading… - embedding.embedding_timeoutenv: EMBEDDING_TIMEOUTnumberdefault: 30
Embedding API timeout (seconds)
Tooltip (EMBEDDING_TIMEOUT)
Loading… - embedding.embedding_typeenv: EMBEDDING_TYPEstringdefault: "openai"
Embedding provider (dynamic - validated against models.json at runtime)
Tooltip (EMBEDDING_TYPE)
Loading… - embedding.voyage_modelenv: VOYAGE_MODELstringdefault: "voyage-code-3"
Voyage embedding model
Tooltip (VOYAGE_MODEL)
Loading…
enrichment (6)
- enrichment.chunk_summaries_enrich_defaultenv: CHUNK_SUMMARIES_ENRICH_DEFAULTnumberdefault: 1
Enable chunk_summary enrichment by default
- enrichment.chunk_summaries_maxenv: CHUNK_SUMMARIES_MAXnumberdefault: 100
Max chunk_summaries to generate
- enrichment.enrich_code_chunksenv: ENRICH_CODE_CHUNKSnumberdefault: 1
Enable chunk enrichment
Tooltip (ENRICH_CODE_CHUNKS)
Loading… - enrichment.enrich_max_charsenv: ENRICH_MAX_CHARSnumberdefault: 1000
Max chars for enrichment prompt
- enrichment.enrich_min_charsenv: ENRICH_MIN_CHARSnumberdefault: 50
Min chars for enrichment
- enrichment.enrich_timeoutenv: ENRICH_TIMEOUTnumberdefault: 30
Enrichment timeout (seconds)
evaluation (8)
- evaluation.baseline_pathenv: BASELINE_PATHstringdefault: "data/evals/eval_baseline.json"
Baseline results path
Tooltip (BASELINE_PATH)
Loading… - evaluation.eval_dataset_pathenv: EVAL_DATASET_PATHstringdefault: "data/evaluation_dataset.json"
Evaluation dataset path
- evaluation.eval_multi_menv: EVAL_MULTI_Mnumberdefault: 10
Multi-query variants for evaluation
- evaluation.ndcg_at_10_kenv: —numberdefault: 10
K used for ndcg_at_10 metric (default 10).
- evaluation.precision_at_5_kenv: —numberdefault: 5
K used for precision_at_5 metric (default 5).
- evaluation.recall_at_10_kenv: —numberdefault: 10
K used for recall_at_10 metric (default 10).
- evaluation.recall_at_20_kenv: —numberdefault: 20
K used for recall_at_20 metric (default 20).
- evaluation.recall_at_5_kenv: —numberdefault: 5
K used for recall_at_5 metric (default 5).
fusion (6)
- fusion.graph_weightenv: FUSION_GRAPH_WEIGHTnumberdefault: 0.3
Weight for graph search results (Neo4j)
- fusion.methodenv: FUSION_METHOD"rrf" | "weighted"default: "rrf"
Fusion method: 'rrf' (Reciprocal Rank Fusion) or 'weighted' (score-based)
- fusion.normalize_scoresenv: FUSION_NORMALIZE_SCORESbooleandefault: True
Normalize scores to [0,1] before fusion
- fusion.rrf_kenv: FUSION_RRF_Knumberdefault: 60
RRF smoothing constant (higher = more weight to top ranks)
- fusion.sparse_weightenv: FUSION_SPARSE_WEIGHTnumberdefault: 0.3
Weight for sparse BM25/FTS search results
- fusion.vector_weightenv: FUSION_VECTOR_WEIGHTnumberdefault: 0.4
Weight for vector search results (pgvector)
generation (19)
- generation.enrich_backendenv: ENRICH_BACKENDstringdefault: "openai"
Enrichment backend
Tooltip (ENRICH_BACKEND)
Loading… - generation.enrich_disabledenv: ENRICH_DISABLEDnumberdefault: 0
Disable code enrichment
Tooltip (ENRICH_DISABLED)
Loading… - generation.enrich_modelenv: ENRICH_MODELstringdefault: "gpt-4o-mini"
Model for code enrichment
Tooltip (ENRICH_MODEL)
Loading… - generation.enrich_model_ollamaenv: ENRICH_MODEL_OLLAMAstringdefault: ""
Ollama enrichment model
Tooltip (ENRICH_MODEL_OLLAMA)
Loading… - generation.gen_max_tokensenv: GEN_MAX_TOKENSnumberdefault: 2048
Max tokens for generation
Tooltip (GEN_MAX_TOKENS)
Loading… - generation.gen_modelenv: GEN_MODELstringdefault: "gpt-4o-mini"
Primary generation model
Tooltip (GEN_MODEL)
Loading… - generation.gen_model_clienv: GEN_MODEL_CLIstringdefault: "qwen3-coder:14b"
CLI generation model
Tooltip (GEN_MODEL_CLI)
Loading… - generation.gen_model_httpenv: GEN_MODEL_HTTPstringdefault: ""internal/basics
HTTP transport generation model override
Tooltip (GEN_MODEL_HTTP)
Loading… - generation.gen_model_mcpenv: GEN_MODEL_MCPstringdefault: ""
MCP transport generation model override
Tooltip (GEN_MODEL_MCP)
Loading… - generation.gen_model_ollamaenv: GEN_MODEL_OLLAMAstringdefault: "qwen3-coder:30b"
Ollama generation model
- generation.gen_retry_maxenv: GEN_RETRY_MAXnumberdefault: 2
Max retries for generation
Tooltip (GEN_RETRY_MAX)
Loading… - generation.gen_temperatureenv: GEN_TEMPERATUREnumberdefault: 0.0
Generation temperature
Tooltip (GEN_TEMPERATURE)
Loading… - generation.gen_timeoutenv: GEN_TIMEOUTnumberdefault: 60
Generation timeout (seconds)
Tooltip (GEN_TIMEOUT)
Loading… - generation.gen_top_penv: GEN_TOP_Pnumberdefault: 1.0
Nucleus sampling threshold
Tooltip (GEN_TOP_P)
Loading… - generation.ollama_num_ctxenv: OLLAMA_NUM_CTXnumberdefault: 8192
Context window for Ollama
- generation.ollama_request_timeoutenv: OLLAMA_REQUEST_TIMEOUTnumberdefault: 300
Maximum total time to wait for a local (Ollama) generation request to complete (seconds)
Tooltip (OLLAMA_REQUEST_TIMEOUT)
Loading… - generation.ollama_stream_idle_timeoutenv: OLLAMA_STREAM_IDLE_TIMEOUTnumberdefault: 60
Maximum idle time allowed between streamed chunks from local (Ollama) during generation (seconds)
Tooltip (OLLAMA_STREAM_IDLE_TIMEOUT)
Loading… - generation.ollama_urlenv: OLLAMA_URLstringdefault: "http://127.0.0.1:11434/api"
Ollama API URL
Tooltip (OLLAMA_URL)
Loading… - generation.openai_base_urlenv: OPENAI_BASE_URLstringdefault: ""
OpenAI API base URL override (for proxies)
Tooltip (OPENAI_BASE_URL)
Loading…
graph_indexing (22)
- graph_indexing.ast_calls_weightenv: —numberdefault: 1.0
Edge weight for AST call relationships (function->callee).
- graph_indexing.ast_contains_weightenv: —numberdefault: 1.0
Edge weight for AST containment relationships (module->class/function, class->method).
- graph_indexing.ast_imports_weightenv: —numberdefault: 1.0
Edge weight for AST import relationships (module->imported_module).
- graph_indexing.ast_inherits_weightenv: —numberdefault: 1.0
Edge weight for AST inheritance relationships (class->base).
- graph_indexing.build_lexical_graphenv: —booleandefault: True
Build lexical graph (Document/Chunk nodes + NEXT_CHUNK relationships)
- graph_indexing.chunk_embedding_propertyenv: —stringdefault: "embedding"
Chunk node property that stores the embedding vector
- graph_indexing.chunk_vector_index_nameenv: —stringdefault: "tribrid_chunk_embeddings"
Neo4j vector index name for Chunk embeddings (mode='chunk')
- graph_indexing.enabledenv: —booleandefault: True
Enable graph building during indexing (Neo4j)
- graph_indexing.semantic_kg_enabledenv: —booleandefault: False
Build semantic knowledge graph (concept entities + relations) linked to chunks during indexing
- graph_indexing.semantic_kg_llm_modelenv: —stringdefault: ""
LLM model name for semantic KG extraction when semantic_kg_mode='llm' (empty = use generation.enrich_model)
- graph_indexing.semantic_kg_llm_timeout_senv: —numberdefault: 30
Timeout (seconds) for semantic KG LLM extraction per chunk
- graph_indexing.semantic_kg_max_chunksenv: —numberdefault: 200
Maximum chunks to process for semantic KG extraction per indexing run (0 = disabled)
- graph_indexing.semantic_kg_max_concepts_per_chunkenv: —numberdefault: 8
Maximum semantic concepts to extract per chunk
- graph_indexing.semantic_kg_max_relations_per_chunkenv: —numberdefault: 12
Maximum semantic relations to create per chunk (heuristic mode)
- graph_indexing.semantic_kg_min_concept_lenenv: —numberdefault: 4
Minimum length for semantic concept tokens
- graph_indexing.semantic_kg_modeenv: —"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_heuristicenv: —numberdefault: 0.5
Edge weight for semantic concept relations in heuristic fallback mode.
- graph_indexing.semantic_kg_relation_weight_llmenv: —numberdefault: 0.7
Edge weight for semantic concept relations in LLM mode.
- graph_indexing.store_chunk_embeddingsenv: —booleandefault: True
Store chunk embeddings on Chunk nodes for Neo4j vector search (requires dense embeddings)
- graph_indexing.vector_index_online_timeout_senv: —numberdefault: 60.0
Timeout waiting for Neo4j vector index ONLINE (seconds)
- graph_indexing.vector_similarity_functionenv: —"cosine" | "euclidean"default: "cosine"
Neo4j vector similarity function
- graph_indexing.wait_vector_index_onlineenv: —booleandefault: True
Wait for the Neo4j vector index to come ONLINE after (re)creating it
graph_search (9)
- graph_search.chunk_entity_expansion_enabledenv: —booleandefault: True
When mode='chunk', expand from seed chunks via Entity graph (IN_CHUNK links) to find related chunks
- graph_search.chunk_entity_expansion_weightenv: —numberdefault: 0.8
Blend weight for entity-expansion scores relative to seed chunk scores (mode='chunk')
- graph_search.chunk_neighbor_windowenv: —numberdefault: 1
When mode='chunk', include up to N adjacent chunks (NEXT_CHUNK) around each seed hit
- graph_search.chunk_seed_overfetch_multiplierenv: —numberdefault: 10
When mode='chunk' and Neo4j uses a shared database, overfetch seed hits before filtering by corpus_id
- graph_search.enabledenv: —booleandefault: True
Enable graph search in tri-brid retrieval
- graph_search.include_communitiesenv: —booleandefault: True
Include community-based expansion in graph search
- graph_search.max_hopsenv: —numberdefault: 2
Maximum graph traversal hops
- graph_search.modeenv: —"chunk" | "entity"default: "chunk"
Graph retrieval mode. 'chunk' uses lexical chunk nodes + Neo4j vector index; 'entity' uses the legacy code-entity graph.
- graph_search.top_kenv: —numberdefault: 30
Number of results to retrieve from graph search
graph_storage (13)
- graph_storage.community_algorithmenv: GRAPH_COMMUNITY_ALGORITHM"louvain" | "label_propagation"default: "louvain"
Community detection algorithm
- graph_storage.entity_typesenv: —string[]default: ["function", "class", "module", "variable", "im...
Entity types to extract and store in graph
- graph_storage.graph_search_top_kenv: GRAPH_SEARCH_TOP_Knumberdefault: 30
Number of results from graph traversal
- graph_storage.include_communitiesenv: GRAPH_INCLUDE_COMMUNITIESbooleandefault: True
Include community detection in graph analysis
- graph_storage.max_hopsenv: GRAPH_MAX_HOPSnumberdefault: 2
Maximum traversal hops for graph search
- graph_storage.neo4j_auto_create_databasesenv: —booleandefault: True
Automatically create per-corpus Neo4j databases when missing (Enterprise).
- graph_storage.neo4j_databaseenv: NEO4J_DATABASEstringdefault: "neo4j"
Neo4j database name
- graph_storage.neo4j_database_modeenv: —"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_prefixenv: —stringdefault: "tribrid_"
Prefix for per-corpus Neo4j database names when neo4j_database_mode='per_corpus'.
- graph_storage.neo4j_passwordenv: NEO4J_PASSWORDstringdefault: ""
Neo4j password (recommend using environment variable)
- graph_storage.neo4j_urienv: NEO4J_URIstringdefault: "bolt://localhost:7687"
Neo4j connection URI (bolt:// or neo4j://)
- graph_storage.neo4j_userenv: NEO4J_USERstringdefault: "neo4j"
Neo4j username
- graph_storage.relationship_typesenv: —string[]default: ["calls", "imports", "inherits", "contains", "r...
Relationship types to extract
hydration (2)
- hydration.hydration_max_charsenv: HYDRATION_MAX_CHARSnumberdefault: 2000
Max characters to hydrate
Tooltip (HYDRATION_MAX_CHARS)
Loading… - hydration.hydration_modeenv: HYDRATION_MODEstringdefault: "lazy"
Context hydration mode
Tooltip (HYDRATION_MODE)
Loading…
indexing (15)
- indexing.bm25_stemmer_langenv: BM25_STEMMER_LANGstringdefault: "english"
Stemmer language
Tooltip (BM25_STEMMER_LANG)
Loading… - indexing.bm25_stopwords_langenv: BM25_STOPWORDS_LANGstringdefault: "en"
Stopwords language code
- indexing.bm25_tokenizerenv: BM25_TOKENIZERstringdefault: "stemmer"
BM25 tokenizer type
Tooltip (BM25_TOKENIZER)
Loading… - indexing.collection_suffixenv: COLLECTION_SUFFIXstringdefault: "default"internal/basics
Collection suffix for multi-index scenarios
Tooltip (COLLECTION_SUFFIX)
Loading… - indexing.index_excluded_extsenv: INDEX_EXCLUDED_EXTSstringdefault: ".png,.jpg,.gif,.ico,.svg,.woff,.ttf"
Excluded file extensions (comma-separated)
Tooltip (INDEX_EXCLUDED_EXTS)
Loading… - indexing.index_max_file_size_mbenv: INDEX_MAX_FILE_SIZE_MBnumberdefault: 10
Max file size to index (MB)
Tooltip (INDEX_MAX_FILE_SIZE_MB)
Loading… - indexing.indexing_batch_sizeenv: INDEXING_BATCH_SIZEnumberdefault: 100
Batch size for indexing
Tooltip (INDEXING_BATCH_SIZE)
Loading… - indexing.indexing_workersenv: INDEXING_WORKERSnumberdefault: 4
Parallel workers for indexing
Tooltip (INDEXING_WORKERS)
Loading… - indexing.out_dir_baseenv: OUT_DIR_BASEstringdefault: "./out"
Base output directory
Tooltip (OUT_DIR_BASE)
Loading… - indexing.postgres_urlenv: POSTGRES_URLstringdefault: "postgresql://postgres:postgres@localhost:5432/t..."
PostgreSQL connection string (DSN) for pgvector + FTS storage
- indexing.rag_out_baseenv: RAG_OUT_BASEstringdefault: ""
Override for OUT_DIR_BASE if specified
Tooltip (RAG_OUT_BASE)
Loading… - indexing.repo_pathenv: REPO_PATHstringdefault: ""
Fallback repository path if not found in repos.json
Tooltip (REPO_PATH)
Loading… - indexing.repos_fileenv: REPOS_FILEstringdefault: "./repos.json"
Repository configuration file
Tooltip (REPOS_FILE)
Loading… - indexing.skip_denseenv: SKIP_DENSEnumberdefault: 0
Skip dense vector indexing
Tooltip (SKIP_DENSE)
Loading… - indexing.table_nameenv: COLLECTION_NAMEstringdefault: "code_chunks_{repo}"
pgvector table name template
Tooltip (COLLECTION_NAME)
Loading…
keywords (5)
- keywords.keywords_auto_generateenv: KEYWORDS_AUTO_GENERATEnumberdefault: 1
Auto-generate keywords
Tooltip (KEYWORDS_AUTO_GENERATE)
Loading… - keywords.keywords_boostenv: KEYWORDS_BOOSTnumberdefault: 1.3
Score boost for keyword matches
Tooltip (KEYWORDS_BOOST)
Loading… - keywords.keywords_max_per_repoenv: KEYWORDS_MAX_PER_REPOnumberdefault: 50
Max discriminative keywords per repo
Tooltip (KEYWORDS_MAX_PER_REPO)
Loading… - keywords.keywords_min_freqenv: KEYWORDS_MIN_FREQnumberdefault: 3
Min frequency for keyword
Tooltip (KEYWORDS_MIN_FREQ)
Loading… - keywords.keywords_refresh_hoursenv: KEYWORDS_REFRESH_HOURSnumberdefault: 24
Hours between keyword refresh
Tooltip (KEYWORDS_REFRESH_HOURS)
Loading…
layer_bonus (6)
- layer_bonus.freshness_bonusenv: FRESHNESS_BONUSnumberdefault: 0.05
Bonus for recently modified files
Tooltip (FRESHNESS_BONUS)
Loading… - layer_bonus.guienv: LAYER_BONUS_GUInumberdefault: 0.15
Bonus for GUI/front-end layers
Tooltip (LAYER_BONUS_GUI)
Loading… - layer_bonus.indexerenv: LAYER_BONUS_INDEXERnumberdefault: 0.15
Bonus for indexing/ingestion layers
- layer_bonus.intent_matrixenv: LAYER_INTENT_MATRIXRecord<string, Record<string, number>>default: —
Intent-to-layer bonus matrix. Keys are query intents, values are layer->multiplier maps.
- layer_bonus.retrievalenv: LAYER_BONUS_RETRIEVALnumberdefault: 0.15
Bonus for retrieval/API layers
Tooltip (LAYER_BONUS_RETRIEVAL)
Loading… - layer_bonus.vendor_penaltyenv: VENDOR_PENALTYnumberdefault: -0.1internal/basics
Penalty for vendor/third-party code (negative values apply a penalty)
Tooltip (VENDOR_PENALTY)
Loading…
mcp (10)
- mcp.allowed_hostsenv: —string[]default: —
Allowed Host header values for MCP HTTP (supports wildcard ':*').
- mcp.allowed_originsenv: —string[]default: —
Allowed Origin header values for MCP HTTP (supports wildcard ':*').
- mcp.default_modeenv: 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_kenv: MCP_DEFAULT_TOP_Knumberdefault: 20
Default top_k for MCP search/answer tools when not provided.
- mcp.enable_dns_rebinding_protectionenv: MCP_HTTP_DNS_REBIND_PROTECTIONbooleandefault: True
Enable DNS rebinding protection for MCP HTTP (recommended).
- mcp.enabledenv: MCP_HTTP_ENABLEDbooleandefault: True
Enable the embedded MCP Streamable HTTP server.
- mcp.json_responseenv: MCP_HTTP_JSON_RESPONSEbooleandefault: True
Prefer JSON responses for MCP Streamable HTTP (recommended).
- mcp.mount_pathenv: MCP_HTTP_PATHstringdefault: "/mcp"
Mount path for the MCP Streamable HTTP endpoint (e.g. /mcp).
Tooltip (MCP_HTTP_PATH)
Loading… - mcp.require_api_keyenv: MCP_REQUIRE_API_KEYbooleandefault: False
Require `Authorization: Bearer $MCP_API_KEY` for MCP HTTP access.
- mcp.stateless_httpenv: MCP_HTTP_STATELESSbooleandefault: True
Run MCP Streamable HTTP in stateless mode (recommended).
reranking (14)
- reranking.rerank_input_snippet_charsenv: RERANK_INPUT_SNIPPET_CHARSnumberdefault: 700
Snippet chars for reranking input
Tooltip (RERANK_INPUT_SNIPPET_CHARS)
Loading… - reranking.reranker_cloud_modelenv: RERANKER_CLOUD_MODELstringdefault: "rerank-v3.5"
Cloud reranker model name when mode=cloud (Cohere: rerank-v3.5)
Tooltip (RERANKER_CLOUD_MODEL)
Loading… - reranking.reranker_cloud_providerenv: RERANKER_CLOUD_PROVIDERstringdefault: "cohere"
Cloud reranker provider when mode=cloud (cohere, voyage, jina)
Tooltip (RERANKER_CLOUD_PROVIDER)
Loading… - reranking.reranker_cloud_top_nenv: RERANKER_CLOUD_TOP_Nnumberdefault: 50
Number of candidates to rerank (cloud mode)
Tooltip (RERANKER_CLOUD_TOP_N)
Loading… - reranking.reranker_local_modelenv: RERANKER_LOCAL_MODELstringdefault: "cross-encoder/ms-marco-MiniLM-L-12-v2"
Local HuggingFace cross-encoder model when mode=local
Tooltip (RERANKER_LOCAL_MODEL)
Loading… - reranking.reranker_modeenv: RERANKER_MODEstringdefault: "local"
Reranker mode: 'cloud' (Cohere/Voyage API), 'local' (HuggingFace cross-encoder), 'learning' (TRIBRID cross-encoder-tribrid), 'none' (disabled)
Tooltip (RERANKER_MODE)
Loading… - reranking.reranker_timeoutenv: RERANKER_TIMEOUTnumberdefault: 10
Reranker API timeout (seconds)
Tooltip (RERANKER_TIMEOUT)
Loading… - reranking.transformers_trust_remote_codeenv: TRANSFORMERS_TRUST_REMOTE_CODEnumberdefault: 1
Allow transformers remote code for HF rerankers that require it
Tooltip (TRANSFORMERS_TRUST_REMOTE_CODE)
Loading… - reranking.tribrid_reranker_alphaenv: TRIBRID_RERANKER_ALPHAnumberdefault: 0.7
Blend weight for reranker scores
Tooltip (TRIBRID_RERANKER_ALPHA)
Loading… - reranking.tribrid_reranker_batchenv: TRIBRID_RERANKER_BATCHnumberdefault: 16
Reranker batch size
Tooltip (TRIBRID_RERANKER_BATCH)
Loading… - reranking.tribrid_reranker_maxlenenv: TRIBRID_RERANKER_MAXLENnumberdefault: 512
Max token length for reranker
Tooltip (TRIBRID_RERANKER_MAXLEN)
Loading… - reranking.tribrid_reranker_reload_on_changeenv: TRIBRID_RERANKER_RELOAD_ON_CHANGEnumberdefault: 0
Hot-reload on model change
Tooltip (TRIBRID_RERANKER_RELOAD_ON_CHANGE)
Loading… - reranking.tribrid_reranker_reload_period_secenv: TRIBRID_RERANKER_RELOAD_PERIOD_SECnumberdefault: 60
Reload check period (seconds)
- reranking.tribrid_reranker_topnenv: TRIBRID_RERANKER_TOPNnumberdefault: 50
Number of candidates to rerank (local/learning mode)
Tooltip (TRIBRID_RERANKER_TOPN)
Loading…
retrieval (24)
- retrieval.bm25_benv: BM25_Bnumberdefault: 0.4
BM25 length normalization (0=no penalty, 1=full penalty, 0.3-0.5 recommended for code)
- retrieval.bm25_k1env: BM25_K1numberdefault: 1.2
BM25 term frequency saturation parameter (higher = more weight to term frequency)
- retrieval.bm25_weightenv: BM25_WEIGHTnumberdefault: 0.3
Weight for BM25 in hybrid search
Tooltip (BM25_WEIGHT)
Loading… - retrieval.chunk_summary_search_enabledenv: CHUNK_SUMMARY_SEARCH_ENABLEDnumberdefault: 1
Enable chunk_summary-based retrieval
- retrieval.conf_anyenv: CONF_ANYnumberdefault: 0.55
Minimum confidence threshold
Tooltip (CONF_ANY)
Loading… - retrieval.conf_avg5env: CONF_AVG5numberdefault: 0.55
Confidence threshold for avg top-5
Tooltip (CONF_AVG5)
Loading… - retrieval.conf_top1env: CONF_TOP1numberdefault: 0.62internal/basics
Confidence threshold for top-1
Tooltip (CONF_TOP1)
Loading… - retrieval.eval_final_kenv: EVAL_FINAL_Knumberdefault: 5
Top-k for evaluation runs
Tooltip (EVAL_FINAL_K)
Loading… - retrieval.eval_multienv: EVAL_MULTInumberdefault: 1
Enable multi-query in eval
Tooltip (EVAL_MULTI)
Loading… - retrieval.fallback_confidenceenv: FALLBACK_CONFIDENCEnumberdefault: 0.55
Confidence threshold for fallback retrieval strategies
- retrieval.final_kenv: FINAL_Knumberdefault: 10
Default top-k for search results
Tooltip (FINAL_K)
Loading… - retrieval.hydration_max_charsenv: —numberdefault: 2000
Max characters for result hydration
- retrieval.hydration_modeenv: —stringdefault: "lazy"
Result hydration mode
- retrieval.langgraph_final_kenv: LANGGRAPH_FINAL_Knumberdefault: 20
Number of final results to return in LangGraph pipeline
Tooltip (LANGGRAPH_FINAL_K)
Loading… - retrieval.langgraph_max_query_rewritesenv: LANGGRAPH_MAX_QUERY_REWRITESnumberdefault: 2
Maximum number of query rewrites for LangGraph pipeline
Tooltip (LANGGRAPH_MAX_QUERY_REWRITES)
Loading… - retrieval.max_query_rewritesenv: MAX_QUERY_REWRITES, MQ_REWRITESnumberdefault: 2
Maximum number of query rewrites for multi-query expansion
Tooltip (MAX_QUERY_REWRITES)
Loading… - retrieval.multi_query_menv: MULTI_QUERY_Mnumberdefault: 4
Query variants for multi-query
Tooltip (MULTI_QUERY_M)
Loading… - retrieval.query_expansion_enabledenv: QUERY_EXPANSION_ENABLEDnumberdefault: 1
Enable synonym expansion
- retrieval.rrf_k_divenv: RRF_K_DIVnumberdefault: 60
RRF rank smoothing constant (higher = more weight to top ranks)
Tooltip (RRF_K_DIV)
Loading… - retrieval.topk_denseenv: TOPK_DENSEnumberdefault: 75
Top-K for dense vector search
Tooltip (TOPK_DENSE)
Loading… - retrieval.topk_sparseenv: TOPK_SPARSEnumberdefault: 75
Top-K for sparse BM25 search
Tooltip (TOPK_SPARSE)
Loading… - retrieval.tribrid_synonyms_pathenv: TRIBRID_SYNONYMS_PATHstringdefault: ""
Custom path to semantic_synonyms.json (default: data/semantic_synonyms.json)
Tooltip (TRIBRID_SYNONYMS_PATH)
Loading… - retrieval.use_semantic_synonymsenv: USE_SEMANTIC_SYNONYMSnumberdefault: 1
Enable semantic synonym expansion
Tooltip (USE_SEMANTIC_SYNONYMS)
Loading… - retrieval.vector_weightenv: VECTOR_WEIGHTnumberdefault: 0.7
Weight for vector search
Tooltip (VECTOR_WEIGHT)
Loading…
scoring (5)
- scoring.chunk_summary_bonusenv: CHUNK_SUMMARY_BONUSnumberdefault: 0.08
Bonus score for chunks matched via chunk_summary-based retrieval
- scoring.filename_boost_exactenv: FILENAME_BOOST_EXACTnumberdefault: 1.5
Score multiplier when filename exactly matches query terms
Tooltip (FILENAME_BOOST_EXACT)
Loading… - scoring.filename_boost_partialenv: FILENAME_BOOST_PARTIALnumberdefault: 1.2
Score multiplier when path components match query terms
Tooltip (FILENAME_BOOST_PARTIAL)
Loading… - scoring.path_boostsenv: PATH_BOOSTSstringdefault: "/gui,/server,/indexer,/retrieval"
Comma-separated path prefixes to boost
- scoring.vendor_modeenv: VENDOR_MODEstringdefault: "prefer_first_party"internal/basics
Vendor code preference
Tooltip (VENDOR_MODE)
Loading…
sparse_search (4)
- sparse_search.bm25_benv: —numberdefault: 0.4
BM25 length normalization (0 = no penalty, 1 = full penalty)
- sparse_search.bm25_k1env: —numberdefault: 1.2
BM25 term frequency saturation (higher = more weight to term frequency)
- sparse_search.enabledenv: —booleandefault: True
Enable sparse BM25 search in tri-brid retrieval
- sparse_search.top_kenv: —numberdefault: 50
Number of results to retrieve from sparse search
system_prompts (8)
- system_prompts.code_enrichmentenv: PROMPT_CODE_ENRICHMENTstringdefault: "Analyze this code and return a JSON object with..."
Extract metadata from code chunks during indexing
- system_prompts.eval_analysisenv: PROMPT_EVAL_ANALYSISstringdefault: "You are an expert RAG (Retrieval-Augmented Gene..."
Analyze eval regressions with skeptical approach - avoid false explanations
- system_prompts.lightweight_chunk_summariesenv: PROMPT_LIGHTWEIGHT_CARDSstringdefault: "Extract key information from this code: symbols..."
Lightweight chunk_summary generation prompt for faster indexing
- system_prompts.main_rag_chatenv: PROMPT_MAIN_RAG_CHATstringdefault: "You are an expert software engineer and code an..."
Main conversational AI system prompt for answering codebase questions
- system_prompts.query_expansionenv: PROMPT_QUERY_EXPANSIONstringdefault: "You are a code search query expander. Given a d..."
Generate query variants for better recall in hybrid search
- system_prompts.query_rewriteenv: PROMPT_QUERY_REWRITEstringdefault: "You rewrite developer questions into search-opt..."
Optimize user query for code search - expand CamelCase, include API nouns
- system_prompts.semantic_chunk_summariesenv: PROMPT_SEMANTIC_CARDSstringdefault: "Analyze this code chunk and create a comprehens..."
Generate JSON summaries for code chunks during indexing
- system_prompts.semantic_kg_extractionenv: —stringdefault: "You are a semantic knowledge graph extractor.\n..."
Prompt for LLM-assisted semantic KG extraction (concepts + relations)
tracing (17)
- tracing.alert_include_resolvedenv: ALERT_INCLUDE_RESOLVEDnumberdefault: 1
Include resolved alerts
- tracing.alert_notify_severitiesenv: ALERT_NOTIFY_SEVERITIESstringdefault: "critical,warning"
Alert severities to notify
- tracing.alert_webhook_timeoutenv: ALERT_WEBHOOK_TIMEOUTnumberdefault: 5
Alert webhook timeout (seconds)
Tooltip (ALERT_WEBHOOK_TIMEOUT)
Loading… - tracing.langchain_endpointenv: LANGCHAIN_ENDPOINTstringdefault: "https://api.smith.langchain.com"
LangChain/LangSmith API endpoint
Tooltip (LANGCHAIN_ENDPOINT)
Loading… - tracing.langchain_projectenv: LANGCHAIN_PROJECTstringdefault: "tribrid"
LangChain project name
Tooltip (LANGCHAIN_PROJECT)
Loading… - tracing.langchain_tracing_v2env: LANGCHAIN_TRACING_V2numberdefault: 0
Enable LangChain v2 tracing
Tooltip (LANGCHAIN_TRACING_V2)
Loading… - tracing.langtrace_api_hostenv: LANGTRACE_API_HOSTstringdefault: ""
LangTrace API host
Tooltip (LANGTRACE_API_HOST)
Loading… - tracing.langtrace_project_idenv: LANGTRACE_PROJECT_IDstringdefault: ""
LangTrace project ID
Tooltip (LANGTRACE_PROJECT_ID)
Loading… - tracing.log_levelenv: LOG_LEVELstringdefault: "INFO"internal/basics
Logging level
Tooltip (LOG_LEVEL)
Loading… - tracing.metrics_enabledenv: METRICS_ENABLEDnumberdefault: 1
Enable metrics collection
Tooltip (METRICS_ENABLED)
Loading… - tracing.prometheus_portenv: PROMETHEUS_PORTnumberdefault: 9090
Prometheus metrics port
Tooltip (PROMETHEUS_PORT)
Loading… - tracing.trace_auto_lsenv: TRACE_AUTO_LSnumberdefault: 1
Auto-enable LangSmith tracing
Tooltip (TRACE_AUTO_LS)
Loading… - tracing.trace_retentionenv: TRACE_RETENTIONnumberdefault: 50internal/basics
Number of traces to retain
Tooltip (TRACE_RETENTION)
Loading… - tracing.trace_sampling_rateenv: TRACE_SAMPLING_RATEnumberdefault: 1.0internal/basics
Trace sampling rate (0.0-1.0)
Tooltip (TRACE_SAMPLING_RATE)
Loading… - tracing.tracing_enabledenv: TRACING_ENABLEDnumberdefault: 1internal/basics
Enable distributed tracing
Tooltip (TRACING_ENABLED)
Loading… - tracing.tracing_modeenv: TRACING_MODEstringdefault: "langsmith"
Tracing backend mode
Tooltip (TRACING_MODE)
Loading… - tracing.tribrid_log_pathenv: TRIBRID_LOG_PATHstringdefault: "data/logs/queries.jsonl"
Query log file path
Tooltip (TRIBRID_LOG_PATH)
Loading…
training (10)
- training.reranker_train_batchenv: RERANKER_TRAIN_BATCHnumberdefault: 16
Training batch size
Tooltip (RERANKER_TRAIN_BATCH)
Loading… - training.reranker_train_epochsenv: RERANKER_TRAIN_EPOCHSnumberdefault: 2
Training epochs for reranker
Tooltip (RERANKER_TRAIN_EPOCHS)
Loading… - training.reranker_train_lrenv: RERANKER_TRAIN_LRnumberdefault: 2e-05
Learning rate
Tooltip (RERANKER_TRAIN_LR)
Loading… - training.reranker_warmup_ratioenv: RERANKER_WARMUP_RATIOnumberdefault: 0.1
Warmup steps ratio
Tooltip (RERANKER_WARMUP_RATIO)
Loading… - training.tribrid_reranker_mine_modeenv: TRIBRID_RERANKER_MINE_MODEstringdefault: "replace"
Triplet mining mode
Tooltip (TRIBRID_RERANKER_MINE_MODE)
Loading… - training.tribrid_reranker_mine_resetenv: TRIBRID_RERANKER_MINE_RESETnumberdefault: 0
Reset triplets file before mining
Tooltip (TRIBRID_RERANKER_MINE_RESET)
Loading… - training.tribrid_reranker_model_pathenv: TRIBRID_RERANKER_MODEL_PATHstringdefault: "models/cross-encoder-tribrid"
Reranker model path
Tooltip (TRIBRID_RERANKER_MODEL_PATH)
Loading… - training.tribrid_triplets_pathenv: TRIBRID_TRIPLETS_PATHstringdefault: "data/training/triplets.jsonl"
Training triplets file path
Tooltip (TRIBRID_TRIPLETS_PATH)
Loading… - training.triplets_min_countenv: TRIPLETS_MIN_COUNTnumberdefault: 100
Min triplets for training
Tooltip (TRIPLETS_MIN_COUNT)
Loading… - training.triplets_mine_modeenv: TRIPLETS_MINE_MODEstringdefault: "replace"
Triplet mining mode
Tooltip (TRIPLETS_MINE_MODE)
Loading…
ui (26)
- ui.chat_default_modelenv: CHAT_DEFAULT_MODELstringdefault: "gpt-4o-mini"
Default model for chat if not specified in request
Tooltip (CHAT_DEFAULT_MODEL)
Loading… - ui.chat_history_maxenv: CHAT_HISTORY_MAXnumberdefault: 50
Max chat history messages
- ui.chat_show_citationsenv: CHAT_SHOW_CITATIONSnumberdefault: 1
Show citations list on chat answers
Tooltip (CHAT_SHOW_CITATIONS)
Loading… - ui.chat_show_confidenceenv: CHAT_SHOW_CONFIDENCEnumberdefault: 0
Show confidence badge on chat answers
- ui.chat_show_debug_footerenv: CHAT_SHOW_DEBUG_FOOTERnumberdefault: 1internal/basics
Show dev/debug footer under chat answers
- ui.chat_show_traceenv: CHAT_SHOW_TRACEnumberdefault: 1
Show routing trace panel by default
- ui.chat_stream_include_thinkingenv: CHAT_STREAM_INCLUDE_THINKINGnumberdefault: 1
Include reasoning/thinking in streamed responses when supported by model
Tooltip (CHAT_STREAM_INCLUDE_THINKING)
Loading… - ui.chat_stream_timeoutenv: CHAT_STREAM_TIMEOUTnumberdefault: 120
Streaming response timeout in seconds
Tooltip (CHAT_STREAM_TIMEOUT)
Loading… - ui.chat_streaming_enabledenv: CHAT_STREAMING_ENABLEDnumberdefault: 1
Enable streaming responses
Tooltip (CHAT_STREAMING_ENABLED)
Loading… - ui.chat_thinking_budget_tokensenv: CHAT_THINKING_BUDGET_TOKENSnumberdefault: 10000internal/basics
Max thinking tokens for Anthropic extended thinking
Tooltip (CHAT_THINKING_BUDGET_TOKENS)
Loading… - ui.editor_bindenv: EDITOR_BINDstringdefault: "local"
Editor bind mode
Tooltip (EDITOR_BIND)
Loading… - ui.editor_embed_enabledenv: EDITOR_EMBED_ENABLEDnumberdefault: 1
Enable editor embedding
Tooltip (EDITOR_EMBED_ENABLED)
Loading… - ui.editor_enabledenv: EDITOR_ENABLEDnumberdefault: 1
Enable embedded editor
Tooltip (EDITOR_ENABLED)
Loading… - ui.editor_imageenv: EDITOR_IMAGEstringdefault: "codercom/code-server:latest"
Editor Docker image
- ui.editor_portenv: EDITOR_PORTnumberdefault: 4440
Embedded editor port
Tooltip (EDITOR_PORT)
Loading… - ui.grafana_auth_modeenv: GRAFANA_AUTH_MODEstringdefault: "anonymous"
Grafana authentication mode
Tooltip (GRAFANA_AUTH_MODE)
Loading… - ui.grafana_base_urlenv: GRAFANA_BASE_URLstringdefault: "http://127.0.0.1:3001"
Grafana base URL
Tooltip (GRAFANA_BASE_URL)
Loading… - ui.grafana_dashboard_slugenv: GRAFANA_DASHBOARD_SLUGstringdefault: "tribrid-overview"
Grafana dashboard slug
- ui.grafana_dashboard_uidenv: GRAFANA_DASHBOARD_UIDstringdefault: "tribrid-overview"
Default Grafana dashboard UID
Tooltip (GRAFANA_DASHBOARD_UID)
Loading… - ui.grafana_embed_enabledenv: GRAFANA_EMBED_ENABLEDnumberdefault: 1
Enable Grafana embedding
- ui.grafana_kioskenv: GRAFANA_KIOSKstringdefault: "tv"
Grafana kiosk mode
- ui.grafana_org_idenv: GRAFANA_ORG_IDnumberdefault: 1
Grafana organization ID
- ui.grafana_refreshenv: GRAFANA_REFRESHstringdefault: "10s"
Grafana refresh interval
- ui.open_browserenv: OPEN_BROWSERnumberdefault: 1
Auto-open browser on start
Tooltip (OPEN_BROWSER)
Loading… - ui.runtime_modeenv: RUNTIME_MODE"development" | "production"default: "development"
Runtime environment mode (development uses localhost, production uses deployed URLs)
- ui.theme_modeenv: THEME_MODEstringdefault: "dark"
UI theme mode
Tooltip (THEME_MODE)
Loading…
vector_search (3)
- vector_search.enabledenv: —booleandefault: True
Enable vector search in tri-brid retrieval
- vector_search.similarity_thresholdenv: —numberdefault: 0.0
Minimum similarity score threshold (0 = no threshold)
- vector_search.top_kenv: —numberdefault: 50
Number of results to retrieve from vector search