tontinton/maki
An efficient AI coding agent extendable by neovim-like Lua plugins
What it solves
Maki is an AI coding agent designed to maximize context efficiency and provide a high-performance user experience. It solves the problem of "context bloat" in AI coding assistants, where excessive token usage during file reads and tool calls can lead to higher costs and slower performance.
How it works
Maki uses several specialized tools to minimize token consumption:
- Index Tool: Uses tree-sitter to create a high-level skeleton of files, allowing the agent to identify exact line ranges for functions or items before reading the full content.
- Code Execution Tool: Employs a sandboxed interpreter to filter, summarize, or transform data locally, preventing raw data from polluting the context window.
- Task Tool: Allows the agent to delegate work to sub-agents, with the ability to choose between different model strengths (e.g., weak, medium, strong) based on the task.
- Memory Tool: Maintains long-term context through a dedicated memory system.
It is built with Rust and uses ratatui for a fast, memory-light Terminal User Interface (TUI) that avoids JavaScript.
Who it’s for
Developers who want a fast, token-efficient AI coding agent that runs in the terminal and provides full visibility into the agent's internal processes and sub-agent activities.
Highlights
- Context Efficiency: Significant token savings via file indexing and local data processing.
- High Performance: 60 FPS TUI with SIMD-accelerated animations and fast startup.
- Extensibility: Support for Neovim-like Lua plugins and Model Context Protocol (MCP) servers.
- Customizable Providers: Supports a wide array of LLM providers including Anthropic, OpenAI, Google, and local options like Ollama and llama.cpp.
- Safety: Includes a permission system that parses bash commands via tree-sitter to prevent accidental destructive actions.
- Multimodal: Supports attaching images to prompts.
相关
- 项目
- 项目
- 项目
- 项目
- 项目