Maki 编程智能体

以紧凑上下文、终端界面和 Lua 插件完成代码库任务。

Star 数
★ 1.4k
最近更新
今天
License
MIT
主语言
Rust

30 秒速览

运行形态
命令行工具
可在哪里用
通用 · 跨平台OpenAI API · Claude APIClaude Code(部分支持)
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
受支持的模型提供商的 API 凭证或 OAuthShell / 命令行网络访问本地文件系统
典型场景
经常处理大型代码库、希望先查看结构和精确行号再读取实现的开发者。
不适合
  • 需要图形界面或 IDE 插件的用户,Maki 主要是终端 TUI 工具
  • 需要代码改动回滚的用户,Rewind 目前只恢复聊天记录

这个 Agent 能做什么,适合哪些场景?

Maki 是一个以减少上下文令牌消耗为目标的 AI 编程智能体,主要通过基于 ratatui 的终端界面运行。它使用 tree-sitter 驱动的 index 工具提取文件结构和精确行号,并通过 code_execution 在受时间与内存限制的 Monty 沙箱中处理工具数据。其 task 工具可以把工作委派给子智能体,并按任务选择弱、中或强模型,同时在 /tasks 中展示各子任务的独立对话。产品可通过类 Neovim 的 Lua 插件、Skills、MCP 和动态 provider 脚本扩展,也能以 maki acp 接入支持 ACP 的编辑器。它支持多家云端与本地模型服务,并提供无界面的 stream-json 输出,但实际成本、模型能力及联网需求取决于所选 provider。

用户在 TUI、ACP 编辑器或无界面 CLI 中提交编程任务后,Maki 可以读取代码库、执行 shell 命令、调用网络内容,并向配置的模型 provider 发起请求。index 先用 tree-sitter 生成文件的高层骨架以及函数等项目的起止行,帮助后续读取聚焦到相关区域。code_execution 通过 Monty 解释器调用其他工具,对结果进行筛选、汇总、转换或串接,避免所有中间数据进入模型上下文;执行沙箱受时间和内存限制。task 可将工作交给子智能体并选择不同强度的模型,memory 则保存可通过 /memory 查看、编辑或删除的长期信息。最终结果显示在 TUI、ACP 客户端,或由 --print --output-format stream-json 生成与 Claude Code 兼容的流式 JSON。

  1. 经常处理大型代码库、希望先查看结构和精确行号再读取实现的开发者。
  2. 在小屏笔记本上工作、需要低内存和紧凑终端界面的工程师。
  3. 希望用 Lua 编写内部工具、界面行为或工作流插件的 Neovim 风格配置用户。
  4. 需要同时使用多个子智能体,并在 /tasks 中检查每个子任务对话的开发团队成员。
  5. 希望在 Zed 等 ACP 编辑器中使用自选模型,或以 stream-json 接入现有自动化脚本的用户。
  6. 需要在 OpenAI、Anthropic、Google、Ollama、llama.cpp 等云端或本地 provider 之间选择的开发者。

如何安装或部署这个 Agent?

Linux 或 macOS 可先审查再运行安装脚本:curl -fsSL https://maki.sh/install.sh -o install.sh,然后执行 cat install.sh、chmod +x install.sh && sh install.sh。默认安装到 ~/.local/bin,可用 MAKI_INSTALL_DIR 修改位置。Windows PowerShell 可运行 irm https://maki.sh/install.ps1 -OutFile install.ps1、Get-Content install.ps1、.\install.ps1;Windows Git Bash 可运行 curl -fsSL https://maki.sh/install.sh | sh。Windows 默认安装到 %LOCALAPPDATA%\maki 并加入用户 PATH。也可使用 cargo install --locked --git https://github.com/tontinton/maki.git maki 安装 main 分支、运行 nix run github:tontinton/maki,或下载 GitHub Releases 中的预编译二进制。

如何使用这个 Agent?

