A self-hosted personal dashboard and AI agent platform, backed by your Obsidian vault. Chat with Claude, automate recurring tasks, run form-driven workflows, manage a kanban board, and track everything — all from a single interface that keeps your data local.
Multi-turn conversations with Claude (Haiku 4.5, Sonnet 4.6, Opus 4.6) plus OpenRouter models. The AI has full tool access — it can search the web, read and write files in your Obsidian vault, manage your kanban board, query your calendar, and send you push notifications. Streaming responses, message editing, branch navigation, and auto-generated thread titles.
Define form-based AI workflows as markdown files in your Obsidian vault. Each workflow has typed input fields (text, URL, select, etc.) and runs in the background with full tool access. Results are viewable in-app and can be continued as chat threads.
Cron-scheduled AI tasks defined as markdown config. Set a schedule, pick a model, and Aether runs it automatically — useful for daily summaries, recurring file processing, or anything you'd otherwise do manually. Tracks run history, token usage, and cost per execution.
Your Obsidian vault is the source of truth. Aether reads AI config, system prompts, task definitions, and workflow specs from markdown files in your vault. The AI can browse, search, read, write, and edit any file in the vault — turning your notes into a living knowledge base the AI can act on.
A drag-and-drop task board synced to an Obsidian Kanban file. Move tasks between columns in the UI and they persist back to your vault. The AI can also manage board tasks as a tool during conversations.
Track every change the AI makes — file edits, task runs, workflow executions, and system events. Inspect diffs and revert file changes when needed.
Real-time token usage and cost estimation across all AI interactions. Visualize daily spend, model mix, and token flow with interactive charts. Filter by date range, model, or task type.
Connect iCal feeds to see upcoming events on your dashboard. The AI can query your calendar during conversations.
In-app notification system with optional Pushover integration for mobile push notifications. The AI can send you notifications as a tool — useful for task completions or alerts from periodic jobs.
Keyboard-first navigation with Cmd+K to jump to any page or action.
During chat, workflows, and periodic tasks, the AI has access to:
| Tool | Description |
|---|---|
| Web Search & Fetch | Search the web and fetch pages as clean markdown |
| Obsidian Vault | Read, write, edit, search, and browse vault files |
| Kanban Board | List, add, update, and move tasks |
| Calendar | Query upcoming events from connected iCal feeds |
| Notifications | Send in-app and push notifications |
| AI Memory | Read and write to a structured memory folder in your vault |
- Framework: TanStack Start (SSR/streaming on Vite)
- Database: SQLite via Prisma (zero external dependencies)
- AI: Vercel AI SDK + Anthropic Claude + OpenRouter
- UI: Shadcn + Tailwind CSS v4 + Assistant UI
- Auth: Better Auth (invite-only, email/password)
- State: Jotai + Zustand
- Scheduling: Croner for cron task execution
- Logging: Pino with daily rotation
- Node.js 20+
- pnpm
- An Anthropic API key
- An Obsidian vault (optional but recommended)
pnpm install
cp .env.example .env # fill in your API keys and vault path
pnpm db:generate
pnpm db:push
pnpm ai-config:seed # seed AI prompts into your Obsidian vault
pnpm dev # starts on port 3000Authentication is invite-only. Create the first admin from the CLI:
pnpm create:first-adminThen sign in and create additional accounts from /users.
Point Aether at your vault by setting these in .env:
OBSIDIAN_DIR=/path/to/your/vault
OBSIDIAN_AI_CONFIG=AI Config # folder for AI config files
OBSIDIAN_AI_MEMORY=AI Memory # folder for AI memory notes
Seed initial config files into the vault:
pnpm ai-config:seedTask definitions, workflow specs, and system prompts are all markdown files in your vault — edit them in Obsidian and Aether picks up changes automatically.
pnpm dev # Dev server (port 3000)
pnpm build # Production build
pnpm test # Run tests (Vitest)
pnpm check # Lint + format (Biome)
pnpm type-check # TypeScript type checking
pnpm db:studio # Browse database in Prisma Studio
pnpm storybook # Component library (port 6006)




