Athen

Hello! I'm Athen, your universal AI agent. I can execute shell commands, read and write files, manage tasks, and more.

Type a message below to get started.

## LLM Providers

Configure the AI models Athen uses. Changes take effect after restarting the app.

## Memory & Embeddings

Configure how Athen processes and remembers information.

Memory Quality

Auto-detects the best available provider for generating embeddings.

▶ Advanced options
Provider
Model
Base URL
API Key

## Agent Profiles

Specialists that handle different kinds of work. Built-ins ship with Athen and can be cloned to customize. Your own profiles can be edited or deleted freely.

## Identity

Who Athen is across every agent — personality, rules, knowledge about you, team. Each entry can be scoped to specific profiles so the coder doesn't pay tokens for personality content it never uses. Long identity blocks crowd out task context on smaller models.

Pick a category to see its entries.

## Tools (MCP)

Toggle which Model Context Protocol servers Athen can use. Enabled tools become available to the agent on the next turn — no restart needed.

## MCP Servers

Connect tools from Slack, Notion, GitHub, and more by adding a Model Context Protocol server. Each one runs as a sandboxed subprocess on your machine. Where do MCP servers come from?

No MCP servers yet. Click + Add Server below to wire up `npx`, `uvx`, or any local stdio MCP binary.

## Shell Toolbox

Persistent Python and Node packages the agent installed for itself under `~/.athen/toolbox`. PYTHONPATH and PATH are auto-injected into every shell command, so anything listed here is importable/runnable without further configuration. The agent asks for permission before installing.

## My Contact Info

Athen uses this to recognize when a message is from you (auto-trust) and to skip approval when sending to your own address. Athen's own credentials (IMAP, SMTP, Telegram bot) cannot overlap with these.

Name

## Email Monitor

Connect your email to let Athen monitor and act on incoming messages.

Enable Email Monitoring
Email address
Password / App Password

Most providers need an app-specific password, not your regular login password.

SMTP Password

Same app password works for both IMAP and SMTP on most providers.

From Address

What recipients see. Plain "alex@example.com" or "Alex <alex@example.com>" both work.

Folders to Monitor

Comma-separated list of IMAP folders.

Poll Interval (seconds)
Lookback (hours)

Only process emails newer than this.

Advanced (server settings)

#### Incoming (IMAP)

IMAP Server
Port
Use TLS (recommended)

#### Outgoing (SMTP)

SMTP Server
Port

587 for STARTTLS (default), 465 for implicit TLS.

SMTP Username

Usually the same as your email address.

Implicit TLS (port 465 only)

Leave unchecked for STARTTLS on port 587.

## Telegram Bot

Create a bot via @BotFather on Telegram, then paste the token here.

Enable Telegram Monitoring
Bot Token

Allowed Chat IDs

Only process messages from these chats. Leave empty to accept all.

Poll Interval (seconds)

## Web Search

Athen uses Brave first, falls back to Tavily, and only drops to keyless DuckDuckGo when both are exhausted. Either or both keys are optional — leave them blank to rely on the DDG fallback.

Brave Search API key

2,000 free queries/month. Sign up at api.search.brave.com.

Tavily API key

~1,000 free queries/month, answer-ready snippets. Sign up at tavily.com.

## Cloud APIs

Register cloud HTTP endpoints (Hunter, Brave Search, Open-Meteo, …) the agent can call via the generic `http_request` tool. Pick a preset, paste your key, and click Save — the credential goes straight into the encrypted vault, never into `config.toml`. Bespoke tools (web_fetch, email_send, calendar) take precedence when one already exists for a given API.

No endpoints registered yet.

## Attachments

Controls how Athen handles attachments arriving via email, Telegram, or the chat composer. Defaults are safe for most users — tighten the trust gates if you receive a lot of mail from strangers.

Allowed file types

Anything not in a checked category is dropped on arrival. Executables and archives are blocked by being absent.

🖼️ Images PNG, JPEG, GIF, WebP, … 📕 PDFs Documents, scans, forms 📝 Text & code .txt, .md, .csv, source files 📊 Office documents Word, Excel, PowerPoint 🔧 Data files JSON, XML
Max single file (MB)
Max per message (MB)

Combined cap across all attachments on a single email/Telegram message.

Min trust to download

Below this, the file is skipped entirely — no metadata, no bytes.

Min trust to auto-inline

Below this, bytes are saved but not pushed to the agent's first turn — agent has to opt in by tool call.

Byte TTL (days)

Original bytes are purged after this many days. Extracted text sidecars stay forever (small, useful for arc continuity).

## Notifications

Configure how Athen contacts you for important events and approvals.

Channel Priority

Order in which channels are tried. First channel is preferred.

Escalation Timeout (seconds)

Wait this long before trying the next channel when no response.

Enable Quiet Hours
Start
:
End
:
Allow critical notifications during quiet hours

## Security

Security Mode

Standard risk evaluation. The agent asks for approval on risky actions.

## Permissions

