开发与工程 coding-assistantterminal-uilua-pluginscode-executiontree-sittersubagentsmodel-providersagent-client-protocol

Maki 编程智能体

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

FollowAgents 评估 · FARS-2.1
谨慎使用
64/ 100 五分制 3.2 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全17 / 29 · 2.9/5

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

2可靠稳定6 / 14 · 2.1/5

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

3适用触发15 / 18 · 4.2/5

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

4规范维护13 / 18 · 3.6/5

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

5有效结果9 / 13 · 3.5/5

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

6证据核验4 / 8 · 2.5/5

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

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

这个 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 有哪些优点和局限?

优点
  • 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?

Linux 或 macOS 可先审查再运行安装脚本:curl -fsSL https://maki.sh/install.sh -o install.sh,然后执行 cat install.shchmod +x install.sh && sh install.sh。默认安装到 ~/.local/bin,可用 MAKI_INSTALL_DIR 修改位置。Windows PowerShell 可运行 irm https://maki.sh/install.ps1 -OutFile install.ps1Get-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_KEYANTHROPIC_API_KEYGEMINI_API_KEY,或执行 maki auth login openai / maki auth login xai;Ollama 和 llama.cpp 也可分别通过 OLLAMA_HOSTLLAMA_CPP_HOST 连接本地服务。安装并配置后运行 maki 进入终端界面。使用 /tasks(Ctrl-X)查看子智能体,/memory 管理长期记忆,/btw 在不干扰当前会话的情况下基于聊天历史执行命令,! 执行 shell 命令,!! 执行不让 Maki 获知的命令,/cd 切换目录。无界面运行使用 maki --print --output-format stream-json。ACP 模式使用 maki acp;例如 Zed 的自定义 agent server 可将 command 设为 makiargs 设为 ["acp"],并在 default_config_options 中设置模型。

这个 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 命令以分别识别权限,以及可见的子智能体聊天窗口;来源没有提供完整、同条件的功能或成本对照。

常见问题

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

对比同类 Agent

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

相关 Agents