先为至少一个受支持的 provider 配置凭据,例如 OPENAI_API_KEY、ANTHROPIC_API_KEY、GEMINI_API_KEY,或执行 maki auth login openai / maki auth login xai;Ollama 和 llama.cpp 也可分别通过 OLLAMA_HOST 和 LLAMA_CPP_HOST 连接本地服务。安装并配置后运行 maki 进入终端界面。使用 /tasks(Ctrl-X)查看子智能体,/memory 管理长期记忆,/btw 在不干扰当前会话的情况下基于聊天历史执行命令,! 执行 shell 命令,!! 执行不让 Maki 获知的命令,/cd 切换目录。无界面运行使用 maki --print --output-format stream-json。ACP 模式使用 maki acp;例如 Zed 的自定义 agent server 可将 command 设为 maki、args 设为 ["acp"],并在 default_config_options 中设置模型。

这个 Agent 有哪些优点和局限?

优点
  • index 使用 tree-sitter 返回代码项目及精确起止行,专门减少不必要的文件读取和上下文占用。
  • code_execution 可在受限 Monty 沙箱内筛选、转换和串接工具数据,避免中间结果全部进入上下文。
  • 支持 Lua 插件、动态 provider、Skills、MCP 和 ACP,扩展入口覆盖工具、模型与编辑器集成。
  • 支持多种商业 API、本地 Ollama、llama.cpp 及其他路由服务,降低单一 provider 锁定。
  • 子智能体具有独立聊天窗口,用户可通过 /tasks 查看其工作过程。
局限
  • 大多数 provider 需要单独的 API 密钥、OAuth 登录或已运行的本地服务,费用和可用性由外部 provider 决定。
  • README 中披露超过 90% 的代码由 Maki 在人工指导下编写,并承认部分实现不及手工编写版本,采用前应自行评估代码质量。
  • code_execution 受时间和内存沙箱限制,较重的处理可能受约束。
  • 聊天回退目前不包含代码回退;Escape-Escape 只能回退聊天历史。
  • Claude Code 兼容性明确覆盖 stream-json 输出格式,而不是完整的产品或插件兼容保证。

这个 Agent 与同类方案有什么区别?

与 Claude Code 的明确交集是无界面输出:Maki 的 --print --output-format stream-json 被说明为兼容 Claude Code,便于替换依赖该输出格式的现有方案。Maki 还采用与 Claude Code 相同格式的可选 OpenTelemetry 导出,并可通过 CLAUDE_CODE_USE_BEDROCK=1 使用 Bedrock。README 同时强调 Maki 的差异点,包括公开读取行数、用 tree-sitter 解析组合 shell 命令以分别识别权限,以及可见的子智能体聊天窗口;来源没有提供完整、同条件的功能或成本对照。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Maki 编程智能体 当前 64 · 存在缺口 命令行工具免费 + 模型费 ★ 1.4k 今天 Rust OpenAI API · Claude API
Grok CLI 52 · 缺口较多 命令行工具免费 + 模型费 ★ 3.5k 4 个月前 TypeScript —
Empryo 50 · 缺口较多 命令行工具免费 + 模型费 ★ 1.6k 22 天前 TypeScript OpenAI API · Claude API
Poolside pool 67 · 存在缺口 命令行工具免费 + 模型费 ★ 441 2 个月前 — OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
64/ 100 五分制 3.2 / 5
本评测基于 2026年9月23日 的源码;此后该项目发布了 8 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 17/29
可靠稳定 6/14
适用触发 15/18
规范维护 13/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全17 / 29 · 2.9/5

README 描述了基于语法树拆分 shell 权限、可选的遥测、SSRF 防护以及可关闭安全检查的 --yolo 模式,体现了较好的权限与外部效果意识;但所给材料没有权限提示规则、拒绝路径或实现代码,因此最小权限和确认机制未获满分。提供商、环境变量、动态提供商、长期记忆及遥测数据流均有披露,但没有完整说明发送字段、目的地、保留期限或删除保证。Cargo 使用 keyring 且依赖多有版本约束,CI 棱查 Nix Git 依赖哈希漂移,并为两个 Git 补丁固定提交及解释原因;仍缺少漏洞扫描、供应链策略或锁文件内容。回滚仅覆盖聊天历史,README 明确说明没有代码回滚。作者、仓库、主页和 MIT 版权归属相互一致,故来源归属满分;发布者身份未获企业注册验证仅视为未知。

