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.
DefaultAzureCredential (recommended)
Omit the API key settings. The application uses DefaultAzureCredential, which automatically tries:
- Environment variables
- Managed identity (in Azure)
- Azure CLI (
az login) - Visual Studio / VS Code credentials
This is the recommended approach for both local development (via az login) and production (via managed identity).