Skip to content

Configuration

Configuration File

NIKI stores configuration in ~/.niki/config.toml. Run niki config init to create it interactively.

Full Configuration Reference

[general]
# Notification mode: active, focus, meeting
notification_mode = "active"
# Minimum job duration (seconds) before notifying
threshold_seconds = 60
[ai]
# Environment variable containing Anthropic API key
api_key_env = "ANTHROPIC_API_KEY"
# Model for summaries (haiku is faster/cheaper)
summary_model = "claude-haiku-4-5-20251001"
# Model for complex analysis
analysis_model = "claude-sonnet-4-5-20250929"
# Dry run mode (no API calls, for testing)
dry_run = false
[notifications.telegram]
enabled = true
bot_token = "YOUR_BOT_TOKEN"
# Your Telegram user ID(s) - only these can interact
allowed_user_ids = [123456789]
# Send matplotlib plots
send_plots = true
# Enable remote command execution
remote_commands_enabled = true
# Rate limit for remote commands
max_commands_per_minute = 5
[notifications.slack]
enabled = false
bot_token = "xoxb-..."
app_token = "xapp-..."
# Send to channel or DM
send_to_dm = true
# Allowed Slack user IDs
allowed_user_ids = ["U12345678"]
[voice]
enabled = false
tts_engine = "edge"
tts_voice = "en-US-GuyNeural"
[daemon]
port = 7432
log_level = "info"
auto_start = true
[chat]
# Messages to keep in memory
history_length = 20
# Timeout for pending commands (seconds)
pending_command_timeout = 300
# Persist chat history to disk
persist_history = true

Notification Modes

ModeBehavior
activeAll notifications immediate
focusOnly P0 (critical) are immediate, others queued
meetingAll notifications queued until mode changes

Switch modes:

Terminal window
niki mode focus
niki mode active

Priority Levels

  • P0 - Critical (job failed, error detected)
  • P1 - Normal (job completed successfully)
  • P2 - Low priority (informational)

Environment Variables

Terminal window
# Required for AI summaries
export ANTHROPIC_API_KEY="sk-ant-..."
# Optional: override config location
export NIKI_CONFIG_DIR="~/.niki"

Verify Configuration

Terminal window
# Check configuration and dependencies
niki doctor
# Show current config
niki config show