# 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_
__, 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 = 1.0 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 # Per-attempt ACK wait. 0 = trust the device's path-aware suggestion (recommended). # Set a positive value only if you need to override that suggestion. ack_timeout_seconds = 0 # How many times to retry a chunk after failure (0 = no retries). Total attempts # = send_retries + 1. With send_retries >= 2 the third attempt onwards is sent as # a flood broadcast (multi-hop) instead of direct. send_retries = 1 [web] # Built-in read-only web UI: stored conversations + live status. enabled = true host = "127.0.0.1" 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 = true # 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 = ""