maka logo

maka

Apache Maka (Incubating) is a local-first AI agent workspace. Model messages, tool calls, tool results, permission decisions, and termination events are recorded as an append-only log.

totalDeepWiki third  party AI docsmacOS arm64Windows previewLinux soon中文文档
GitHub

What is it?

What it is

Apache Maka (Incubating) is a local-first Agent workspace built for real work. It inspects projects, runs tools under a sandbox boundary, and records model messages and tool calls as recoverable execution facts — on your machine, through one Runtime Host. It provides a Desktop (Electron + React), a TUI/CLI, and an Eval surface, all sharing a single Runtime Host that executes agent runs.

Why it exists

Maka exists so that agent work stays on your machine and your data stays local by default, while still letting you bring any model (cloud API, local model, or compatible gateway). It keeps a durable execution record of model messages, tool calls, tool results, and turn outcomes so history is not lost when context is shortened, and it funnels Desktop, terminal, and evaluation workflows through one Runtime Host so behavior is consistent and recoverable across surfaces.

Who should use it

Developers and AI enthusiasts seeking a local-first agent workspace with desktop, CLI, and evaluation features.

Who should avoid it

Users requiring a stable production release, Linux users (currently unsupported), or those uncomfortable with early-stage experimental software.

Stars over time

No change stars in the last 1 day

4.1k4.1k
Aug 30, 2026Aug 30, 2026

How it works

A quick walkthrough in plain English

How maka works in 4 steps

Step 1 of 4

Something triggers the flow

A schedule, webhook, or manual click tells maka to start.

Features

Local-first agent workspace with sessions, settings, and run records stored on the user's machine
Unified Runtime Host powering Desktop, TUI/CLI, and evaluation surfaces through a single-owner execution model
Durable execution record with event-sourced model messages, tool calls, tool results, and turn termination facts
Crash recovery and optional resume of interrupted turns (opt-in via environment flag)
Streaming agent runtime with multiple model connections, thinking/usage metadata, and clearer provider errors
Built-in tools: Read, Write, Edit, Bash, Glob, Grep, with optional Computer Use and catalog skills
Sandbox boundary with mandatory approval for tools that leave the sandbox and abortable runs with classified failures
Desktop workspace built on Electron + React with streaming sessions, tool timelines, branching, search, and recovery
Session management: create, archive, search, rename, retry, regenerate, and branch from any turn
Artifact lists and previews, workspace instructions, model settings, and sandbox settings
Local memory and configurable web search support
Experimental IM/chat bot integrations
Evaluation framework with declarative multi-arm experiments, task × repetition × subject cells, and immutable per-cell attempts
Result kernel capturing score, normalized usage, attributable cost, duration, status, failure reason, and artifacts
Model Context Protocol (MCP) client integration for provider-neutral tooling
Context truncation that omits old tool output without deleting the saved execution record
Configurable model sources: cloud APIs, local models, or compatible gateways
Typed workspaces (TypeScript) with clear package boundaries: core, storage, runtime, runtime-host, eval, cli, ui, desktop
SQLite-backed operational state with connection catalog, credential vault, settings, and artifact storage

Advantages

  • Apache Software Foundation incubation provides governance, license clarity, and a recognized vendor-neutral home
  • Local-first design keeps sensitive sessions, credentials, and run history on the user's machine rather than a vendor cloud
  • Bring-your-own-model approach avoids vendor lock-in and supports cloud APIs, local models, or gateways
  • Event-sourced execution record enables recovery, branching, replay, and trustworthy auditing of agent behavior
  • Single Runtime Host shared across Desktop, CLI, and evaluation reduces behavioral drift between surfaces
  • Clear sandbox boundary and explicit approval for tool invocations that leave it strengthens safety
  • Multiple first-class surfaces (Desktop, TUI/CLI, Eval) cover interactive, scripted, and benchmark use cases
  • Built-in evaluation framework with declarative specs supports reproducible agent benchmarking
  • Open-source under Apache-2.0 with transparent NOTICE and third-party attribution
  • Active development with documented architecture, contributing guide, and security policy
  • Strong typing via TypeScript and modular package layout improve maintainability and extensibility
  • Crash recovery plus opt-in safe resume reduces lost-work risk for long-running agent turns

