Track every agent action in an immutable workspace
You can trace which tools an agent used and what decisions it made at a glance. From model messages to tool calls and permission checks, the entire process is stored in an immutable log, allowing you to pinpoint the exact cause when issues arise later. This record is not just a log; it is core data used directly to construct the next prompt or recover from system crashes.
The log is the execution environment
Maka manages all agent activity through an append-only log called 'RuntimeEvent'. Everything from the messages sent by the model and the moment a tool is invoked to the process of verifying user permissions and the completion of a task is recorded in this log. The conversation displayed on the screen and the prompts used to move to the next step are merely information extracted from this log, while the original data remains safely stored in the log itself. This allows for flexible management, such as excluding old tool outputs from the next prompt while keeping them intact in the log.
Your computer, your model
Session settings and execution records are kept locally and are not sent to external servers. Users can directly connect and use any model of their choice, whether it is a cloud API, a local model, or a compatible gateway. The app categorizes model connection status as 'configured', 'ready to send', or 'experimental', ensuring that accounts not actually connected to the runtime are not displayed as available models. This improves the transparency of model selection and helps prevent unexpected costs or permission issues.
A single runtime host
The desktop app, terminal interface (TUI), CLI, and evaluation (Eval) tools are all thin clients that share a single 'Runtime Host' with execution privileges. Eval is responsible only for experiment design and score calculation, while the actual agent execution is handled by the Runtime Host. This structure ensures the same execution environment across various interfaces and reduces system complexity, making maintenance easier. Additionally, because agents must pass through sandbox boundaries when writing files or executing shell commands, system safety is strengthened.
Setting up the development environment
To build from source, you need Node.js 22.19 or higher, npm, Git, and ripgrep. You can start the desktop development environment using the npm ci and npm run dev commands. For developing Peer features that require Rust-based native add-ons, Rust stable 1.98 or higher and a platform linker are additionally required. On first run, you must enter a model API key or local model path in the settings menu, pass a connection test, and select a default model before you can start working. API keys are stored in a local plaintext file and are protected so that the renderer process cannot access them.
Characteristics of the incubation stage
Apache Maka is currently in the incubation stage of the Apache Software Foundation, and no official release has been issued yet. Data formats, CLI commands, and experimental features may change at any time, so it is appropriate to use it for development or testing purposes rather than applying it directly to production environments. Until an official release is available, you must build directly from source or use a development build. Any issues discovered during this process can be shared via the development mailing list or issue tracker. The license follows the Apache License 2.0, and third-party components are subject to their respective licenses.