Skip to content

albiol2004/Athen

Repository files navigation

Athen

An open, native AI agent that runs on your laptop, not someone's server.

CI Latest release License: MIT Built with Rust Tauri 2

🚀 Athen is live on Product Hunt today. If you've used it and have opinions — kind or otherwise — that's the place to drop them. Every upvote and comment is read by the human who built this.

Athen watches your inbox, calendar, and messages, decides what needs doing, and does it — autonomously, with a risk system that knows when to act silently and when to ask first.

Athen building and hosting a task tracker app on port 8001

It's designed to be easy for everyday people, powerful for power users: a single native binary you double-click, with a tray icon and a clean window — but underneath, a hexagonal Rust core, a real risk model, MCP support, and a tool surface you can extend.

⚠️ Status: alpha (v0.1.7) — early but moving fast. Core agent loop, tools, risk system, senses, MCP runtime, and infrastructure are working and well-tested. The surface is small on purpose and the UI is being polished release by release. Pre-built binaries are unsigned today — see Install for the one-line workaround on each OS.

🙏 Feedback shapes the roadmap. Athen ships with a small, deliberately focused feature set. What gets built next is driven by the people using it. Open an issue, leave a comment on a discussion, or just tell me what's missing — every signal counts at this stage.

👤 Athen is a one-person project. I'm building it solo, in the open, because I wanted this tool to exist and nothing on the market fit. That means rough edges, but it also means your feedback lands on a real human's desk and genuinely steers what comes next — no committee, no backlog graveyard. Bug reports, feature requests, design critiques, "this confused me" notes — all welcome and all read.


Why Athen exists

Today's AI assistants come in two flavours, and neither fits an everyday person who just wants help with their life:

  • Developer-first agents (Claude Code, Cursor, Aider) — incredible, but they live in a terminal and assume you know what an LLM is.
  • Cloud SaaS agents — convenient until you realize your inbox, calendar, and contacts are being mailed to a third party for processing, you're paying per seat, and the agent stops working the day the company pivots.

Athen sits in the middle: a native desktop app that runs on your machine, with your keys (or no keys at all), agnostic about which LLM you point it at, MIT-licensed, no telemetry, no lock-in. It's also designed to run continuously — it sits in the tray and keeps sensing, even when the window is closed. Same binary will eventually run headless on a server.

Why Rust + Tauri (and not Electron)

Because we don't want to ship a 200 MB browser per app. Athen is a single native binary, ~30 MB, that idles in the tray with negligible CPU and a few dozen MB of RAM. WebKitGTK (Linux), WebView2 (Windows), or WKWebView (macOS) — whatever the OS already has — renders the UI. No Chromium fork, no Node runtime, no React-on-Windows quirks.


What it does, today

Capability Status
Core agent loop — LLM tool calling, streaming, cancellation, completion judge
Shell + filesystem toolsshell_execute/spawn/kill/logs, read/edit/write/grep, sandboxed via bwrap/Landlock/sandbox-exec/Job Objects
Persistent semantic memory — vector index + knowledge graph in SQLite, multiple embedding backends
Web search & fetch — DuckDuckGo (no key), Tavily (optional), Jina Reader → Wayback fallback chain
Calendar & contacts — local SQLite, trust-level model that adjusts risk for unknown senders
MCP runtime — spawn and route any Model Context Protocol server (stdio JSON-RPC)
Senses — Email (IMAP), Calendar, Telegram, generic User input
Risk system — regex rules + LLM fallback, base-impact × trust-multiplier scoring
Sandbox — OS-native (bwrap/Landlock/sandbox-exec/Job Objects) + Podman/Docker tier
LLM provider routing — failover, circuit breakers, budget tracker
Auto-update — minisign-signed in-app updates from GitHub Releases
Onboarding wizard — first-launch provider/key setup (local vs. cloud, memory backend)
Vision (image + PDF input) — native multimodal via Anthropic & Gemini providers
Reasoning / thinking mode — Claude extended thinking, DeepSeek-R1, Gemini thinkingConfig surfaced as reasoning_content
Wake-ups / proactive scheduling — one-shot + recurring agent-triggered or user-scheduled actions, with autonomy-band controls
Generic HTTP tool + 15 cloud API presets — Jina, Firecrawl, Brave, SerpAPI, DeepL, ElevenLabs, OpenRouter, Groq, ...
Encrypted credential vault — OS keychain backend + ChaCha20-Poly1305 file fallback
Voice (STT/TTS) ❌ planned
Headless server mode — daemon binary for always-on hosts ❌ planned for v0.2

Install