Directories Athen can access without asking. Global grants apply to every conversation; arc grants only apply to the current arc.

### Global grants

No global grants yet.

### Arc grants (current conversation)

No grants for this arc.

👤

No contacts yet.

Contacts are automatically created when Athen receives messages from new senders.

## New Contact

Name
Trust Level
Identifiers

No notifications yet

## New Event

Title
Date
All day
Start
End
Location
Description
Category
Color
Reminder
Recurrence
What should Athen do when this fires?
Autonomy
Determines what happens when the agent hits a risky action while running unattended.
Where to log the result
Pick an existing arc to continue a thread, or leave on "New arc" so each fire spawns its own.
Schedule
When
at :
Cron expression Timezone
Every (seconds)
Tool allowlist (optional) Limit which tools the agent can use when this wake-up fires. Leave all unchecked to allow the profile defaults. Outbound tools are tagged "sends" — the wake-up cannot reach the world without one.
Contact allowlist (optional) When set, outbound tools (e.g. `email_send`) only accept recipients matching one of these contacts' identifiers. Leave empty to keep the default — every recipient your profile permits.
Sub-agents inherit these restrictions When checked, any specialist agent spawned via `delegate_to_agent` uses the same tool/contact allowlist + autonomy band as this wake-up. Uncheck to let the specialist run with its profile's natural tool surface — useful when the delegate genuinely needs broader tools than the wake-up itself declares.

No scheduled wake-ups yet.

Create one to have Athen run something on a timer — daily news, weekly digests, deferred reminders.

## New Profile

Display name
ID (letters, numbers, underscores)
Description
Persona instructions
Domains
Task kinds
Strengths (free-form, comma separated)
Avoid (task kinds this agent shouldn't be routed to)
Model hint (optional — defaults to your active model)
Token budget at fresh start (heuristic — actual varies by tokenizer)
Calculating…

## New category

Name (lowercase, snake_case)
Description
Default scope (applied to new entries here)

## New endpoint

Preset

Name (case-insensitive, used by the agent)
Provider
Base URL
Auth method
Header / param name
Username (basic auth)
API key / token

Stored encrypted in the OS keychain (or encrypted-file fallback). Never written to `config.toml`.

Rate limit (req/min, 0 = none)
Risk override
Notes (optional)
Enabled

## New MCP server

Name

Becomes the display name. An id is derived automatically (kebab-case).

Command

Executable name on PATH (`npx`, `uvx`, `python`, `node`) or an absolute path.

Arguments

Space-separated, passed verbatim to the child. Quote tokens with spaces using double quotes.

Environment variables

Check Secret to route the value through the encrypted vault. Plain values are persisted in the definition row.

Working directory (optional)

Read

## Allow access?

Tool
Scope For this conversation
1. Brain 2. Memory 3. Search 4. Runtimes 5. You 6. Ready

# Welcome to Athen

Athen is a universal AI agent that lives on your machine. It watches your inbox, calendar and messages, decides what needs doing, and acts — asking only when the stakes are high.

Two questions and you're set: which model should think, and how should it remember things. Takes about a minute.

# Pick your AI brain

Athen needs a language model to think with. Run one locally for free and total privacy, or paste a cloud key for the strongest models.

# Local model setup

Which server?
Server URL Model name (optional, leave empty for default)

# Cloud provider setup

Provider
API key Model (optional, leave empty for default)

# How should Athen build memory?

Athen indexes everything you tell it so it can recall context across conversations. Pick how those embeddings get computed — you can change this later in settings.

API key Server URL Model (optional)

# Web search (recommended)

Athen can search the web to back up its answers and check facts. A keyless DuckDuckGo fallback is built in, but it rate-limits often — plug in a free Brave or Tavily key for far better results. You can add both: Athen uses whichever is available.

Where do I get these keys?

- Brave: sign up at `api.search.brave.com` — 2,000 free queries/month, no card required.
- Tavily: sign up at `tavily.com` — ~1,000 free queries/month, answer-ready snippets.

Brave Search API key (optional) Tavily API key (optional)

# Python & Node

Athen installs and runs small scripts to do things like parse PDFs, build charts, or scrape pages. It needs Python and Node for that. If they're missing, Athen can drop portable copies into its own folder — no system install, nothing else touched.

Python Checking…
Node.js Checking…

You can do this later from Settings if you'd rather skip for now.

# Who are you?

Athen distinguishes messages from you vs. anyone else to handle risk correctly — your own messages get auto-trusted, everyone else's go through the approval flow. Tell Athen how to recognize you across channels.

Name

Athen runs entirely on your machine. No telemetry, no analytics, nothing leaves your computer — this info is stored locally in your encrypted Athen database and used only to recognize you.

# You're all set

Athen is ready. Open Settings any time to add email, Telegram, or swap the model and embeddings you just picked.

Try asking it to:

- "Read this PDF and pull out the action items"
- "What's on my schedule this week?"
- "Draft a reply to the latest email from Sam"