Apache Maka
面向真实项目、保留可恢复执行记录的本地优先智能体工作区。
- 源仓库
- apache/maka
- Star 数
- ★ 5.8k
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- TypeScript
- FA 评分
- 82/100 · 表现良好
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 希望智能体直接检查和修改本地代码库的开发者,可通过桌面端或 TUI 使用文件、搜索与 Shell 工具,并逐项审批敏感操作。
- 不适合
- 使用 Intel Mac、Windows 或 Linux 作为主力平台的团队
- 希望升级后保留旧会话记录与凭据的用户
- 源码审查
- 82/100 · 表现良好
这个 Agent 能做什么,适合哪些场景?
Apache Maka(孵化中)是一个本地优先的智能体工作区,提供 Electron 桌面端、终端 TUI、非交互式 CLI 和评测系统。桌面端、CLI 与 Maka 评测对象都通过 Runtime Host 执行,由它统一管理会话、轮次、智能体生命周期、工具、权限和事件。模型消息、工具调用、工具结果、权限决定及终止事实会写入追加式 Runtime Event Log,并投影为会话、界面、模型上下文与恢复状态。运行时可使用 Read、Write、Edit、Bash、Glob 和 Grep 等本地工具,并支持流式输出、上下文压缩、工具结果裁剪、启动恢复及使用量核算。运行数据默认保存在本机,用户可以配置云 API、本地模型或兼容网关;但目前正式桌面发行版仅支持 Apple Silicon Mac,且项目仍在快速演进。
用户从 Desktop、maka TUI 或 maka run 提交任务后,Runtime Host 创建并推进 Session、Turn 和 AgentRun,通过已配置的模型连接进行推理,并根据权限策略调用 Read、Write、Edit、Bash、Glob、Grep 等工具。工具参数会经过模式校验,文件写入、Shell 和危险调用进入权限引擎,同时 watchdog、abort 与错误分类负责约束执行。模型消息、Tool Calls、Tool Results 和终止事实被写入 Runtime Event Log;会话界面、模型上下文、恢复流程和 Turn Evidence 从日志生成。桌面端还能管理、搜索、重命名、重试、重新生成及分支会话,并展示 Artifact 列表、预览和工具时间线。maka eval run <spec> --out <directory> 可展开任务、重复次数与评测对象组合,记录不可变尝试,并输出评分、标准化用量、可归属成本、耗时、状态、失败原因和产物。
- 希望智能体直接检查和修改本地代码库的开发者,可通过桌面端或 TUI 使用文件、搜索与 Shell 工具,并逐项审批敏感操作。
- 需要在脚本或 CI 风格流程中执行单轮任务的工程师,可用
maka run提交提示并读取最终输出。 - 需要拆分并行实现工作的维护者,可在干净的 Git 工作树中使用
--graph,让实现操作在隔离 worktree 中运行并等待持久化 Graph 完成。 - 重视可追溯性与故障恢复的团队,可利用追加式事件日志、AgentRun ledger、Turn Evidence、备份校验和启动恢复保存执行事实。
- 比较 Maka 与外部评测对象的研究者,可用声明式多臂实验生成任务 × 重复 × 对象的评测单元,并收集成本、耗时、失败和产物数据。
- 不希望把会话默认托管到远端的个人用户,可将工作区数据保留在本机,并自行选择云 API、本地模型或兼容网关。
如何安装或部署这个 Agent?
源码运行要求 Node.js 22.19 或更高版本、npm、Git 和 ripgrep;CI 使用 Node.js 24,当前 packageManager 为 npm 11。执行:
git clone https://github.com/apache/maka.git
cd maka
npm ci
npm run dev其中 npm run dev 启动带 HMR 的桌面开发环境;若需先构建全部 workspace,可运行 npm run dev:full。若安装依赖时设置了 ELECTRON_SKIP_BINARY_DOWNLOAD=1,启动前执行 node node_modules/electron/install.js。Apple Silicon Mac 也可从 GitHub Releases 下载已签名并公证的 Maka-<version>-mac-arm64.dmg,拖入 Applications,并用 brew install ripgrep 启用 Grep。Windows x64 仅为未签名预览;Intel Mac、Linux 和正式 Windows 安装包尚不受支持。
如何使用这个 Agent?
首次启动后打开 Settings → Models,添加 API、本地模型或受支持的账户连接,测试连接并选择默认模型,然后返回工作区提交任务;Maka 不附带共享模型账户。源码版终端入口需先执行 npm run build。启动 TUI:npm run cli:dev。执行单轮任务:npm run cli:dev -- run "Summarize this repository and identify its most important risk"。执行 Graph 任务:npm run cli:dev -- run --graph "Implement two independent slices, integrate them, then review the result";Graph 实现操作使用隔离的 Git worktree,因此源项目必须是干净工作树。运行评测:maka eval run <spec> --out <directory>。安全边界恢复默认关闭;设置 MAKA_RUNTIME_SAFE_BOUNDARY_RESUME=1 后,桌面端 Safe resume、CLI/TUI 的 /resume 和桌面启动自动恢复才会启用,并可能调用模型及消耗令牌。
这个 Agent 有哪些优点和局限?
- 以 Runtime Event Log 作为执行事实来源,模型消息、工具调用、结果和终止事件均可追踪,并支持会话投影与恢复。
- Desktop、TUI、非交互式 CLI 和 Maka 评测对象共享 Runtime Host,减少不同入口产生不一致执行语义的风险。
- 本地优先保存会话、设置与运行记录,同时允许用户选择云 API、本地模型或兼容网关,避免绑定单一模型提供方。
- 内置工具模式校验、动态可用性、权限策略、watchdog、abort 和错误分类,对文件写入、Shell 与危险调用设置明确控制点。
- 评测系统提供声明式多臂实验、不可变尝试和统一结果指标,适合复现实验及比较不同执行对象。
- 项目处于积极开发阶段,数据格式、CLI 命令和实验功能仍可能变化。
- 正式桌面发行版目前只支持 Apple Silicon Mac;Windows x64 仍是未签名预览,Intel Mac 和 Linux 尚无支持包。
- Maka 不提供共享模型账户,采用者必须自行配置 API、本地模型或兼容网关,并承担相应模型费用与可用性风险。
- 连接 API/OAuth 材料、请求头、搜索密钥和代理密码保存在本地明文
credential-vault.json中,安全性依赖操作系统账户边界和文件权限。 - 当前存储版本不会导入旧的 File/JSONL 会话历史或旧版、safeStorage 加密的凭据;升级可能出现空会话,相关用户还需重新认证。
- 对结果不确定的工具副作用尚未实现 Phase 3 对账;这类执行会被搁置,而不会自动重试。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Apache Maka 当前 | 82 · 表现良好 | 桌面应用免费 + 模型费 | ★ 5.8k | 今天 | TypeScript | — |
| Kun 工作台 | 49 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 6.3k | 1 天前 | TypeScript | ChatGPT · Codex · OpenAI API · Claude API |
| Context | 74 · 存在缺口 | MCP 服务器免费 | ★ 424 | 1 天前 | TypeScript | Codex · Claude Code · Claude.ai |
| AgentBridge | 61 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 402 | 1 个月前 | TypeScript | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据清楚描述默认 ask 权限策略、危险工具确认、渲染进程隔离、本地数据流、凭据掩码、备份恢复及第三方归属。扣分在于工具默认仍以用户完整 OS 权限在进程内运行,权限引擎仅被定义为启发式安全网;凭据以明文 JSON 保存;网络和模型调用可产生外部影响;不确定工具副作用尚不能协调恢复。依赖方面有锁文件安装、固定提交的 CI Action、生产依赖审计和许可清单检查,但材料未展示持续漏洞处置机制或全部传递依赖状态。
README、SECURITY、包脚本和 CI 对运行架构、权限、测试及发布流程的描述相互一致,因此自洽性充分。依赖安装使用 npm ci,构建、类型检查、工作区测试、沙箱冒烟和发布检查均有明确入口;但模型服务、Electron、ripgrep、bubblewrap及特定 OS 能力属于外部前提,桌面正式支持也仅限 macOS Apple Silicon。材料显示提供错误分类、供应商错误归一化和 WebSearch 失败关闭消息,但没有证明所有工具、恢复和安装路径都有同等完整的可操作错误信息。
桌面、TUI、非交互 CLI 和评测场景均有明确受众与用途,支持云 API、本地模型和兼容网关。能力边界尤其清楚,包括无默认进程/容器隔离、Computer Use 未随首版提供、Windows 仅预览及续跑开关。扣分在于触发精度主要由权限表、动态工具可用性和隐私门控的说明支撑,未提供完整策略表或误触发分析;环境适配受 macOS arm64 正式支持范围、Node 版本及额外系统工具限制。
文档提供架构图、目录地图、权威文档入口、安装步骤、命令示例、安全报告渠道和详尽限制说明;许可证正文、NOTICE 指引及第三方组件归属完整。扣分在于项目明确处于早期开发,数据格式、CLI 命令和实验能力可能变化;示例丰富但没有实际 FAQ;只看到版本号和安全维护范围,未看到独立 changelog、兼容性承诺或迁移版本历史。维护入口清楚,但所给材料没有验证发布者身份,且旧版本明确不受主动安全维护。
产品将对话、工具调用、权限决定、终止事实、恢复、分支、工件和评测结果整合为可用工作空间,输出可追踪并可供桌面与终端消费,相比普通聊天界面有明显增量价值。扣分在成本收益方面:需要用户自备模型连接,续跑可能消耗令牌,还需较新的 Node、平台依赖及部分手动配置;虽然有用量、可归属成本和结果核算,但材料没有提供资源开销或收益基准。
核心主张可追溯到具体架构、存储位置、策略名称、测试文件、脚本和 CI 步骤,并由 README、SECURITY、package.json 与两个工作流交叉印证。事实、承诺和限制区分得很明确,例如将权限引擎及脱敏器称为启发式而非安全边界,并明确未实现的副作用协调、平台限制和迁移数据损失;因此静态材料在这三项上证据充分。
- 工具以当前 OS 用户权限运行,默认没有实际接入的进程或容器沙箱;不要在管理员账户或含高价值凭据的宽权限环境中运行不可信任务。
- API、OAuth、代理及搜索凭据保存在权限受限但仍为明文的本地 JSON 文件中;应依赖磁盘加密、严格账户隔离和可靠备份。
- 升级不会迁移仅存在于旧转录文件中的对话,也不会导入旧 safeStorage 凭据;升级前应备份并准备重新认证。
- 不确定的工具副作用目前会被停放而非自动协调;在确认外部状态前不要盲目重试可能产生写入、费用或网络操作的任务。
- 该项目仍处早期开发阶段,正式桌面支持限于 macOS Apple Silicon,Windows 为未签名预览,Intel macOS 与 Linux 安装包尚不受支持。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Developer Snapshot 0.2.1-dev.91.20261018 This Desktop Nightly was built from 57cde86bdca294b58402d1bd037f4e1f2335302a for development and testing. It is not an Apache Release and has not been approved by an ASF release vote. The packaged applications carry the repository DISCLAIMER-WIP and Apache License 2.0 materials. They may be unstable and are not intended as a stable release for general users. Apache Maka is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC. Incubation is required of all …在 GitHub 查看 ↗
常见问题
Maka 是否自带可直接使用的模型额度?
智能体可以不经确认直接修改文件或运行命令吗?
数据默认存在哪里?
userData 下的 workspaces/default/。运行状态主要保存在 runtime.sqlite,Artifact 内容保存在 artifacts/,连接、凭据和设置则保存在独立配置文件中。中断后会自动继续执行吗?
MAKA_RUNTIME_SAFE_BOUNDARY_RESUME=1 后,Safe resume、/resume 和桌面启动自动恢复才可用;恢复可能再次调用模型并消耗令牌,结果不确定的工具副作用仍会保持搁置。