Apache Maka Vibe 项目
本地优先的 AI Agent 工作区
Apache Maka(Apache 软件基金会孵化项目)是一款本地优先的 AI Agent 工作区,通过单一 Runtime Host 在桌面、终端和评估环境中统一运行智能体,将模型消息、工具调用和执行结果记录为持久化的执行事实,而非存于内存中随时丢失。
核心功能
- 本地数据主权:所有会话、设置和运行记录默认存储在本地,用户自行携带模型(云端 API、本地模型或兼容网关),数据不出本地机器,符合隐私合规要求。
- 持久化执行记录:模型消息、工具调用、工具结果和会话终止方式都以追加日志形式写入 SQLite,不再依赖上下文窗口保留历史——模型可以在压缩上下文时省略旧工具输出,但已保存的证据永不丢失。
- 中断恢复(Crash Recovery):中断的 Turn 可以选择恢复,重新连接到同一个执行记录,从断点继续而非从头开始,适合长时间运行的复杂任务。
- 多入口点统一:Desktop(Electron + React 图形界面,支持流式输出、会话时间线、分支和恢复)、TUI/CLI(终端交互)和 Eval(可复现的基准实验)三个入口共享同一个 Runtime Host,保证行为一致性。
- 工具沙盒边界:所有文件写入和 shell 执行必须通过沙盒边界审批,危险的写入操作会被拦截并请求用户确认,防止 Agent 误操作破坏项目。
- 多臂实验评估:内置 Eval 模块支持声明式多臂实验,将任务 × 重复次数 × 实验对象展开为单元格网格,每个单元格有独立的不可变尝试记录和评分机制。
技术实现
Apache Maka 后端架构核心是 Runtime Host,它管理 SessionManager 和 AgentRun,模型消息和工具调用通过 Runtime Event Log 持久化到 SQLite(runtime.sqlite)。前端 Desktop(TUI/CLI/Eval)都是 Runtime Host 的投影视图,而非直接控制模型。项目采用 Electron + React 构建桌面应用,核心逻辑封装在 packages/core(纯合约定义)、packages/storage(SQLite 存储)、packages/runtime(AgentRun、模型适配器、工具和上下文)、packages/eval(实验框架)和 packages/cli(TUI)中。数据存储在 Electron userData 下的 workspaces/default/ 目录,包括 runtime.sqlite(执行记录)、connection-catalog.json(模型连接配置)、credential-vault.json(API 密钥,只对当前系统账户可读)和 artifacts 目录(Artifact 文件)。模型支持云端 API(OpenAI 兼容格式)、本地模型和各类网关,通过插件化的 Model Adapter 机制接入。
快速上手
- 安装构建:确保 Node.js ≥ 22.19、npm、Git 和 ripgrep 已安装,执行
git clone https://github.com/apache/maka.git && cd maka && npm ci && npm run dev启动桌面开发环境(当前仅支持 macOS Apple Silicon)。 - 配置模型:首次启动后在 Settings → Models 中添加 API 连接、本地模型或支持的账户,测试后设为默认模型,返回工作区即可开始任务。
- 运行非交互任务:在项目目录执行
npm run cli:dev -- run "你的任务描述"进行单次非交互式执行,或npm run cli:dev -- run --graph "任务"启动完整的有向无环图执行流程(使用隔离 Git worktree)。
适用人群
适合对数据隐私有较高要求、希望 AI 编程智能体的工作记录可审计可复现的企业开发者和团队。Apache 软件基金会的背书保证了项目的开源治理和长期维护,多入口点设计(桌面/终端/评估)可以满足从日常交互到自动化测试的全场景需求。对于需要构建可复现基准实验、对比不同智能体方案效果的 AI 研究人员,Eval 模块提供了声明式多臂实验框架,无需自行搭建实验基础设施。
评论与建议
登录 后参与评论或提建议