Knob Registry (Raw)
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.
chat (78)
- chat.benchmark.enabledenv: —booleandefault: True
No description in OpenAPI yet.
- chat.benchmark.include_cost_trackingenv: —booleandefault: True
No description in OpenAPI yet.
- chat.benchmark.include_timing_breakdownenv: —booleandefault: True
No description in OpenAPI yet.
- chat.benchmark.max_concurrent_modelsenv: —numberdefault: 4
No description in OpenAPI yet.
- chat.benchmark.results_pathenv: —stringdefault: "data/benchmarks/"
No description in OpenAPI yet.
- chat.benchmark.save_resultsenv: —booleandefault: True
No description in OpenAPI yet.
- chat.default_corpus_idsenv: —string[]default: ["epstein-files-1"]
Default checked user-facing corpus IDs for new conversations.
- chat.image_gen.comfyui_api_endpointenv: —stringdefault: ""
No description in OpenAPI yet.
- chat.image_gen.default_resolutionenv: —stringdefault: "1024x1024"
No description in OpenAPI yet.
- chat.image_gen.default_stepsenv: —numberdefault: 8
No description in OpenAPI yet.
- chat.image_gen.enabledenv: —booleandefault: False
No description in OpenAPI yet.
- chat.image_gen.local_commandenv: —stringdefault: "python -m qwen_image.generate"
CLI command. Receives --prompt, --output, --steps, --width, --height.
- chat.image_gen.local_model_pathenv: —stringdefault: ""
No description in OpenAPI yet.
- chat.image_gen.providerenv: —stringdefault: "local"
No description in OpenAPI yet.
- chat.image_gen.replicate_modelenv: —stringdefault: ""
No description in OpenAPI yet.
- chat.image_gen.use_lightning_loraenv: —booleandefault: True
No description in OpenAPI yet.
- chat.local_models.auto_detectenv: —booleandefault: True
No description in OpenAPI yet.
- chat.local_models.default_chat_modelenv: —stringdefault: "qwen3:8b"
No description in OpenAPI yet.
- chat.local_models.default_embedding_modelenv: —stringdefault: "nomic-embed-text"
No description in OpenAPI yet.
- chat.local_models.default_vision_modelenv: —stringdefault: "qwen3-vl:8b"
No description in OpenAPI yet.
- chat.local_models.fallback_to_cloudenv: —booleandefault: True
No description in OpenAPI yet.
- chat.local_models.gpu_memory_limit_gbenv: —numberdefault: 0
No description in OpenAPI yet.
- chat.local_models.health_check_intervalenv: —numberdefault: 30
No description in OpenAPI yet.
- chat.local_models.providers[].base_urlenv: —stringdefault: —
Provider API endpoint
- chat.local_models.providers[].enabledenv: —booleandefault: True
No description in OpenAPI yet.
- chat.local_models.providers[].nameenv: —stringdefault: —
Display name
- chat.local_models.providers[].priorityenv: —numberdefault: 0
Lower = higher priority when multiple have same model.
- chat.local_models.providers[].provider_typeenv: —stringdefault: —
No description in OpenAPI yet.
- chat.max_tokensenv: —numberdefault: 4096
No description in OpenAPI yet.
- chat.multimodal.image_detailenv: —stringdefault: "auto"
OpenAI vision detail level.
- chat.multimodal.max_image_size_mbenv: —numberdefault: 20
No description in OpenAPI yet.
- chat.multimodal.max_images_per_messageenv: —numberdefault: 5
No description in OpenAPI yet.
- chat.multimodal.supported_formatsenv: —string[]default: ["png", "jpg", "jpeg", "gif", "webp"]
No description in OpenAPI yet.
- chat.multimodal.vision_enabledenv: —booleandefault: True
No description in OpenAPI yet.
- chat.multimodal.vision_model_overrideenv: —stringdefault: ""
Force model for vision. Empty=use chat model if it supports vision.
- chat.openai_protocolenv: —"auto" | "responses" | "chat_completions"default: "auto"
Protocol for OpenAI cloud_direct calls. 'auto' routes codex-only models to Responses.
- chat.openrouter.api_keyenv: —stringdefault: ""
No description in OpenAPI yet.
- chat.openrouter.base_urlenv: —stringdefault: "https://openrouter.ai/api/v1"
No description in OpenAPI yet.
- chat.openrouter.default_modelenv: —stringdefault: "anthropic/claude-sonnet-4"
No description in OpenAPI yet.
- chat.openrouter.enabledenv: —booleandefault: False
No description in OpenAPI yet.
- chat.openrouter.fallback_modelsenv: —string[]default: ["openai/gpt-4o", "google/gemini-2.0-flash"]
No description in OpenAPI yet.
- chat.openrouter.site_nameenv: —stringdefault: "TriBridRAG"
No description in OpenAPI yet.
- chat.recall_gate.deep_on_explicit_referenceenv: —booleandefault: True
Trigger deep when message explicitly references past conversation.
- chat.recall_gate.deep_recency_weightenv: —numberdefault: 0.5
recency_weight for deep (higher when user explicitly asks about the past).
- chat.recall_gate.deep_top_kenv: —numberdefault: 10
top_k when intensity=deep.
- chat.recall_gate.default_intensityenv: —RecallIntensitydefault: "standard"
Fallback when classifier is uncertain.
- chat.recall_gate.enabledenv: —booleandefault: True
Enable smart gating. False=always query Recall when checked.
- chat.recall_gate.light_for_short_questionsenv: —booleandefault: True
Use sparse-only for short questions (< 10 tokens) without explicit recall triggers.
- chat.recall_gate.light_top_kenv: —numberdefault: 3
top_k when intensity=light.
- chat.recall_gate.show_gate_decisionenv: —booleandefault: True
Show gate decision (intensity, reason) in status bar.
- chat.recall_gate.show_signalsenv: —booleandefault: Falseinternal/basics
Show raw RecallSignals in debug footer (dev mode).
- chat.recall_gate.skip_greetingsenv: —booleandefault: True
Skip Recall for greetings, farewells, acknowledgments.
- chat.recall_gate.skip_max_tokensenv: —numberdefault: 4
Messages with ≤ this many tokens are skip candidates (only if they match a skip pattern).
- chat.recall_gate.skip_standalone_questionsenv: —booleandefault: True
Skip Recall for questions that don't reference past context. 'How does auth work?' doesn't need chat history.
- chat.recall_gate.skip_when_rag_activeenv: —booleandefault: False
Skip Recall when RAG corpora are checked. Assumes user wants code context, not chat history. Default False — let both contribute.
- chat.recall_gate.standard_recency_weightenv: —numberdefault: 0.3
Default recency weight for Recall (recent messages often more relevant).
- chat.recall_gate.standard_top_kenv: —numberdefault: 5
top_k for standard Recall queries.
- chat.recall.auto_indexenv: —booleandefault: True
No description in OpenAPI yet.
- chat.recall.chunk_max_tokensenv: —numberdefault: 256
Chat chunks should be smaller than code chunks.
- chat.recall.chunking_strategyenv: —stringdefault: "sentence"
'turn'=one chunk per message, 'sentence'=split by sentence.
- chat.recall.default_corpus_idenv: —stringdefault: "recall_default"internal/basics
Auto-created at first launch. Users never touch this.
- chat.recall.embedding_modelenv: —stringdefault: ""
Override embedding model. Empty=use global config.
- chat.recall.enabledenv: —booleandefault: True
Enable Recall. ON by default.
- chat.recall.graph_enabledenv: —booleandefault: Falseinternal/basics
Enable Recall graph indexing + retrieval (experimental).
- chat.recall.index_delay_secondsenv: —numberdefault: 5
No description in OpenAPI yet.
- chat.recall.max_history_tokensenv: —numberdefault: 4096
No description in OpenAPI yet.
- chat.recall.vector_backendenv: —stringdefault: "pgvector"
pgvector recommended (already running).
- chat.send_shortcutenv: —stringdefault: "ctrl+enter"
No description in OpenAPI yet.
- chat.show_source_dropdownenv: —booleandefault: True
No description in OpenAPI yet.
- chat.system_prompt_baseenv: —stringdefault: "You are a helpful assistant."
No description in OpenAPI yet.
- chat.system_prompt_directenv: —stringdefault: "You are a helpful agentic RAG database assistan..."
State 1: No context. Nothing checked or retrieval returned empty.
- chat.system_prompt_ragenv: —stringdefault: "You are a database assistant powered by TriBrid..."
State 2: RAG only. Code corpora returned results; Recall did not.
- chat.system_prompt_rag_and_recallenv: —stringdefault: "You are an agentic RAG database assistant power..."
State 4: Both. RAG and Recall both returned results.
- chat.system_prompt_rag_suffixenv: —stringdefault: " Answer questions using the provided database i..."
No description in OpenAPI yet.
- chat.system_prompt_recallenv: —stringdefault: "You are an agentic RAG database assistant power..."
State 3: Recall only. Recall returned results; no RAG corpora active.
- chat.system_prompt_recall_suffixenv: —stringdefault: " You have access to conversation history. Refer..."
No description in OpenAPI yet.
- chat.temperatureenv: —numberdefault: 0.3
No description in OpenAPI yet.
- chat.temperature_no_retrievalenv: —numberdefault: 0.7
Temperature when nothing is checked (direct chat = more creative)
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 (18)
- 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 (document + code)
Tooltip (CHUNKING_STRATEGY)
Loading… - chunking.emit_chunk_ordinalenv: —booleandefault: True
Emit chunk ordinal metadata for neighbor-window retrieval.
- chunking.emit_parent_doc_idenv: —booleandefault: True
Emit parent document id metadata for neighbor-window retrieval.
- chunking.greedy_fallback_targetenv: GREEDY_FALLBACK_TARGETnumberdefault: 800
Target size for greedy chunking
Tooltip (GREEDY_FALLBACK_TARGET)
Loading… - chunking.markdown_include_code_fencesenv: —booleandefault: True
Whether to include fenced code blocks in markdown sections.
- chunking.markdown_max_heading_levelenv: —numberdefault: 4
Max heading level to split on for markdown chunking.
- 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: 250000000
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.overlap_tokensenv: —numberdefault: 64
Token overlap between chunks (token-based strategies)
- chunking.preserve_importsenv: PRESERVE_IMPORTSnumberdefault: 1
Include imports in chunks
Tooltip (PRESERVE_IMPORTS)
Loading… - chunking.recursive_max_depthenv: —numberdefault: 10
Max recursion depth for recursive chunking.
- chunking.separator_keepenv: —"none" | "prefix" | "suffix"default: "suffix"
Whether to keep separators when splitting (recursive strategy).
- chunking.separatorsenv: —string[]default: —
Separators for recursive chunking, in priority order.
- chunking.target_tokensenv: —numberdefault: 512
Target tokens per chunk (token-based strategies)
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 (18)
- embedding.auto_set_dimensionsenv: —booleandefault: True
When true, the UI auto-syncs embedding_dim from data/models.json when model changes.
- embedding.contextual_chunk_embeddingsenv: —"off" | "prepend_context" | "late_chunking_local_only"default: "off"
Contextual chunk embedding mode. 'late_chunking_local_only' requires local/HF provider backend.
- embedding.embed_text_prefixenv: —stringdefault: ""
Prefix added before chunk text prior to embedding (stable document context).
- embedding.embed_text_suffixenv: —stringdefault: ""
Suffix added after chunk text prior to embedding.
- embedding.embedding_backendenv: —"deterministic" | "provider"default: "deterministic"
Embedding execution backend. 'deterministic' is offline/test-friendly; 'provider' calls real providers.
- 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: 1
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_model_mlxenv: —stringdefault: "mlx-community/all-MiniLM-L6-v2-4bit"
MLX-optimized embedding model (used when embedding_type=mlx)
- 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.input_truncationenv: —"error" | "truncate_end" | "truncate_middle"default: "truncate_end"
What to do when text exceeds embedding/token limits.
- embedding.late_chunking_max_doc_tokensenv: —numberdefault: 8192
Max tokens per document segment for local late chunking.
- 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
Tooltip (CHUNK_SUMMARIES_ENRICH_DEFAULT)
Loading… - enrichment.chunk_summaries_maxenv: CHUNK_SUMMARIES_MAXnumberdefault: 100
Max chunk_summaries to generate
Tooltip (CHUNK_SUMMARIES_MAX)
Loading… - 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)
Tooltip (FUSION_GRAPH_WEIGHT)
Loading… - fusion.methodenv: FUSION_METHOD"rrf" | "weighted"default: "rrf"
Fusion method: 'rrf' (Reciprocal Rank Fusion) or 'weighted' (score-based)
Tooltip (FUSION_METHOD)
Loading… - fusion.normalize_scoresenv: FUSION_NORMALIZE_SCORESbooleandefault: True
Normalize scores to [0,1] before fusion
Tooltip (FUSION_NORMALIZE_SCORES)
Loading… - fusion.rrf_kenv: FUSION_RRF_Knumberdefault: 60
RRF smoothing constant (higher = more weight to top ranks)
Tooltip (FUSION_RRF_K)
Loading… - fusion.sparse_weightenv: FUSION_SPARSE_WEIGHTnumberdefault: 0.3
Weight for sparse BM25/FTS search results
Tooltip (FUSION_SPARSE_WEIGHT)
Loading… - fusion.vector_weightenv: FUSION_VECTOR_WEIGHTnumberdefault: 0.4
Weight for vector search results (pgvector)
Tooltip (FUSION_VECTOR_WEIGHT)
Loading…
generation (20)
- 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_backendenv: —stringdefault: "openai"
Provider backend for gen_model and channel overrides
- 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"internal/basics
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
Tooltip (GEN_MODEL_OLLAMA)
Loading… - generation.gen_retry_maxenv: GEN_RETRY_MAXnumberdefault: 2
Max retries for generation
Tooltip (GEN_RETRY_MAX)
Loading… - generation.gen_temperatureenv: GEN_TEMPERATUREnumberdefault: 0.0internal/basics
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
Tooltip (OLLAMA_NUM_CTX)
Loading… - 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"internal/basics
Ollama API URL
Tooltip (OLLAMA_URL)
Loading… - generation.openai_base_urlenv: OPENAI_BASE_URLstringdefault: ""internal/basics
OpenAI API base URL override (for proxies)
Tooltip (OPENAI_BASE_URL)
Loading…
graph_indexing (26)
- 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_allowed_entity_typesenv: —("person" | "org" | "location" | "event" | "concept")[]default: ["concept"]
Allowed semantic KG entity types produced by extraction.
- 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_reasoning_effortenv: —"minimal" | "low" | "medium" | "high" | "xhigh"default: "medium"
Reasoning effort for semantic KG extraction when using OpenAI Responses-compatible models.
- 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.semantic_kg_require_llm_successenv: —booleandefault: False
When true in LLM mode, fail semantic KG extraction for a chunk if LLM extraction fails instead of falling back.
- graph_indexing.semantic_kg_typed_entities_enabledenv: —booleandefault: False
When true, semantic KG extraction preserves/uses typed entities (person, org, location, event, concept).
- 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 (14)
- 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
Tooltip (GRAPH_SEARCH_TOP_K)
Loading… - graph_storage.include_communitiesenv: GRAPH_INCLUDE_COMMUNITIESbooleandefault: True
Include community detection in graph analysis
Tooltip (GRAPH_INCLUDE_COMMUNITIES)
Loading… - graph_storage.max_hopsenv: GRAPH_MAX_HOPSnumberdefault: 2
Maximum traversal hops for graph search
Tooltip (GRAPH_MAX_HOPS)
Loading… - 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 (defaults to NEO4J_PASSWORD env var when unset)
- graph_storage.neo4j_urienv: NEO4J_URIstringdefault: "bolt://localhost:7687"
Neo4j connection URI (bolt:// or neo4j://)
Tooltip (NEO4J_URI)
Loading… - graph_storage.neo4j_userenv: NEO4J_USERstringdefault: "neo4j"
Neo4j username
- graph_storage.neo4j_vector_query_modeenv: —"auto" | "procedure" | "search"default: "auto"
Neo4j chunk-vector query mode. 'auto' prefers runtime-safe defaults and only uses SEARCH where supported.
- 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 (16)
- indexing.bm25_stemmer_langenv: BM25_STEMMER_LANGstringdefault: "english"
Stemmer language
Tooltip (BM25_STEMMER_LANG)
Loading… - indexing.bm25_tokenizerenv: BM25_TOKENIZERstringdefault: "stemmer"
BM25 tokenizer type
Tooltip (BM25_TOKENIZER)
Loading… - indexing.estimated_tokens_per_second_localenv: —number | nulldefault: None
Optional local embedding throughput override for index-time estimates (tokens/sec).
- 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: 250
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.large_file_modeenv: —"read_all" | "stream"default: "stream"
How to ingest very large text files. 'stream' avoids loading entire files into memory.
- indexing.large_file_stream_chunk_charsenv: —numberdefault: 2000000
When large_file_mode='stream', read text files in bounded char blocks (best-effort).
- indexing.parquet_extract_include_column_namesenv: —numberdefault: 1
Include column headers when extracting Parquet text
- indexing.parquet_extract_max_cell_charsenv: —numberdefault: 20000
Max characters per extracted Parquet cell (best-effort)
- indexing.parquet_extract_max_charsenv: —numberdefault: 2000000
Max characters to extract from a single Parquet file during indexing (best-effort)
- indexing.parquet_extract_max_rowsenv: —numberdefault: 5000
Max rows to extract from a single Parquet file during indexing (best-effort)
- indexing.parquet_extract_text_columns_onlyenv: —numberdefault: 1
Extract only text/string-like columns from Parquet files when possible
- indexing.postgres_urlenv: POSTGRES_URLstringdefault: "postgresql://postgres:postgres@localhost:5432/t..."
PostgreSQL connection string (DSN) for pgvector + FTS storage
Tooltip (POSTGRES_URL)
Loading… - indexing.skip_denseenv: SKIP_DENSEnumberdefault: 0
Skip dense vector indexing
Tooltip (SKIP_DENSE)
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.15internal/basics
Bonus for GUI/front-end layers
Tooltip (LAYER_BONUS_GUI)
Loading… - layer_bonus.indexerenv: LAYER_BONUS_INDEXERnumberdefault: 0.15
Bonus for indexing/ingestion layers
Tooltip (LAYER_BONUS_INDEXER)
Loading… - 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.
Tooltip (LAYER_INTENT_MATRIX)
Loading… - 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 (12)
- 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_modeenv: RERANKER_MODEstringdefault: "none"
Reranker mode: 'cloud' (Cohere/Voyage/Jina API), 'learning' (MLX Qwen3 LoRA learning reranker), 'none' (disabled). Legacy values 'local'/'hf' normalize to 'learning'.
Tooltip (RERANKER_MODE)
Loading… - reranking.reranker_timeoutenv: RERANKER_TIMEOUTnumberdefault: 10
Reranker API timeout (seconds)
Tooltip (RERANKER_TIMEOUT)
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 (learning mode)
Tooltip (TRIBRID_RERANKER_TOPN)
Loading…
retrieval (32)
- retrieval.bm25_benv: BM25_Bnumberdefault: 0.4
BM25 length normalization (0=no penalty, 1=full penalty, 0.3-0.5 recommended for code)
Tooltip (BM25_B)
Loading… - retrieval.bm25_k1env: BM25_K1numberdefault: 1.2
BM25 term frequency saturation parameter (higher = more weight to term frequency)
Tooltip (BM25_K1)
Loading… - 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
Tooltip (CHUNK_SUMMARY_SEARCH_ENABLED)
Loading… - 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.62
Confidence threshold for top-1
Tooltip (CONF_TOP1)
Loading… - retrieval.dedup_byenv: —"chunk_id" | "file_path"default: "chunk_id"
Dedup key for final results.
- retrieval.enable_mmrenv: —booleandefault: False
Enable MMR diversification when embeddings are available.
- 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
Tooltip (FALLBACK_CONFIDENCE)
Loading… - 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_chunks_per_fileenv: —numberdefault: 3
Max chunks to return per file_path (document-aware result shaping).
- 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.min_score_graphenv: —numberdefault: 0.0
Minimum score threshold for graph leg results (0 disables).
- retrieval.min_score_sparseenv: —numberdefault: 0.0
Minimum score threshold for sparse leg results (0 disables). Note: sparse scores are engine-dependent (FTS vs BM25).
- retrieval.min_score_vectorenv: —numberdefault: 0.0
Minimum score threshold for vector leg results (0 disables).
- retrieval.mmr_lambdaenv: —numberdefault: 0.7
MMR lambda (1=query relevance only, 0=diversity only).
- retrieval.multi_query_menv: MULTI_QUERY_Mnumberdefault: 4
Query variants for multi-query
Tooltip (MULTI_QUERY_M)
Loading… - retrieval.neighbor_windowenv: —numberdefault: 1
Include adjacent chunks by ordinal for coherence (requires chunk_ordinal metadata).
- retrieval.query_expansion_enabledenv: QUERY_EXPANSION_ENABLEDnumberdefault: 1
Enable synonym expansion
Tooltip (QUERY_EXPANSION_ENABLED)
Loading… - 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
Tooltip (CHUNK_SUMMARY_BONUS)
Loading… - 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
Tooltip (PATH_BOOSTS)
Loading… - scoring.vendor_modeenv: VENDOR_MODEstringdefault: "prefer_first_party"internal/basics
Vendor code preference
Tooltip (VENDOR_MODE)
Loading…
semantic_cache (13)
- semantic_cache.bypass_if_imagesenv: —numberdefault: 1
Bypass chat generation cache when images are attached.
- semantic_cache.chat_history_windowenv: —numberdefault: 6
Number of prior conversation turns included in chat cache fingerprint.
- semantic_cache.enabledenv: —numberdefault: 0
Enable semantic cache reads/writes (0=off, 1=on).
- semantic_cache.max_entriesenv: —numberdefault: 5000
Maximum cache rows to retain per scope/endpoint.
- semantic_cache.max_temperature_for_writeenv: —numberdefault: 0.5
Skip generation-cache writes when temperature exceeds this value.
- semantic_cache.min_query_charsenv: —numberdefault: 3
Minimum query length before cache is eligible.
- semantic_cache.modeenv: —"read_write" | "read_only" | "write_only"default: "read_write"
Cache mode when enabled.
- semantic_cache.similarity_threshold_answerenv: —numberdefault: 0.93
Minimum cosine similarity for semantic answer cache hits.
- semantic_cache.similarity_threshold_chatenv: —numberdefault: 0.95
Minimum cosine similarity for semantic chat cache hits.
- semantic_cache.similarity_threshold_searchenv: —numberdefault: 0.9
Minimum cosine similarity for semantic search cache hits.
- semantic_cache.ttl_seconds_answerenv: —numberdefault: 1800
TTL in seconds for answer cache entries.
- semantic_cache.ttl_seconds_chatenv: —numberdefault: 600
TTL in seconds for chat cache entries.
- semantic_cache.ttl_seconds_searchenv: —numberdefault: 900
TTL in seconds for search cache entries.
sparse_search (11)
- 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.engineenv: —"postgres_fts" | "pg_search_bm25"default: "postgres_fts"
Sparse retrieval engine. 'postgres_fts' uses built-in FTS; 'pg_search_bm25' uses ParadeDB pg_search.
- sparse_search.file_path_fallbackenv: —booleandefault: True
If sparse retrieval returns empty, run a file_path-based fallback ranking (best-effort).
- sparse_search.file_path_max_termsenv: —numberdefault: 6
Max extracted query terms used for file_path fallback.
- sparse_search.highlightenv: —booleandefault: False
Enable sparse highlight payloads when supported (UI later).
- sparse_search.query_modeenv: —"plain" | "phrase" | "boolean"default: "plain"
How to interpret the sparse query string.
- sparse_search.relax_max_termsenv: —numberdefault: 8
Max extracted query terms used for relaxed sparse fallback.
- sparse_search.relax_on_emptyenv: —booleandefault: True
If sparse retrieval returns empty, retry with a relaxed OR-style query (best-effort).
- sparse_search.top_kenv: —numberdefault: 50
Number of results to retrieve from sparse search
system_prompts (9)
- system_prompts.code_enrichmentenv: PROMPT_CODE_ENRICHMENTstringdefault: "Analyze this database and return a JSON object ..."
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 database: sym..."
Lightweight chunk_summary generation prompt for faster indexing
- system_prompts.main_rag_chatenv: PROMPT_MAIN_RAG_CHATstringdefault: "You are a helpful agentic RAG database assistan..."
Main conversational AI system prompt for answering database questions
- system_prompts.query_expansionenv: PROMPT_QUERY_EXPANSIONstringdefault: "You are a database search query expander. Given..."
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 database chunk and create a compre..."
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 (typed entities + relations)
- system_prompts.synthetic_judgeenv: —stringdefault: "You are a strict evaluator for synthetic retrie..."
Judge prompt for synthetic eval row curation and quality filtering
tokenization (7)
- tokenization.estimate_onlyenv: —booleandefault: False
If true, use fast approximate token counting.
- tokenization.hf_tokenizer_nameenv: —stringdefault: "gpt2"
HuggingFace tokenizer name (strategy='huggingface').
- tokenization.lowercaseenv: —booleandefault: False
Lowercase before tokenization.
- tokenization.max_tokens_per_chunk_hardenv: —numberdefault: 8192
Absolute hard limit for tokens per chunk (safety ceiling).
- tokenization.normalize_unicodeenv: —booleandefault: True
Normalize unicode (NFKC) before tokenization for stability.
- tokenization.strategyenv: —"whitespace" | "tiktoken" | "huggingface"default: "tiktoken"
Tokenization strategy used for chunking/budgeting.
- tokenization.tiktoken_encodingenv: —stringdefault: "o200k_base"
tiktoken encoding name (strategy='tiktoken').
tracing (17)
- tracing.alert_include_resolvedenv: ALERT_INCLUDE_RESOLVEDnumberdefault: 1
Include resolved alerts
Tooltip (ALERT_INCLUDE_RESOLVED)
Loading… - tracing.alert_notify_severitiesenv: ALERT_NOTIFY_SEVERITIESstringdefault: "critical,warning"
Alert severities to notify
Tooltip (ALERT_NOTIFY_SEVERITIES)
Loading… - 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: 0internal/basics
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: 1internal/basics
Auto-enable LangSmith tracing
Tooltip (TRACE_AUTO_LS)
Loading… - tracing.trace_retentionenv: TRACE_RETENTIONnumberdefault: 50
Number of traces to retain
Tooltip (TRACE_RETENTION)
Loading… - tracing.trace_sampling_rateenv: TRACE_SAMPLING_RATEnumberdefault: 1.0
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 (36)
- training.learning_reranker_backendenv: —"auto" | "mlx_qwen3"default: "auto"
Learning reranker backend: auto (prefer MLX Qwen3 on Apple Silicon), mlx_qwen3 (force). Legacy values 'transformers'/'hf' normalize to 'auto'.
- training.learning_reranker_base_modelenv: —stringdefault: "Qwen/Qwen3-Reranker-0.6B"
Base model to fine-tune for MLX Qwen3 learning reranker
- training.learning_reranker_grad_accum_stepsenv: —numberdefault: 8
Gradient accumulation steps per optimizer update for MLX Qwen3 learning reranker training
- training.learning_reranker_lora_alphaenv: —numberdefault: 32.0
LoRA alpha for MLX Qwen3 learning reranker
- training.learning_reranker_lora_dropoutenv: —numberdefault: 0.05
LoRA dropout for MLX Qwen3 learning reranker
- training.learning_reranker_lora_rankenv: —numberdefault: 16
LoRA rank for MLX Qwen3 learning reranker
- training.learning_reranker_lora_target_modulesenv: —string[]default: —
Module name suffixes to apply LoRA to (MLX Qwen3)
- training.learning_reranker_negative_ratioenv: —numberdefault: 5
Negative pairs per positive during learning reranker training
- training.learning_reranker_promote_epsilonenv: —numberdefault: 0.0
Minimum improvement required to auto-promote (primary metric delta)
- training.learning_reranker_promote_if_improvesenv: —numberdefault: 1
Promote trained learning artifact to active path only if primary metric improves
- training.learning_reranker_telemetry_interval_stepsenv: —numberdefault: 2
Emit trainer telemetry every N optimizer steps (plus first/final)
- training.learning_reranker_unload_after_secenv: —numberdefault: 0
Unload MLX learning reranker model after idle seconds (0 = never)
- training.ragweld_agent_backendenv: —stringdefault: "mlx_qwen3"
Ragweld agent backend (in-process chat model). Currently: mlx_qwen3
- training.ragweld_agent_base_modelenv: —stringdefault: "mlx-community/Qwen3-1.7B-4bit"
Shipped base model for the ragweld agent (MLX).
- training.ragweld_agent_grad_accum_stepsenv: —numberdefault: 8
Gradient accumulation steps per optimizer update for ragweld agent training.
- training.ragweld_agent_lora_alphaenv: —numberdefault: 32.0
LoRA alpha for ragweld agent MLX fine-tuning.
- training.ragweld_agent_lora_dropoutenv: —numberdefault: 0.05
LoRA dropout for ragweld agent MLX fine-tuning.
- training.ragweld_agent_lora_rankenv: —numberdefault: 16
LoRA rank for ragweld agent MLX fine-tuning.
- training.ragweld_agent_lora_target_modulesenv: —string[]default: —
Module name suffixes to apply LoRA to (ragweld agent; MLX Qwen3).
- training.ragweld_agent_model_pathenv: —stringdefault: "models/learning-agent-epstein-files-1"
Active ragweld agent adapter artifact path (directory containing adapter.npz + adapter_config.json).
- training.ragweld_agent_promote_epsilonenv: —numberdefault: 0.0
Minimum eval_loss improvement required to auto-promote (baseline_loss - new_loss >= epsilon).
- training.ragweld_agent_promote_if_improvesenv: —numberdefault: 1
Auto-promote trained ragweld agent adapter only if eval_loss improves.
- training.ragweld_agent_reload_period_secenv: —numberdefault: 60
Adapter reload check period (seconds). 0 = check every request.
- training.ragweld_agent_telemetry_interval_stepsenv: —numberdefault: 2
Emit ragweld agent trainer telemetry every N optimizer steps (plus first/final).
- training.ragweld_agent_train_dataset_pathenv: —stringdefault: ""
Training dataset path for the ragweld agent (empty = use evaluation.eval_dataset_path).
- training.ragweld_agent_unload_after_secenv: —numberdefault: 0
Unload ragweld agent model after idle seconds (0 = never).
- 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/learning-reranker-epstein-files-1"
Active learning reranker artifact path (MLX adapter directory).
Tooltip (TRIBRID_RERANKER_MODEL_PATH)
Loading… - training.tribrid_triplets_pathenv: TRIBRID_TRIPLETS_PATHstringdefault: "data/training/triplets__epstein-files-1.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 (45)
- 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: 1internal/basics
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: 1internal/basics
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: 10000
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"internal/basics
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.learning_reranker_default_presetenv: —"balanced" | "focus_viz" | "focus_logs" | "focus_inspector"default: "balanced"
Default pane layout preset applied when opening Learning Reranker Studio
- ui.learning_reranker_dockview_layout_jsonenv: —stringdefault: ""
Serialized Dockview layout JSON for Learning Reranker Studio pane persistence
- ui.learning_reranker_layout_engineenv: —"dockview" | "panels"default: "dockview"
Learning Reranker Studio layout engine selection
- ui.learning_reranker_logs_rendererenv: —"json" | "xterm"default: "xterm"
Preferred logs renderer for Learning Reranker Studio
- ui.learning_reranker_show_setup_rowenv: —numberdefault: 0
Show setup summary row above studio dock layout (1=show, 0=collapsed)
- ui.learning_reranker_studio_bottom_panel_pctenv: —numberdefault: 28
Default bottom dock height percentage for Learning Reranker Studio
- ui.learning_reranker_studio_immersiveenv: —numberdefault: 1
Use immersive full-height studio mode for Learning Reranker
- ui.learning_reranker_studio_left_panel_pctenv: —numberdefault: 20
Default left dock width percentage for Learning Reranker Studio
- ui.learning_reranker_studio_right_panel_pctenv: —numberdefault: 30
Default right dock width percentage for Learning Reranker Studio
- ui.learning_reranker_studio_v2_enabledenv: —numberdefault: 1
Enable Learning Reranker Studio V2 layout and controls
- ui.learning_reranker_visualizer_color_modeenv: —"absolute" | "delta"default: "absolute"
Neural Visualizer trajectory coloring mode (absolute loss vs delta loss)
- ui.learning_reranker_visualizer_max_pointsenv: —numberdefault: 10000
Maximum telemetry points retained for Neural Visualizer
- ui.learning_reranker_visualizer_motion_intensityenv: —numberdefault: 1.0
Global motion intensity multiplier for Neural Visualizer effects
- ui.learning_reranker_visualizer_qualityenv: —"balanced" | "cinematic" | "ultra"default: "cinematic"
Neural Visualizer quality tier
- ui.learning_reranker_visualizer_reduce_motionenv: —numberdefault: 0
Reduce Neural Visualizer motion for accessibility/performance
- ui.learning_reranker_visualizer_rendererenv: —"auto" | "webgpu" | "webgl2" | "canvas2d"default: "auto"
Preferred renderer for Neural Visualizer
- ui.learning_reranker_visualizer_show_vector_fieldenv: —numberdefault: 1
Render animated vector field accents in Neural Visualizer
- ui.learning_reranker_visualizer_tail_secondsenv: —numberdefault: 8.0
Temporal tail length in seconds for visualizer trajectory effects
- ui.learning_reranker_visualizer_target_fpsenv: —numberdefault: 60
Target FPS for Neural Visualizer animation loop
- 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"internal/basics
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