📌 项目地址:apache/maka | ⭐ 2,797 颗星 | 🔧 TypeScript | 📜 未标注
项目地址
apache/maka | ⭐ 2,797 | TypeScript | Apache 孵化中
先说它和 Claude Code、Cursor 的本质区别
现在主流编码 Agent 的会话记录只为两件事服务:UI 展示,和下次续聊。上下文一压缩,旧的工具输出就没了;程序一崩,这轮执行大概率作废。
Maka 的做法是把执行过程当事实落盘。模型消息、工具调用、工具结果、一个 Turn 怎么结束的,全部写成持久的本地记录。README 里的说法很准确:UI 和下一次模型调用都只是这个记录的视图,不是唯一副本。
这个设计有两个直接后果:
- 崩溃可恢复。有 durable execution record,程序崩了可以恢复,中断的 Turn 支持续跑(optional resume)。
- 省 token 不等于删证据。Maka 可以把旧工具输出从下一个 prompt 里剔除,但本地保存的完整记录不动。事后想查当时某次工具到底输出了什么,随时翻得到。
第二点是真正稀缺的。别的工具做上下文压缩是真裁剪——发给模型的内容变短,本地记录跟着丢。查审计、做复盘的时候,这两种做法的差距就出来了。
沙箱边界:越界必须批准
工具跑在 sandbox 里,想越界必须经过批准。运行可以中止,失败会被分类(failures are classified)。内置工具是常见的六个:Read、Write、Edit、Bash、Glob、Grep。Computer Use 和 catalog skills 是可选项,默认不开。
对你意味着什么:无人值守跑批时,Agent 不会悄悄执行危险操作。代价是你得花时间配置审批策略。对有合规要求的团队,这个交换是划算的。
三个入口,共用一个 Runtime Host
| 入口 | 用途 |
|---|---|
| Desktop | 日常交互、文件和 Artifact 工作流、模型与权限配置。Electron + React,支持流式会话、工具时间线、分支、搜索、恢复 |
| TUI / CLI | 当前项目目录下交互使用,或跑单个非交互 Turn |
| Eval | 可复现的 benchmark 实验,可跨 Maka 和外部对象 |
关键设计是三个入口共用同一个 Runtime Host。桌面端和终端共享 workspace 和模型连接,CLI 里跑的会话在 Desktop 里能看到。Eval 只拥有实验和评分,Agent 执行仍走 Runtime Host——评测和真实使用是同一套执行环境,不是平行世界。这解决了评测圈一个老问题:跑分时一个 Agent,用时另一个。
模型接入是“你带你的模型”:云 API、本地模型或兼容网关都行。会话、设置、运行记录默认留在本机。
怎么用
README 给出的命令:
maka—— 当前项目目录交互式使用maka run—— 执行一个非交互 Turnmaka eval run --out <目录>—— 跑评测实验并输出结果
安装的完整步骤 README 没写,要去仓库文档看。桌面端目前只有 macOS Apple Silicon 构建。
现在上手还是观望
三个事实摆在前面:
- 孵化期项目。ASF 尚未完全背书,README 附了标准孵化声明。
- API 不稳定。README 明确说数据格式、CLI 命令、实验性能力都可能变。现在采用要做好跟进迁移的准备。
- 平台单一。桌面端只有 macOS Apple Silicon,Linux 和 Windows 用户暂时没得选。
我的判断:Maka 的差异化不在“Agent 更能干”,而在执行记录的工程化——持久化、含审批决策、可跨入口复用、可恢复中断。如果你要复盘 Agent 到底干了什么(团队内部审计、评测实验归档),现在就值得盯着它。如果只是想要一个开箱即用的编码助手,等它出孵化期、桌面端覆盖更多平台再看,不迟。