Disadvantages

  • No Apache source release has been published yet; current artifacts are pre-incubation and not officially endorsed by the ASF
  • Limited platform support: stable desktop build targets only macOS Apple Silicon, with Windows as an unsigned preview and Linux not yet supported
  • Project is in Apache Incubator status, meaning infrastructure, communications, and decision-making are still stabilizing
  • Active development implies data formats, CLI commands, and experimental capabilities may change without notice
  • Requires a relatively recent toolchain: Node.js 22.19+ (CI uses Node 24), npm 11, Git, and ripgrep, raising setup friction
  • Peer mesh development additionally requires Rust 1.98+ and platform-specific linkers (Xcode CLT / MSVC), adding native-build complexity
  • No bundled model account or shared credentials; users must configure their own model connections on first run
  • Credentials are stored in a local plaintext file (`credential-vault.json`) readable by the OS account, which may not meet strict enterprise secret-management requirements
  • Upgrade path is conservative: older JSONL transcripts and legacy safeStorage credentials are not auto-imported, which can show empty threads after upgrade
  • Safe resume and auto-resume are off by default and require an explicit environment variable to enable
  • Several capabilities are marked experimental or optional (e.g., Computer Use, catalog skills, IM bots), so feature availability is uneven
  • Prebuilt downloads are not recommended until an approved Apache source release exists, forcing users to build from source for now
  • DeepWiki documentation is third-party AI-generated and may not be authoritative

Installation

native

Clone the repository (git clone https://github.com/apache/maka.git), cd into the project, run npm ci to install dependencies, then use npm run dev to start the Desktop development environment with HMR. For CLI/TUI usage, first run npm run build, then npm run cli:dev. Requirements: Node.js 22.19+, npm, Git, ripgrep.

FAQ

What are the minimum system requirements to run Maka?

Node.js 22.19 or newer (CI uses Node.js 24), npm (the lockfile and scripts use npm; the current packageManager is npm 11), Git, and ripgrep (used by the Grep tool). The Desktop app currently targets macOS Apple Silicon (arm64); Intel Macs and Linux are not yet supported, and Windows is an unsigned preview.

How do I install and start Maka on macOS?

Clone the repository (git clone https://github.com/apache/maka.git), cd into the directory, run npm ci to install dependencies, then start the Desktop development environment with npm run dev. For a full build before starting Electron, use npm run dev:full. If you need peer-enabled features, also install Rust stable 1.98 or newer and the platform linker, then use npm run dev:peer or npm run dev:full:peer. If you set ELECTRON_SKIP_BINARY_DOWNLOAD=1, run node node_modules/electron/install.js before starting.

How can I run a single turn using the CLI?

First build the workspaces with npm run build. Then run npm run cli:dev -- run "Your task". You can optionally add --graph to wait for the durable Graph to finish before printing the final supervisor output. The TUI also accepts /graph on, /graph off, and /graph <task> commands.

How do I configure a model provider in Maka?

On first launch, open Settings → Models, add an API, local-model, or supported account connection, test it, and choose a default model. The app distinguishes configured, send-ready, and experimental connection states; only connections wired into Runtime are presented as usable models.

Where does Maka store my data and how is it secured?

Workspace data lives under Electron userData by default: runtime.sqlite (the live record), connection-catalog.json, credential-vault.json (API keys and secrets in plaintext readable only by your OS account), settings.json, and artifacts/. Tools that write files or run a shell must pass the sandbox boundary first. Older JSONL transcripts and Electron safeStorage credential files are not imported; an upgraded workspace may show empty threads and credentials must be entered again.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for maka

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
maka | MushyBook