Skip to content

Configuration

txi reads configuration from a TOML file. Settings are looked up in this order, with earlier sources overriding later ones:

  1. The --config PATH flag, if passed.
  2. The TRANSCRIPT_INDEXER_CONFIG environment variable.
  3. $XDG_CONFIG_HOME/transcript-indexer/config.toml (or ~/.config/transcript-indexer/config.toml on macOS/Linux, %APPDATA%\transcript-indexer\config.toml on Windows).
  4. Built-in defaults.

Inspecting the active config

Show the path of the file txi is reading:

txi config path

Print its contents with TOML syntax highlighting:

txi config view

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.