可靠稳定6 / 14 · 2.1/5

README、Cargo 工作区结构和 CI 所展示的 Rust/Nix 产品形态基本一致,版本及功能叙述没有明显内部冲突。依赖被集中声明,Git 依赖按 tag 或 revision 固定,Nix CI 检查哈希漂移,支持预构建包、Cargo 和 Nix 等获取方式;但依赖面很大,包含候选版依赖和上游 Git 补丁,长期可用性并非完全稳固。提供的文件没有面向用户的错误消息、诊断提示或恢复说明,因此 failure_messages 计零;这不代表执行时必然缺少错误处理。

适用触发15 / 18 · 4.2/5

材料明确面向交互式编码、无界面流式 JSON、ACP 编辑器集成、小屏终端、子代理、MCP、技能和插件扩展,并覆盖多种云端及本地模型提供商,受众与场景充分。能力边界部分明确,例如解释 code_execution 沙箱受时间和内存限制、遥测为可选、回滚不包含代码、提供商插件仍在开发;但没有系统性的支持语言矩阵、工具权限边界或插件隔离模型。命令、快捷键、配置项和权限解析触发方式较具体,不过缺少冲突、歧义和误触发行为的证据。Linux、macOS、Windows、Nix、TUI、ACP 和多提供商适配说明充分,故环境适配满分。

规范维护13 / 18 · 3.6/5

README 按基准、功能、提供商、安装、ACP、文档和社区组织,结构清楚,但许多关键细节转至未提供的外部文档。安装覆盖三个操作系统、Nix、Cargo 和预构建二进制,并明确安装位置及覆盖变量,因此满分。名称 maki、命令和 crate 元数据一致,但插件/API 稳定性承诺未见。示例配置、ACP 示例和多个命令示例较实用,却没有内嵌 FAQ 或完整故障排查。已主动披露无代码回滚、提供商 Lua 插件尚未完成以及大量代码由代理生成等限制,但并非完整限制清单。MIT 元数据与完整 LICENSE 一致,故许可满分。版本号和发布下载可见,但未提供 changelog 或兼容性政策。作者邮箱、仓库、官网和社区渠道给出了维护入口,但没有治理、支持期限或接班责任说明。

有效结果9 / 13 · 3.5/5

产品提供交互式 TUI、无界面流式 JSON、会话恢复、搜索、子代理窗口、记忆和编辑器接入,输出可用性有实质描述;但缺少实际输出样本及静态可检查的格式契约。index、代码执行管道、Lua 插件和细粒度命令权限相对普通编码终端具有明确增量价值,不过材料主要是作者陈述。README 给出 token 节省估算以及基准通过率和每次通过成本,并区分个人使用测量,但所附报告和基准图内容未包含在材料中,无法核验计算、代表性或与替代方案的公平性,因此成本效益未获高分。

证据核验4 / 8 · 2.5/5

若干主张指向基准报告、官方文档、插件和讨论,但这些目标内容未随证据提供;性能、60 FPS、内存、SSRF 防护和权限正确性也没有对应实现片段,所以主张可追踪性较弱。README 的产品身份、版本、语言、作者、许可与 Cargo 和 LICENSE 相互印证,CI 又佐证 Nix 构建及哈希检查,因此跨来源印证较好,但功能性主张大多只有 README 单一来源。作者将个人 token 测量标为“for my usage”,显式标注 WIP、免责声明及缺失的代码回滚,事实与意见有一定区分;然而“SUPER fast”“sensible”等营销判断和未附方法的性能结论仍限制满分。

