Local-first. Task-driven. An agnostic ADE that is fully yours.
Bring any model. Bring any agent. ÄKÄ orchestrates them.
ÄKÄ is in active early development. Core workflows are functional, but expect rough edges. Every contribution and piece of feedback shapes where this goes next.
ÄKÄ is a desktop work-dispatch environment for coding agents — not a chat app, not a wrapper. You describe a task, choose a model and an agent, launch it, then review the diff and decide what ships.
It runs entirely on your machine. Your code stays yours.
ÄKÄ is fully agnostic by design: you bring your own LLM backend (Ollama, MLX, LM Studio, any OpenAI-compatible endpoint) and your own agent (Aider, OpenCode, a LangChain script, a custom binary — anything). ÄKÄ never bundles a model or prescribes an agent. Every integration is a user-defined record treated identically at runtime.
| Task Workspace | Diff Viewer |
|---|---|
![]() |
![]() |
| Terminal Panel | Model Selector |
|---|---|
![]() |
![]() |
These aren't aspirations — they're constraints that every decision gets measured against.
- Agnostic by construction. No model, provider, or agent is ever hardcoded. If it speaks OpenAI-compatible API, it works.
- Local-first. Your code and config never leave your machine. Persistence lives in a per-project
.äkä/config.jsonthat you own. - Task-first, not chat-first. ÄKÄ is built around dispatching work and reviewing results — not holding conversations.
- Reversible. Every agent run is bracketed by git-backed checkpoints. Anything an agent does can be rolled back.
- Quality over velocity. ÄKÄ is built to last. Short-term hacks and cheap fixes are deliberately avoided in favor of robust, streamlined solutions. If a feature ships, it ships right.
| # | Feature | What it does |
|---|---|---|
| 1 | LLM Provider Manager | Detect and connect any OpenAI-compatible runtime |
| 2 | Agent Runner | Spawn any agent binary in a PTY; stream output live |
| 3 | Task Workspace | Describe work → launch it → review the result |
| 4 | Diff Viewer | Monaco-based review of exactly what changed |
| 5 | File Explorer | Browse the project sandbox |
| 6 | Streaming Console | Real terminal output via xterm |
| 7 | Task History | Every past run, browseable |
| 8 | Context Engine | Assembles context for the agent before each run. |
| 9 | Settings | Per-project config, fully under your control |
| 10 | Plugin System | Extend ÄKÄ with your own integrations |
ÄKÄ shows which files and tools an agent touched — for any agent, with zero required cooperation:
- Disk truth (no cooperation needed): after each run, ÄKÄ diffs the git checkpoints and lists every file changed with line counts.
@@akaprotocol (opt-in): any agent can print sentinel lines like@@aka {"tool":"read","path":"src/App.jsx"}and ÄKÄ renders reads, searches, and shell commands in the activity panel. One protocol, every agent.
See src/features/02-agent-runner/Context.md for the full protocol spec and a LangChain emitter snippet.
| Layer | Choice |
|---|---|
| Shell | Tauri v2 (Rust) |
| Frontend | React 18 + TypeScript |
| Bundler | Vite |
| State | Zustand |
| Editor / Diff | Monaco |
| Terminal | Xterm.js |
| Styling | Tailwind CSS v4 |
- Node.js 18+
- Rust (stable toolchain) + Tauri v2 system dependencies for your OS
- An LLM runtime of your choice (e.g. Ollama, LM Studio, any OpenAI-compatible server)
- An agent of your choice (e.g. Aider, OpenCode, or your own)
npm install
npm run tauri dev # opens the desktop app with hot-reloadnpm run tauri build
# macOS: produces .app and .dmg under src-tauri/target/release/bundle/
# Windows: produces .exe installer
# Linux: produces .AppImage and .debnpm test # frontend (Vitest)
cargo test --manifest-path src-tauri/Cargo.toml # Rust backendsrc/ React + TypeScript frontend
features/<NN-feature>/ one folder per feature, each with a Context.md
lib/tauri/commands.ts the single IPC surface (all invoke() calls live here)
stores/ cross-feature Zustand stores
src-tauri/src/ Rust backend
commands/ one file per feature domain
Conventions and architectural decisions live in CLAUDE.md.
ÄKÄ is Phase 1. The foundation is here — the surface is just beginning. On deck:
- Live Audio — voice input and output for models that support it
- Simple Text / Code Editor — lightweight editing for small changes that don't need an agent run
- Image + PDF support — view images and documents directly from your agent(s)
ÄKÄ is built with a strong point of view: quality over speed, robustness over shortcuts. If you want to contribute, that ethos applies to every PR.
- Read
CLAUDE.mdbefore writing any code — it explains the architecture and conventions - Open an issue before starting large changes so we can align first
- Keep changes focused. One thing per PR
- Write tests for new behavior
All contributions are welcome — bug fixes, features, docs, and honest feedback.
Apache 2.0 © Kelly Ikemenogo




