Skip to content

nugget/thane-ai-agent

Repository files navigation

Thane

CI Go Reference Go Report Card Go Version License Release

An autonomous AI agent that learns, remembers, and acts.

Your home already generates thousands of data points every hour — temperature sensors, motion detectors, door states, power draws. Thane is an AI agent that actually understands them. It knows an open garage door for two hours is unusual, that someone in the kitchen at 2am doesn't want bright lights, and that the dryer finishing three hours ago but still drawing power is worth mentioning. It learns your home, your preferences, and your routines through conversation — and it remembers.

Everything runs on your hardware, behind your firewall. Thane works with any model runner that speaks a standard inference API — local or cloud, your choice. Written in Go. Single binary first, with an optional container image. No Python, no accounts to create.

What Makes Thane Different

Autonomous, not subjected. Home Assistant's Assist can only see entities you pre-select. Thane has full API access — it discovers devices, understands context, and acts on its own.

Memory that persists. Tell it once that you like the lights dim after 10pm and it just knows. Facts, preferences, routines — all learned through natural conversation and remembered across restarts.

Private by architecture. Every conversation, every fact, every contact lives in SQLite on your machine. Cloud models are available but nothing requires them. Privacy is structural, not a policy promise.

Smart about cost. The frontier model thinks; a small free local model does the work. Delegation keeps 90%+ of tool calls at zero API cost.

Single binary. go build and you're done. One command: thane.

Quick Start

git clone https://github.com/nugget/thane-ai-agent.git
cd thane-ai-agent
just build && just init
# Edit ~/Thane/config.yaml with your HA token, Ollama URL, and MQTT broker
just serve

Point Home Assistant's Ollama integration at http://thane-host:11434, select model thane:latest, and start talking.

Your First Thane — Complete onboarding guide with hardware, models, and deployment.

Releases

Tagged releases publish locally prepared release artifacts on GitHub plus a multi-arch container image on ghcr.io/nugget/thane-ai-agent. The intended release path is to build, sign, notarize, staple, and upload the macOS installer product archives alongside the Linux tarballs from a local release workstation via just. Those macOS artifacts install thane into ~/Thane/bin, carry first-party installer metadata for inspection, avoid a machine-wide admin prompt, and can be stapled cleanly after notarization. GitHub Actions publishes the tagged container image and its provenance attestation. The preferred operator workflows are:

  • just release-github 0.9.0
  • just release-github 0.9.0 prerelease
  • just deploy-macos-pkg user@host

See Release Engineering for the full workflow and credential requirements.

Documentation

Understand It

Run It

Extend It

Name

Thane — A Scottish term for a landholder who managed an estate on behalf of the crown. Your home automation estate deserves a capable steward. (Project History)

Contributing

Contributions welcome. See CONTRIBUTING.md.

License

Apache 2.0 — aligned with Home Assistant.

About

Autonomous AI agent for Home Assistant with multi-model routing, persistent memory, and an OpenAI-compatible API

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors