Skip to content
codingquarkPublic

About

Meshtastic ↔ LLM auto-reply

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kaon

The mesh asks. Kaon answers.

kaon is a lean always-on daemon that bridges a Meshtastic LoRa mesh node (USB serial, or a WiFi node over TCP) to a LAN-hosted Qwen LLM (vLLM, OpenAI-compatible endpoint). When someone DMs the node, kaon asks the LLM for a reply and sends it back over the mesh — with loop guards, per-sender rate limits, and mesh-friendly chunking.

One process, two threads: a reader thread never blocks on the LLM, and a single reply worker serializes all sends. A supervisor loop reconnects the node (serial or TCP) with stability-gated backoff. Over serial, each reconnect resets the node via DTR, so it's treated as expensive; over TCP it isn't. LLM calls are sent with thinking disabled; replies are chunked to a hard 190-byte (UTF-8) cap.

Quickstart

uv sync
uv run python llm_bot/bot.py

Shutdown: SIGINT/SIGTERM closes the interface and exits cleanly.

Config: llm_bot/bot.toml holds the defaults; drop a llm_bot/bot.local.toml (gitignored) next to it for machine-specific overrides (port, LLM URL/model, prompts, limits).

Tests

uv run python -m unittest discover -s tests

Deployment

Always-on on macOS via launchd:

llm_bot/scripts/install_launchd.sh            # install
llm_bot/scripts/install_launchd.sh uninstall  # remove

Logs land in ~/Library/Logs/kaon.{out,err}.log.

Docs

About

Meshtastic ↔ LLM auto-reply

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages