maki README

The project's README from github.com/tontinton/maki. As one markdown file: README.md.

An AI coding agent optimized for minimal use of context tokens, while providing a great user experience.

Benchmarks

Maki 0.5.5 at 80% pass rate and $1.75 per pass, against the FrontierHarness Eval baselines

FrontierHarness Eval benchmark result, click here to download report.zip

Features

Context efficiency

User experience

Supported providers

Dynamic providers - drop an executable script into ~/.config/maki/providers/ to add custom providers or proxies. See docs for details.

Providers as Lua plugins WIP!

Installation

Linux / macOS

# Download and read the script first (don't blindly trust shell scripts).
curl -fsSL https://maki.sh/install.sh -o install.sh
cat install.sh

# Then run.
chmod +x install.sh && sh install.sh

One-liner:

curl -fsSL https://maki.sh/install.sh | sh

Installs to ~/.local/bin. Override with MAKI_INSTALL_DIR.

Windows (PowerShell)

# Download and read the script first (don't blindly trust remote scripts).
irm https://maki.sh/install.ps1 -OutFile install.ps1
Get-Content install.ps1

# Then run.
.\install.ps1

One-liner:

irm https://maki.sh/install.ps1 | iex

Windows (Git Bash)

curl -fsSL https://maki.sh/install.sh | sh

Both install to %LOCALAPPDATA%\maki and add it to your user PATH. Override with MAKI_INSTALL_DIR / $env:MAKI_INSTALL_DIR.

Living on the edge (main branch)

cargo install --locked --git https://github.com/tontinton/maki.git maki

With Nix

nix run github:tontinton/maki

Or download a pre-built binary from GitHub Releases.

ACP

Run maki acp or configure your ACP supporting editor to use maki, e.g. in Zed's settings.json:

"agent_servers": {
  "Maki": {
    "default_config_options": {
      "model": "deepseek/deepseek-flash"
    },
    "type": "custom",
    "command": "maki",
    "args": ["acp"],
    "env": {}
  }
}

Documentation

More info at the official docs.

Community

Discord

Example config

tontinton/makiconf - includes a semble tool (Lua code) for semantic code search, and an ast-grep MCP server for AST-based search and replace.

DISCLAIMER: >90% of code in maki was written by maki, guided by humans. Some parts of the code are not as good as what I would've made in the artisanal hand-made style. But it's also not slop / vibe coded, and can easily be refactored if needed nowadays.

maki (tontinton/maki)

Searching Database…

1.2K ·GitHub
Что это такое?Maki — это терминальный AI-агент для написания кода, написанный на Rust. Он создан, чтобы тратить как можно меньше токенов контекста, и расширяется Lua-плагинами в духе neovim.
Это терминальная программа, библиотека или плагин для IDE?Это полноценный интерактивный терминальный интерфейс на Rust с ratatui — без JavaScript, 60 FPS, быстрый запуск и небольшое потребление памяти. Также может работать без интерфейса с --print --output-format stream-json.
Мне нужен свой API-ключ, и какие провайдеры поддерживаются?Да, нужен свой ключ: поддерживается около 20 провайдеров, включая Anthropic, OpenAI, xAI, Google, GitHub Copilot, Mistral, DeepSeek, OpenRouter, а также локальные Ollama и llama.cpp. Свои провайдеры или прокси можно добавить, положив скрипт в ~/.config/maki/providers/.
Есть ли что-то, чего он пока не умеет?Немного: Anthropic работает только с API-ключом, потому что OAuth запрещён их условиями использования; Escape-Escape откатывает историю чата, но пока не код; поддержка провайдеров в виде Lua-плагинов ещё в разработке.
Он работает и на Windows, или только на macOS и Linux?Windows поддерживается через установщики для PowerShell и Git Bash, а для Linux и macOS есть свои однострочники. Также доступны поддержка Nix и готовые бинарники на GitHub Releases.
Как он экономит так много токенов контекста?Инструмент индексации разбирает код с помощью tree-sitter в скелет файла с точными диапазонами строк (например, функция на строках 150-165), поэтому чтения остаются маленькими; изолированный инструмент выполнения кода фильтрует или суммирует данные между инструментами, не пропуская их в контекстное окно; делегирование может использовать более слабый уровень модели. Автор измерил, что один лишь инструмент индексации экономит 165 токенов за ход.
Можно ли расширять его плагинами, как в neovim?Да — расширение идёт через Lua-плагины с ощущением neovim, с описанием Lua API, встроенными плагинами и витриной пользовательских. Пример репозитория с конфигом tontinton/makiconf добавляет семантический поиск по коду и ast-grep MCP-сервер для поиска и замены по AST.
Как система разрешений обрабатывает опасные команды?Maki разбирает bash-команду с помощью tree-sitter, прежде чем спросить, так что git diff && rm -rf / понимается как запрос двух отдельных разрешений — на git и rm — вместо одной непонятной строки. Флаг --yolo полностью отключает эти вопросы.
Можно подключить его к своему редактору вместо TUI?Да. maki acp открывает его по Agent Client Protocol для редакторов вроде Zed, а для автоматизации можно запустить без интерфейса с --print --output-format stream-json — вывод совместим с Claude Code, так что существующие настройки продолжат работать.
Как субагенты выглядят на практике?Инструмент task делегирует работу субагентам и позволяет модели выбрать слабый, средний или сильный уровень моделей вашего провайдера — что-то вроде haiku vs sonnet vs opus. У каждого субагента своё окно чата, а переключаться между ними можно через /tasks (Ctrl-X).
Зачем автор его создал?Две причины недовольства существующими агентами: раздутый контекст и скрытые внутренности. Maki следует философии ничего не скрывать — она по-прежнему показывает детали вроде того, сколько строк прочитано, — и сочетает это с экономией токенов. Примечательно, что более 90% кода самой maki написано ею же под руководством человека.
What are similar projects?aichat, claurst, oh-my-pi, magpie, Raven, jcode, trae-agent, opensquilla
Creator
tontinton
Size
22.3 MB
Stars
1.2K
Age
8mo
Commits · 90 Days