每天早上一封邮件,把昨天的 AI 梳理好订阅邮件

METAL LAB

Apache基金会孵化本地运行AI智能体工具"Maka"

本地优先智能体,将模型消息、工具调用、权限决策全部写入日志,目前仅在Apple Silicon版Mac上提供正式支持

이미지: METAL LAB 생성

摘要

  • Apache软件基金会孵化器新增本地优先AI智能体工作空间项目"Apache Maka"。
  • 该工具会将模型消息、工具调用、权限决策及会话结束事件全部记录为仅追加型专用日志,目前仅macOS Apple Silicon桌面应用提供经签名、经公证的正式发行版。
  • 会话数据统一保存在单一的runtime.sqlite文件中,旧版本基于文件的对话记录在升级时不会自动迁移。
프로젝트명
Apache Maka (Incubating)
라이선스
Apache License 2.0
현재 정식 지원 플랫폼
macOS Apple Silicon(arm64) 데스크톱 앱
첫 공개 빌드 미포함 기능
Computer Use
실행 경로
데스크톱·TUI·CLI·평가 주체 모두 Runtime Host를 거쳐 실행
데이터 저장
runtime.sqlite가 세션·실행 상태·아티팩트 메타데이터를 단일 관리
개발 단계
Phase 2(내구성 있는 쓰기 경계) 구현 완료, Phase 3(모호한 도구 결과 재처리) 미구현
저장소
github.com/apache/maka

本地运行的AI智能体,被Apache收入麾下

Apache软件基金会(Apache Software Foundation)的开源孵化器新增了一个项目。名字叫Maka,正式名称为"Apache Maka (Incubating)"。其特点在于,这是一款设计为在用户电脑本地运行、而非依赖云端服务器的AI智能体工作空间。源代码和文档已公开在github.com/apache/maka 仓库,许可证为Apache License 2.0。

这是一款记录什么内容的工具

Maka不是那种只回答问题的聊天机器人,而是一个在权限受控的前提下查看项目文件、执行工具、生成产出物的智能体。在此过程中产生的模型消息、工具调用、工具执行结果、权限批准/拒绝决策、任务结束事件,全都会被完整记录为仅追加(append-only)日志。所谓仅追加日志,是指已写入的记录不会被删除或改写,只会不断在末尾追加新内容。这样的设计,似乎是为了让人们事后能够原样回溯智能体基于什么判断动了什么。

桌面应用、在终端中运行的TUI(文本用户界面)、无需对话仅执行命令的CLI(命令行界面),以及用于评估的执行主体,这四种执行路径全部会经过一个名为"运行时主机(Runtime Host)"的统一执行引擎。

目前可用的范围

Maka目前仍是一个正在积极开发中的早期公开版本。项目文档说明,数据格式、CLI命令、实验性功能今后仍可能发生变化。

平台当前状态
macOS(Apple Silicon, arm64)提供经签名、经公证的正式桌面应用
Windows未签名预览版——非正式支持等级
Intel Mac不支持
Linux不支持

macOS版桌面应用仅在GitHub发布页面提供Apple Silicon版Mac专用发行版。通过屏幕操作鼠标、键盘的"电脑使用(Computer Use)"功能未包含在此次首个公开版本中。下载Windows安装文件时,SmartScreen会弹出"未知发布者"警告,官方说明只有在下载文件的SHA-256校验值与发布页面公开的数值一致时,才应忽略该警告继续安装。

如何试用

  1. 下载——macOS Apple Silicon用户可从GitHub发布页面下载经签名、经公证的桌面应用。若要自行构建,可下载仓库源码,执行npm run dev启动基于Electron的开发环境。
  2. 首次运行——Maka并不随附打包自有的AI模型账号。首次运行时,用户需要自行设置模型连接,应用会将连接状态区分显示为"设置完成""可用""实验性"三个等级。未在运行时中实际建立连接的账号流程,不会显示为可用模型。
  3. 执行任务——在终端TUI中,可通过/graph on、/graph off、/graph <任务内容>等命令开启或关闭需要经过多个阶段的智能体任务(Graph)。非交互式的--graph执行会等待持久化Graph(durable Graph)运行结束后,仅输出最终结果。该功能运行在隔离的Git工作树之上,因此目标项目必须处于干净的Git工作树状态。
  4. 也可通过CLI访问——通过以npm包形式发布的CLI,也可以用同样的方式运行Maka。不过仓库中的CLI使用的是"Maka Dev"配置文件,而发布的正式二进制文件使用的是"Maka"配置文件,两者不会自动同步。

数据存放位置及升级注意事项

Maka将工作空间数据保存在Electron的userData文件夹下。会话元数据、对话记录、智能体图状态、执行状态、用量与计费信息、产出物(artifact)元数据全部由单一的runtime.sqlite统一管理和运营,实际产出物文件则以独立文件形式保存在artifacts/文件夹下。

此版本的存储方式不会自动导入上一代基于文件、JSONL的记录。旧版本使用的会话标题在新元数据中尚能找到,但仅以文件形式保存的旧对话记录,在新版本中会以空白线程的形式打开。经过加密的旧凭证文件也不会被迁移,只保有该文件的用户需要重新登录。项目文档说明,这一数据丢失边界是本次发行版有意为之的结果,并提醒用户在升级现有工作空间前应考虑到这一点。

备份通过SQLite的在线备份API完成,在对产出物加写锁定的状态下复制文件,并生成包含文件大小与SHA-256值的清单。恢复前会校验完整性、外键、架构以及必需的数据表。开发阶段分为两个部分:安全失败处理并保证写入操作持久性的部分(阶段2)已完成实现;而在工具执行结果模糊时进行重新处理的部分(阶段3)尚未实现,因此结果含糊的执行目前会原样搁置,不会自动重试。

编辑观察

Maka引人注目之处在于"本地优先"这一选择本身。最近智能体基础设施领域的竞争一直朝着相反方向倾斜。像上文提到的AWS案例那样,有的公司选择让会话尽可能长时间地停留在云端,而Maka则站在对立面,选择将每一个会话固定保存为用户电脑本地的一个SQLite文件。如果说云端智能体在解决"要让会话保持运行多久"的问题,那么Maka首先想解决的是"事后能否证明发生过什么"。

这种设计对那些觉得赋予智能体文件操作、命令执行权限有负担的团队具有意义。如果权限决策和工具执行结果都以仅追加日志形式留存,那么当智能体不慎删除文件或执行错误命令时,就能回溯查明在哪个时间点批准了什么操作。对于正在考虑在接入公司内部代码库前应保留多详细执行记录的国内开发团队而言,Maka的append-only日志结构是一个值得参考的设计案例。不过,目前版本仅在macOS Apple Silicon桌面端提供正式签名,而在工具执行结果模糊时进行重新处理的阶段3功能也尚未具备。与其立即接入实际业务代码库,不如先在影响较小的项目中确认日志究竟会记录下哪些内容。

预计在未来几周内,Windows正式签名版本以及是否新增Computer Use功能,将成为该项目的下一个里程碑。一旦这两项到位,Maka就会从"实验性工具"跃升为"可安装使用的工具"。

本文相关代码

评论