Pre-built binaries are unsigned today. Each OS will warn you the first time you launch. Below is the one-line workaround per platform — code-signing certificates are next on the post-launch list.

Grab the latest release from github.com/albiol2004/Athen/releases.

Linux

Pick the channel that matches your distro. The first three are kept up to date automatically — pacman -Syu, dnf upgrade, apt upgrade will pull new Athen versions like any other system package.

  • Arch / CachyOS / EndeavourOS / Manjaro (AUR):
    yay -S athen-bin   # or paru, pikaur — any AUR helper
  • Fedora / RHEL / Alma / Rocky (COPR):
    sudo dnf copr enable albiol2004/athen
    sudo dnf install athen
  • Debian / Ubuntu (one-off .deb): sudo apt install ./athen_*_amd64.deb
  • Anything else (AppImage): chmod +x Athen_*.AppImage && ./Athen_*.AppImage

⚠️ The AppImage bundles WebKitGTK and its Wayland/EGL stack. On some hosts (notably Fedora 44+ with Mesa 26+) the bundled libs collide with the system Mesa and the WebKit renderer aborts with EGL_BAD_PARAMETER. If you hit this, install through your package manager (AUR / COPR / .deb) instead. Tracking issue: #1 (please file one if you see it).

macOS (Apple Silicon)

  • Download Athen_<version>_aarch64.dmg.
  • macOS builds are Apple Silicon only today. Intel Mac builds will return once code signing is in place.
  • After dragging into Applications, the first launch will say "Athen is damaged and can't be opened". It isn't. Run once:
    xattr -d com.apple.quarantine /Applications/Athen.app
    then open normally.

Windows

  • Download Athen_<version>_x64-setup.exe.
  • SmartScreen will say "Windows protected your PC". Click More info → Run anyway.

After the first launch, Athen checks for updates every few hours. AppImage, macOS, and Windows installs self-update in-app via a minisign-signed manifest. System-package installs (AUR, COPR, .deb) are managed by their respective package managers — Athen will tell you when a new version is out and link to the release notes; the actual upgrade goes through pacman / dnf / apt.

Build from source

git clone https://github.com/albiol2004/Athen.git && cd Athen
cargo run -p athen-app --release

System dependencies for Linux: see the workflow.


Bring your own LLM (or run local)

Athen routes by profile (Powerful / Fast / Code / Cheap) so you can put a frontier model on hard work and a tiny local model on the easy stuff.

Provider Mode Notes
Anthropic Cloud Claude Opus / Sonnet / Haiku, native vision + PDF input
Google (Gemini) Cloud Gemini 2.5 / 3 Pro / Flash / Flash-Lite, native vision + PDF, generous free tier
DeepSeek Cloud Cheap and capable, R1 reasoning surfaced as reasoning_content
OpenAI-compatible Cloud or local Works with OpenAI, Mistral, Together, Groq, OpenRouter, ...
Ollama Local Talks to localhost:11434
llama.cpp Local Talks to localhost:8080. Pair with a Qwen / Llama / Mistral GGUF

The local-only path means zero data leaves your machine. No API key, no third party, no telemetry.


Tools the agent has

A built-in tool surface that covers shell, files, memory, web, calendar, contacts, email, scheduling, and arbitrary HTTP — plus anything you expose through MCP.

  • Shell & files: shell_execute, shell_spawn / kill / logs, read, edit, write, grep, list_directory
  • Memory: memory_store, memory_recall (semantic, persistent; dedup at recall + store)
  • Identity: identity_add — agent can write to your personality / rules / knowledge / team store
  • Web: web_search, web_fetch (static → Jina Reader → Wayback fallback chain)
  • Calendar: calendar_list / create / update / delete
  • Contacts: contacts_list / search / create / update / delete
  • Email: send_email (auto-approves when recipient is the owner; risk-gated otherwise)
  • Cloud APIs: http_request against any endpoint you register — 15 presets out of the box (Jina, Firecrawl, Brave, SerpAPI, Hunter, Apollo, PDL, DeepL, NewsAPI, Open-Meteo, Frankfurter, OpenCage, ElevenLabs, OpenRouter, Groq); vault-backed credentials, per-endpoint rate limiting
  • Wake-ups: create_wakeup — agent can schedule one-shot or recurring proactive triggers (reminders, follow-ups, digests), each with its own autonomy band and tool allowlist
  • MCP: any tool from any spawned MCP server, namespaced <mcp_id>__<tool>

Full reference in docs/TOOLS_AND_SENSES.md.


Extensibility (for power users)