风险与缓解建议
  • 本评估仅基于所给静态文件;未执行程序,也未检查链接中的基准报告、安装脚本、官方文档或插件。
  • 使用前应审阅权限提示与 --yolo 绕过、动态提供商脚本、Lua 插件、MCP 和 code_execution 的实际隔离边界。
  • 确认 API 密钥在 keyring、配置、日志、遥测、会话与长期记忆中的存储、发送、保留和删除行为。
  • 安装说明同时提供了先审阅脚本和直接管道执行的一键方式;高保障环境应固定版本并验证下载物及安装脚本。
  • 代码回滚尚不可用;允许代理修改仓库前应使用独立版本控制提交或其他可恢复快照。
  • 依赖树较大,并包含 Git 依赖、固定 Git 补丁和候选版组件;应结合 Cargo.lock、漏洞扫描及补丁更新流程进行供应链审查。
证据充分度:低 评估于 2026年9月23日 审查版本 4a3227cc25d9 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →
你是这个项目的维护者?把 FARS 徽章加到 README

徽章显示当前的评审分数和结论,点击回到本页。重新评审后约一小时内更新。

FARS

[![FARS 评测](https://followagents.com/badge/maki.svg?lang=zh)](https://followagents.com/zh/agents/maki)
<a href="https://followagents.com/zh/agents/maki"><img src="https://followagents.com/badge/maki.svg?lang=zh" alt="FARS 评测"></a>

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.7.0
    发布说明摘录
    Maki 0.7.0 is a big one. Work can now run in the background while the agent keeps going, plugins can program the chat input, and sessions can move between machines. It also has breaking changes, so read [Before you update](#before-you-update) first. Background tasks A slow build, a test run or a dev server used to block the whole turn. Now press Ctrl+B and the running call moves to the background. The agent carries on, and the result comes back as a message when the work is done. The agent can also start background work on its own, so you can ask for things like: ``` …
    在 GitHub 查看 ↗
  2. v0.6.5
    发布说明摘录
    Breaking: unknown keys in providers.toml fail at startup Maki used to skip keys it didn't know in providers.toml, so a typo like api_key_evn was silently ignored. Now it exits at startup and tells you which key is wrong, the same way the main config does. This includes Aperture overrides. If maki refuses to start after updating, check that file first. ([docs](https://maki.sh/docs/providers/#providers-toml)) Features …
    在 GitHub 查看 ↗
  3. v0.6.4
    发布说明摘录
    Breaking: the model picker moved to Ctrl+L Terminals without the Kitty keyboard protocol send Ctrl+M as Enter, so the picker never opened there. It's Ctrl+L now. ([docs](https://maki.sh/docs/keybindings/#general)) Thanks @carlosalarconb Changes plugin authors should know about - Starting a turn from a plugin needs the new agent permission in plugin.toml. This covers maki.session.prompt, maki.session.new { prompt }, maki.session.notify { wake = true } and maki.agent.session called without a tool ctx. ([docs](https://maki.sh/docs/lua-api/#plugin-permissions)) …
    在 GitHub 查看 ↗

常见问题

使用 Maki 是否一定会产生模型费用?
不一定。费用取决于所选 provider;多数云端服务需要凭据并可能收费,而 Ollama 和 llama.cpp 可连接本地服务,OpenCode Zen 还支持用于零成本模型的 public key。
Maki 如何处理危险的 shell 命令?
它使用 tree-sitter 解析 shell 命令并识别各部分所需权限,例如同时区分 git * 与 rm *。--yolo 可以关闭该权限系统,因此会降低安全防护。
必须使用 MCP 才能运行吗?
不是。README 将 MCP 列为支持的扩展能力,但基础安装和 provider 配置并未要求必须配置 MCP。
它可以完全离线运行吗?
可通过 OLLAMA_HOST 或 LLAMA_CPP_HOST 连接本地模型服务,但网络搜索、远程 provider、安装下载及其他在线功能仍需要网络;README 没有承诺完整离线模式。
可以撤销智能体造成的代码修改吗?
README 只说明 Escape-Escape 可回退聊天历史,并明确表示尚无代码回退功能,因此代码恢复需要依靠其他版本控制或备份流程。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents