apache /
maka
Local-first desktop, terminal and CLI agent workspace that logs every model and tool event
- 5.9k stars
- 178 stars since 3 Oct
- TypeScript
- Updated today
- Some experience
- AI agents
Maka runs AI agents that read files, run shell commands and edit code. Its main idea is that the event log is the runtime. Every model message, tool call, permission decision and ending is added to an append-only log of RuntimeEvents.
The desktop screen, the next prompt sent to the model and crash recovery are all built from that log. Old tool output can be dropped from the next prompt and still stay in the log. Sessions, settings and run records stay on your machine, and you bring your own model: a cloud API, a local model or a compatible gateway.
Desktop, the TUI and CLI are thin clients of a single Runtime Host. The project also ships an evaluation package that benchmarks Maka against other agent harnesses on the same model with the official verifier. It says it publishes per-task results in docs/eval. The README does not name specific rival tools. It is an Apache Incubator project with no Apache release yet, and the README warns that data formats and commands may change.
What it does
Append-only event log
Messages, tool calls, permission decisions and terminations are all recorded as events. The UI, context and crash recovery are projections of that log.
Desktop, TUI and CLI
An Electron desktop app, a terminal UI and a non-interactive CLI share one Runtime Host. You can run a single task from the command line with
run.Bring your own model
You add a cloud API, a local model or a compatible gateway under Settings → Models, test it, and pick a default. No shared model account is bundled.
Graph runs and resume
A
--graphmode splits work into independent slices that use isolated Git worktrees. Interrupted turns can be resumed with/resume, which calls the model again and uses tokens.Published evaluations
An eval package runs experiments across cells and attempts. The project says it ships per-task results with each benchmark report.
What you could build
- Run a coding agent on a local repository and review exactly what it did afterwards.
- Summarize a codebase and flag its main risks from the command line with a single
runcommand. - Split a larger change into independent slices and have a supervisor integrate and review them.
- Compare agent harnesses on the same model using the eval package.
- Study an event-sourced agent runtime by reading its architecture docs and TypeScript code.
Get started
Install Node.js 22.19 or newer, Git and ripgrep, then clone the repo and run the dev command to open the desktop app. On first launch, go to Settings → Models, add and test a model connection, then start a task.
git clone https://github.com/apache/maka.git
cd maka
npm ci
npm run devnpm run buildnpm run cli:dev -- run "Summarize this repository and identify its most important risk"Commands are copied from the project's README. Read it on GitHub for the full setup.