Files
lorabot/config.example.toml
T

60 lines
2.2 KiB
TOML

# Copy this file to `config.toml` and edit. The path can be overridden with
# the LORABOT_CONFIG environment variable. Any field can be overridden with
# environment variables of the form LORABOT_<SECTION>__<KEY>, e.g.
# LORABOT_LLM__BASE_URL=http://llama:8080/v1
# LORABOT_MESHCORE__SERIAL_PORT=/dev/ttyACM0
[logging]
# DEBUG | INFO | WARNING | ERROR | CRITICAL (case-insensitive).
# DEBUG adds per-iteration LLM request logs and Tavily request details.
level = "INFO"
[meshcore]
serial_port = "/dev/ttyUSB0"
baud_rate = 115200
[llm]
base_url = "http://localhost:8080/v1"
api_key = "not-needed"
model = "gemma-4-E4B"
system_prompt = "You are a concise assistant on a low-bandwidth mesh radio. Replies must be brief — under 180 bytes."
temperature = 0.7
request_timeout_seconds = 60
[storage]
sqlite_path = "data/lorabot.db"
[message]
# MeshCore MAX_PACKET_PAYLOAD is 184 bytes. Lower this if your text-frame
# headers further constrain the usable payload on your device.
max_bytes = 184
# Seconds to wait for an ACK before treating a chunk as failed.
ack_timeout_seconds = 30
# How many times to retry a chunk after failure (0 = no retries).
send_retries = 1
[web]
# Built-in read-only web UI: stored conversations + live status.
enabled = true
host = "0.0.0.0"
port = 8080
[advertise]
# MeshCore companions don't advertise on their own. Lorabot can do it for them
# at a fixed cadence so the node stays visible on the mesh. Set
# interval_seconds = 0 to disable auto-advert (the web UI button still works).
enabled = true
interval_seconds = 3600
at_startup = true
# Flood = multi-hop advert across the mesh. False = zero-hop (neighbors only).
flood = false
# LLM tool calling. The weather tool (Open-Meteo, no key) is always on. Tools
# in this section are optional and only registered when configured. Requires a
# tool-capable model on the LLM server (Llama 3.1, Qwen, Hermes, …); models
# without tool support will simply ignore them.
[tools.tavily]
# Web search + page extraction via https://tavily.com (free tier available).
# Leave empty to disable both web_search and fetch_url tools.
api_key = ""