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:
Both 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"
summaries = "~/summaries"
db = "~/.local/share/transcript-indexer/index.db"
[embedding]
provider = "voyage"
model = "voyage-3"
dimensions = 1024
batch_size = 64
api_key_env = "VOYAGE_API_KEY"
[extraction]
provider = "anthropic"
model = "claude-sonnet-4-6"
prompt_version = "v1"
cache_instructions = true
[chunking]
strategy = "turn_group"
turns_per_chunk = 4
overlap_turns = 1
min_chunk_tokens = 200
[chunking.notes]
strategy = "markdown_section"
min_chunk_tokens = 100
max_chunk_tokens = 800
[indexing]
strict_format = false
Sections¶
[paths]¶
transcripts— directory containing raw transcript files (.txt). Default~/transcripts.summaries— directory containing note/summary files (.md). Default~/summaries.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.
[extraction]¶
Settings for the LLM-based extraction step that pulls structured entities and follow-ups out of transcripts.
[chunking]¶
How transcripts and notes are split before embedding. Turn-group chunking groups N consecutive turns together with optional overlap. Note chunking splits along Markdown sections within a configurable token range.
[indexing]¶
strict_format— abort sync on the first malformed source instead of warning.
See the config API reference for the underlying Pydantic models.