Skip to content

Configuration Reference

All settings are configured under the Jime section. They can be set via environment variables (prefix JIME__), .NET user secrets, or appsettings.json.

Core settings

Setting Type Default Description
AzureOpenAiEndpoint string required Azure OpenAI endpoint URL
AzureOpenAiApiKey string null API key for Azure OpenAI. Optional — falls back to DefaultAzureCredential (managed identity or az login)
ChatModelDeployment string gpt-4o Azure OpenAI deployment name for the chat model
EmbeddingModelDeployment string text-embedding-3-small Azure OpenAI deployment name for embeddings
EmbeddingDimensions int 1536 Embedding vector dimensionality (must match model output)
PostgresConnectionString string required PostgreSQL connection string
UsePostgresEntraAuth bool false Authenticate to PostgreSQL via Entra ID tokens instead of password

Document Intelligence

Setting Type Default Description
DocumentIntelligenceEndpoint string required Azure AI Document Intelligence endpoint URL
DocumentIntelligenceApiKey string null API key. Optional — falls back to DefaultAzureCredential

Storage & Transcription

These settings configure Azure Blob Storage and the transcription pipeline. StorageEndpoint is shared by both document archival (during ingestion) and audio staging (during transcription).

Setting Type Default Description
SpeechEndpoint string Azure Speech Services endpoint
SpeechApiKey string null Speech API key. Optional — falls back to DefaultAzureCredential
StorageEndpoint string Azure Blob Storage endpoint (used for transcription audio staging and document archival)
AudioContainerName string session-audio Blob container name for session audio
DocumentArchiveContainerName string jime-documents Blob container name for archived source documents
SpeechLocale string en-US Speech recognition locale
EnableDiarization bool true Enable speaker diarization in transcriptions
GoogleServiceAccountKeyPath string Path to Google service account key file for Drive access

MCP server

Setting Type Default Description
Mcp:ApiKey string "" API key for HTTP transport authentication. Empty = no auth (local dev)

Environment variable format

The application uses AddEnvironmentVariables("JIME__") to strip the JIME__ prefix, then binds options from the Jime configuration section. This means environment variables need a double prefix — JIME__Jime__ — to land in the correct section:

# Core settings (JIME__ prefix + Jime__ section)
export JIME__Jime__AzureOpenAiEndpoint="https://your-resource.openai.azure.com/"
export JIME__Jime__PostgresConnectionString="Host=localhost;Port=5432;Database=jicklejime"

# Nested settings
export JIME__Jime__Mcp__ApiKey="your-api-key"

User secrets (local development)

Both the CLI and MCP server share the same user secrets ID (jicklejime-cli). Use --project to target either project:

dotnet user-secrets set "Jime:AzureOpenAiEndpoint" "https://your-resource.openai.azure.com/" --project src/JickleJime.Cli
dotnet user-secrets set "Jime:PostgresConnectionString" "Host=localhost;Port=5432;Database=jicklejime;Username=jime;Password=jime_dev" --project src/JickleJime.Cli
dotnet user-secrets set "Jime:DocumentIntelligenceEndpoint" "https://your-resource.cognitiveservices.azure.com/" --project src/JickleJime.Cli

Tip

User secrets are stored outside the repository and never committed to source control. They're the recommended approach for local development credentials.

Authentication

JickleJime supports two authentication modes for Azure services:

API keys

Set the corresponding API key setting (e.g., AzureOpenAiApiKey). Simple but requires managing secrets.

Omit the API key settings. The application uses DefaultAzureCredential, which automatically tries:

  1. Environment variables
  2. Managed identity (in Azure)
  3. Azure CLI (az login)
  4. Visual Studio / VS Code credentials

This is the recommended approach for both local development (via az login) and production (via managed identity).