Apache Maka (Incubating) 是一个高性能 Agent 工作台,完整记录它做过的每一件事。
Maka 提供终端工作台和原生桌面 shell。Runtime Host 统一管理执行、权限和持久状态,模型提供商、工具与业务能力通过公共插件接口接入。
需要 Rust stable、Node.js 24 LTS、npm 11.19.0 和 just。原生 Computer Use 在 macOS 需要 Xcode Command Line Tools,在 Linux 需要 X11 开发库。
git clone https://github.com/apache/maka.git cd maka just setup just run
just run 打开 NSH 终端工作台,即 maka 的默认界面。它自动发现或启动 ~/.maka/application/host 的 Host;--root PATH 指定其他 Host,--session ID 打开已有会话。just run --help 查看 CLI 命令。just build --release 生成 target/release/maka、maka-desktop-shell 及相邻的 app/ 目录,Windows 可执行文件使用 .exe 后缀,macOS 上桌面 shell 和 app 放在 Maka.app 中。构建入口支持 --release 和 --target。模型协议由 Rust 执行。Node.js 打包产品代码,CLI 在 V8 中执行插件与 Code Mode JavaScript,桌面 shell 通过 QuickJS 执行 app。编写和安装方式见产品指南。
在 WSL 中,just run 构建不含本地 native-desktop 能力及其 Linux X11 依赖的 CLI,Computer Use 默认选择 Windows 桌面。源码构建需通过 MAKA_CUA_WINDOWS_EXECUTABLE 指定匹配的 Windows maka.exe,使用 WSL 可见的绝对路径。MAKA_CUA_BUILD_MODE=auto|native|bridge 控制开发构建选择,设置方法见 Computer Use。just build 和发布打包仍构建完整原生产品,包含桌面 shell 及其 Linux GUI 依赖。
通过 target/release/maka desktop --root HOST_ROOT 启动桌面,显式选择实际业务 Host Root。启动器初始化或重开 Host,并在 shell 运行期间保留其客户端。产物布局和开发命令见 desktop-shell。
| 目录 | 用途 |
|---|---|
| platform/ | 应用内核、Host/UI owner、JavaScript 执行适配器和原生渲染器 |
| plugins/ | 插件声明、业务实现及共享领域契约 |
| products/maka/ | 原生工厂选择、产品组合、CLI 和桌面入口 |
tools/schema/ | 无需构建完整产品的契约与 schema 导出 |
packages/plugin-sdk/ | JavaScript 插件的 Host、组件与原生呈现契约,由规范定义生成 |
packages/cli/ | 启动各平台 Rust 可执行文件的 npm 薄封装 |
scripts/rust/ | 原生打包与绑定源码的 npm 分发 |
website/ | 独立构建的项目官网 |
通过 just --list 查看开发命令。参阅贡献指南、架构和安全策略。
npm 启动器选择匹配的原生平台包,自身不包含 Agent 运行时。原生预览包从同一份源码归档构建并验证,流程见 packages/cli。
Apache Maka 正在 Apache 软件基金会孵化。参见 DISCLAIMER-WIP、LICENSE 和 NOTICE。