Configuration¶
txi reads configuration from a TOML file. Settings are looked up in this order, with earlier sources overriding later ones:
- The
--config PATHflag, if passed. - The
TRANSCRIPT_INDEXER_CONFIGenvironment variable. $XDG_CONFIG_HOME/transcript-indexer/config.toml(or~/.config/transcript-indexer/config.tomlon macOS/Linux,%APPDATA%\transcript-indexer\config.tomlon Windows).- Built-in defaults.
Inspecting the active config¶
Show the path of the file txi is reading:
Print its contents with TOML syntax highlighting:
Validate the file's TOML syntax and field types:
All three commands accept --config PATH to inspect an alternate file.
First run¶
On first invocation, if no config file exists at the user-level path and TRANSCRIPT_INDEXER_CONFIG is unset, txi writes a fully-populated default config there. Edit any value to override it; remove a key (or section) to fall back to the built-in default.
Example¶
[paths]
transcripts = "~/transcripts"
db = "~/.local/share/transcript-indexer/index.db"
[embedding]
provider = "voyage"
model = "voyage-3"
dimensions = 1024
batch_size = 64
api_key_env = "VOYAGE_API_KEY"
[chunking]
strategy = "turn_group"
turns_per_chunk = 4
overlap_turns = 1
min_chunk_tokens = 200
max_chunk_tokens = 8000 # set to your model's token limit; 0 = no cap
[indexing]
strict_format = false
[server]
host = "127.0.0.1"
port = 8765
Sections¶
[paths]¶
transcripts— directory containing raw transcript files (.txt). Default~/transcripts.db— SQLite database file. Default~/.local/share/transcript-indexer/index.db.
[embedding]¶
Embedding-provider settings used when populating the vector index. The api_key_env field names the environment variable that holds the provider's API key; the key itself never lives in the config file.
[chunking]¶
How transcripts are split before embedding. Turn-group chunking groups N consecutive turns together with optional overlap.
turns_per_chunk— number of turns per window. Default4.overlap_turns— turns shared between consecutive windows. Default1.min_chunk_tokens— windows below this count are dropped (requires a token counter). Default200.max_chunk_tokens— windows exceeding this count are shrunk by removing turns from the tail until they fit.0disables the cap. Set this to your model's token limit (e.g.8000for OpenAItext-embedding-3-small, which has an 8192-token ceiling). Default0.
[indexing]¶
strict_format— abort sync on the first malformed source instead of warning.
[server]¶
Settings used by txi serve.
host— host interface to bind. Default127.0.0.1.port— TCP port to bind. Default8765.
See the config API reference for the underlying Pydantic models.