-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.example.toml
More file actions
88 lines (77 loc) · 2.35 KB
/
Copy pathconfig.example.toml
File metadata and controls
88 lines (77 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
[display]
driver = "pygame"
width = 480
height = 320
fullscreen = true
fps = 15
rotate_seconds = 20
typing_speed_cps = 24
[assistant]
name = "JIRI"
personality = "playful_joyful"
rage_mode_enabled = true
[weather]
provider = "open_meteo"
location = "auto"
# Optional fixed coordinates. Saved CLI location settings override these.
# latitude = 26.1167
# longitude = 88.85
refresh_minutes = 30
timeout_seconds = 3
# Run `python -m jiri.cli location search "your place" --country BD` then `location set 1`.
# Or run `python -m jiri.cli location set-coords --name "Home" --lat 26.1167 --lon 88.85`.
[focus]
enabled = true
default_minutes = 25
break_minutes = 5
checkpoint_seconds = 60
[database]
path = "data/jiri.db"
backup_dir = "backups"
[web]
host = "0.0.0.0"
port = 5000
[performance]
max_ui_ram_mb = 250
max_web_ram_mb = 150
target_fps = 15
min_acceptable_fps = 10
[ai]
# Hosted API wording is a required JIRI subsystem. A production-ready setup
# needs a key for at least one configured provider.
#
# AI generates persona line TEMPLATES in the background; the display only ever
# reads the local SQLite cache. No user data (todo titles, notes, location) is
# ever sent to a provider - templates use {task}/{minutes} placeholders that are
# filled in locally on the device.
timeout_seconds = 8.0
daily_request_cap = 200
max_output_chars = 160
min_lines_per_bucket = 12
max_lines_per_bucket = 60
# Providers are tried in order. Each is any OpenAI-compatible endpoint.
# Keys come from the environment: GEMINI_API_KEY / GROQ_API_KEY
# (or JIRI_GEMINI_API_KEY / JIRI_GROQ_API_KEY).
#
[[ai.providers]]
name = "gemini" # Google AI Studio; OpenAI-compatible endpoint
model = "gemini-3.5-flash"
[[ai.providers]]
name = "groq" # Groq API; OpenAI-compatible endpoint
model = "qwen/qwen3.6-27b"
#
# [[ai.providers]]
# name = "ollama" # a LAN box, no key needed
# base_url = "http://192.168.1.50:11434/v1"
# model = "llama3.1:8b"
[telegram]
# These are first-boot seed values. After SQLite is initialized, manage
# Telegram from /admin/telegram; the database becomes the source of truth.
# Environment variables can still seed a fresh database:
# JIRI_TELEGRAM_BOT_TOKEN='123456:botfather-token'
# JIRI_TELEGRAM_ALLOWED_CHAT_IDS='123456789,-1001234567890'
enabled = false
bot_token = ""
allowed_chat_ids = []
command_chat_id = ""
polling_timeout_seconds = 25