Athen is built so you don't have to fork it to make it do new things.

  • Custom MCP servers — point Athen at any binary speaking the Model Context Protocol over stdio. Tools appear automatically; the same risk system gates them.
  • Custom LLM providersathen-llm exposes the LlmProvider trait. Implement once, register in the router, swap by profile. Local llama.cpp wrapper is ~150 lines.
  • Custom senses — implement SenseMonitor in athen-sentidos. The monitor runs in its own process and feeds normalized SenseEvents back over IPC. Good for hooking up an RSS feed, a webhook, a webcam, etc.
  • Headless modecargo run -p athen-cli --release gives you a REPL against the same agent core. A proper athend daemon for servers is on the v0.2 roadmap.

Privacy & safety

  • No telemetry. Period. No analytics SDK, no crash reporter, no beacon — anywhere.
  • All data stays local. Calendar, contacts, memory, conversation history all live in SQLite under ~/.athen/. Sync is opt-in and not shipped yet.
  • Risk system before action. Every tool call carries a base impact (Read / WritePersist) multiplied by contact trust. High-risk actions prompt you or require pre-grant.
  • Sandboxed shell. shell_execute is gated by a regex+LLM rule engine, then runs in a writable-only-where-allowed sandbox.
  • Bring your own keys, or none at all. The local Ollama/llama.cpp path is a plain HTTP call to localhost; nothing leaves the box.

Full threat model: docs/ARCHITECTURE.md.


Architecture in 30 seconds

SENTIDOS (sense monitors) ──IPC──► SENSE ROUTER ──► COORDINADOR
                                                         │
                                              risk eval, queue, dispatch
                                                         │
                                                  Agent workers
                                                         │
                                  ┌──────────────────────┴────────────┐
                                  ▼                                   ▼
                              Tool execution                      LLM router
                       (shell, files, web, MCP, ...)        (failover + budget)
  • Hexagonal: athen-core defines all traits. Every other crate is a swappable adapter. No crate depends on a sibling.
  • Multi-process: sense monitors run as their own processes, talk over Unix sockets / Named pipes. One bad monitor can't take the agent down.
  • Independently testable: mock the trait, not the service.
crates/
  athen-core/         # Traits + types — the contracts
  athen-ipc/          # IPC transport
  athen-sentidos/     # Sense monitors
  athen-coordinador/  # Router, risk, queue, dispatch
  athen-agent/        # Agent worker (LLM executor + tools + auditor)
  athen-llm/          # LLM provider adapters + router
  athen-web/          # Web search / page reader providers
  athen-mcp/          # MCP runtime catalog
  athen-memory/       # Vector index + knowledge graph
  athen-risk/         # Risk scoring
  athen-persistence/  # SQLite, checkpoints, arcs, calendar, contacts
  athen-contacts/     # Trust model
  athen-sandbox/      # OS-native + container sandboxing
  athen-shell/        # Nushell + native shell
  athen-cli/          # CLI / REPL
  athen-app/          # Tauri 2 desktop app — the composition root

For a deeper read see docs/ARCHITECTURE.md.


Roadmap

v0.1.x (post-launch polish):

  • Code signing (macOS notarization, Windows Trusted Signing)
  • Screenshot tool + screen-capture sense
  • Prompt-cache wiring across providers (Anthropic cache_control, Gemini implicit cache, DeepSeek cost UI)
  • Per-task model selection driven by complexity (auto-route hard problems to a stronger model, cheap stuff to a smaller one)

v0.2:

  • athend headless server mode (systemd unit, Docker image)
  • Voice (STT / TTS)
  • More senses (Slack, Discord, RSS, generic webhook)

Bigger picture:

  • Plugin marketplace beyond MCP
  • Federated multi-device sync (CRDT, end-to-end encrypted)
  • Mobile companion

Contributing & feedback

This is a very early release of a one-person project with a deliberately narrow feature set. The single most useful thing you can do right now is tell me what's missing or what's broken — open an issue or start a discussion. Every report is read by the same person who wrote the code; roadmap priorities are reweighted every cycle based on what real users ask for. If something feels off — say so. I genuinely appreciate it.

PRs welcome too. House rules:

  • cargo clippy --workspace -- -D warnings must be clean
  • cargo test --workspace must pass
  • athen-core does not depend on its siblings
  • Each crate stays independently testable

Read the architecture before sending non-trivial PRs: docs/ARCHITECTURE.mddocs/IMPLEMENTATION.mddocs/CONFIGURATION.mddocs/TOOLS_AND_SENSES.md.

Security issues: see SECURITY.md. Please don't open public issues for vulnerabilities.


License

MIT. Use it however you like.


Acknowledgements

Built by Alejandro Garcia.

About

Universal AI agent native desktop app (Rust/Tauri) for everyday users

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors