Apache Maka (Incubating) is a local-first workspace for running an AI agent on your own machine. It inspects projects, runs tools inside a sandbox boundary, and records model messages, tool calls, tool results, permission decisions, and termination events as an append-only log. The UI and the next model call are projections of that log rather than the only copy, so older tool output can be omitted from the next prompt without discarding the saved evidence.
Every surface goes through one Runtime Host. The Desktop app (Electron and React) offers streaming sessions, tool timelines, branching, search, and recovery, and is where model connections and permissions are set up. The maka TUI and maka run cover interactive use in the current project directory or a single non-interactive turn, sharing workspace and model connections with Desktop; a --graph mode runs a durable multi-slice plan whose implementation operators work in isolated Git worktrees. maka eval run executes declarative multi-arm experiments expanded into task, repetition, and subject cells, with immutable per-cell attempts and a result kernel of score, normalised usage, attributable cost, duration, status, failure reason, and artifacts.
The runtime supports multiple model connections with streaming, thinking, and usage reporting; you supply the model as a cloud API, a local model, or a compatible gateway. Built-in tools are Read, Write, Edit, Bash, Glob, and Grep; Computer Use and catalog skills are optional and off by default. Tools that leave the sandbox must be approved, runs can be aborted, failures are classified, and an interrupted turn can optionally be resumed. Local memory, web search, and experimental chat-app (IM bot) integrations are available when configured.
Workspace data lives under the Electron user-data directory in runtime.sqlite alongside a connection catalog, settings, and artifacts. API keys are kept in a local plaintext file readable only by the OS account and never reach the renderer. The codebase is organised as npm workspaces: core contracts, SQLite storage, a provider-neutral MCP client, the runtime, the Runtime Host, evaluation, computer use, the CLI, and shared UI. Desktop currently targets Apple Silicon macOS, with Windows as an unsigned preview and Linux not yet supported; Node.js 22.19 or newer and ripgrep are required.
Features
- Append-only execution log: model messages, tool calls, results, permission decisions, and turn endings are recorded as recoverable facts
- Context as projection: old tool output can be dropped from the next prompt without deleting the stored record
- Single Runtime Host: Desktop, TUI/CLI, and evaluation all execute through one runtime
- Desktop workspace: streaming sessions, tool timelines, branching, search, retry, regenerate, artifact previews, and recovery
- TUI and CLI: maka for interactive use, maka run for one turn, and --graph for durable multi-slice plans in isolated worktrees
- Evaluation: declarative experiments across task, repetition, and subject cells with immutable attempts and a compact result kernel
- Bring your own model: cloud API, local model, or compatible gateway; multiple connections with streaming and usage
- Built-in tools: Read, Write, Edit, Bash, Glob, Grep, with optional Computer Use and catalog skills
- Sandbox boundary: tools that leave the sandbox require approval; runs can be aborted and failures are classified
- Crash recovery: durable records with optional resume of an interrupted turn
- MCP client: provider-neutral Model Context Protocol integration
- Local data: SQLite state and a locally stored credential vault under the user-data directory