Apache 孵化的 Local-First AI Agent 工作空间:认识Maka

Apache 孵化的 Local-First AI Agent 工作空间:认识Maka

今天在 GitHub Trending 上看到一个有趣的项目——apache/maka。2,000 Stars、Apache 基金会背书、定位独特,值得深入了解。


项目简介

Maka 是 Apache 软件基金会孵化中的 Local-First AI Agent 工作空间。它不只是一款问答工具,而是真正帮你完成实际工作的 Agent 环境:检查项目、执行工具、生成制品,并将模型消息和工具调用记录为可恢复的执行事实。

它的核心抽象非常有意思:Append-Only Log(追加写日志)。模型消息、工具调用、工具结果、权限决策和终止事件,全部作为只追加的事件流记录下来。Session、UI、模型上下文、恢复机制都是这个日志的”投影(Projection)”。这和传统 Agent 框架把执行历史存在上下文窗口里截然不同——日志是源,上下文是衍生品。


核心数据

指标 数值
⭐ Stars 2,016
🍴 Forks 240
🐛 Issues 283
💻 语言 TypeScript
📜 许可证 Apache License 2.0
🏷️ 阶段 Apache 孵化项目

技术亮点

1. Append-Only Log 即 Runtime

传统 Agent 的执行历史随上下文压缩而丢失,Maka 反其道而行:完整的执行链(包括每次 LLM 调用、工具调度、权限判断)永久记录在 Runtime Event Log 中。这带来了几个独特能力:

  • 可审计:任何工具调用都能追溯其触发条件和权限决策
  • 可恢复 / 重试:任意历史 Turn 可重新执行或分支执行
  • 上下文可压缩:LLM 上下文不够用时,历史证据不丢失——模型可以遗忘,但 workspace 记得

2. 精细权限控制

每个危险操作(文件写入、Shell 执行等)都经过 Permission Engine:

// 工具调用需经权限策略校验后才会执行
const result = await runtime.executeTool({
  name: "Bash",
  args: { command: "npm run build" },
  // Runtime 自动注入权限上下文,用户可配置允许/拒绝策略
});

3. 三种入口,覆盖不同场景

入口 场景
Desktop(Electron + React) 日常交互,支持流式输出、工具时间线、Session 分支与恢复
TUI / CLI 在当前项目目录快速运行,或非交互式单次 Turn
Eval 可复现的基准测试实验,跨多个 Agent 被试对比评估

社区反应

“A quiet milestone on GitHub Trending today: apache/maka… Around 2,000 stars and climbing fast, but the star count isn’t the story. The ASF stamp is.”
— Clauday

社区对Maka的反应集中在两点:

  1. Append-Only Log 理念被广泛讨论。有文章专门论述”AI 编码 Agent 为什么需要追加写日志”,认为这是 Agent 基础设施成熟化的标志;
  2. Apache 品牌背书意义重大。Agent 运行时领域长期处于个人仓库和创业公司主导的状态,Maka 进入 Apache 治理体系(Kafka、Spark、Airflow 同款)意味着企业级贡献者可能会跟进。

国内开发者也在关注,V2EX 上有作者分享了项目 7 周的开发过程和数据实测,讨论热度较高。


快速上手

前置依赖:Node.js ≥ 22.19、npm、Git、ripgrep

# 克隆并安装
git clone https://github.com/apache/maka.git
cd maka
npm ci

# 启动 Desktop 开发环境
npm run dev

# 或者使用 CLI 运行一次 Turn(非交互式)
npm run build
npm run cli:dev -- run "Summarize this repository and identify its most important risk"

首次启动 Desktop 后,在 Settings → Models 中配置你自己的模型连接(支持云端 API、本地模型或兼容网关),即可开始任务。


和普通 Agent 框架的区别

普通 Agent 框架:执行历史存在模型上下文里,上下文满了就压缩、丢失。

Maka:执行历史是追加写的只读日志,上下文可以压缩,但日志永不丢失——模型可以遗忘,workspace 记得。


项目地址:https://github.com/apache/maka
当前支持:macOS Apple Silicon(Desktop)、Node.js CLI(TUI)
许可证:Apache License 2.0

评论区

0 条评论

登录后可评论。

拾光·开源拾遗 1141 阅读