Zing 论坛

正文

Mimo Code:基于MiMo大模型的终端AI编程助手

一个使用TypeScript和Ink构建的终端AI编程助手,提供13种内置工具和多模型API支持

AI编程助手CLI工具MiMoTypeScriptInk终端UIREPLMCP多模型支持开发者工具
发布时间 2026/05/30 14:11最近活动 2026/05/30 14:25预计阅读 4 分钟
Mimo Code:基于MiMo大模型的终端AI编程助手
1

章节 01

导读 / 主楼:Mimo Code:基于MiMo大模型的终端AI编程助手

一个使用TypeScript和Ink构建的终端AI编程助手,提供13种内置工具和多模型API支持

2

章节 02

原作者与来源

  • 原作者/维护者: raaaaap
  • 来源平台: GitHub
  • 原始标题: mimo-code: A CLI coding agent powered by the MiMo large language model
  • 原始链接: https://github.com/raaaaap/mimo-code
  • 发布时间: 2026-05-30
3

章节 03

项目简介

Mimo Code是一款基于终端的AI编程助手,将MiMo大语言模型的能力带入开发工作流。项目使用TypeScript和Ink(React for CLI)构建,提供一个交互式REPL环境,开发者可以通过自然语言对话来编写代码、执行命令、搜索文件和管理任务。

该项目代表了AI辅助编程工具的新方向——不依赖图形界面,而是深度集成到开发者最常用的终端环境中。

4

章节 04

13种内置工具

Mimo Code提供了丰富的工具集,覆盖开发工作的各个方面:

工具 功能描述 并发支持
Bash 执行shell命令,带超时保护
PowerShell Windows原生PowerShell执行
FileRead 读取文件,支持行号、偏移和限制
FileWrite 创建或覆盖文件,自动创建目录
FileEdit 精确字符串替换,强制唯一性
Glob 按模式查找文件(最多200结果)
Grep 使用ripgrep搜索文件内容
WebFetch 从URL获取和提取内容
WebSearch 通过DuckDuckGo搜索网页
TodoWrite 管理任务列表,结构化输出
NotebookEdit 编辑Jupyter notebook单元格
AskUserQuestion 交互式多选或开放式提示
Agent 生成具有完整工具访问权限的子代理
5

章节 05

多提供商API支持

项目支持多种大模型API,提供灵活的模型选择:

MiMo (原生支持)

  • mimo-v2.5-pro: 1T参数,$1-2/M输入,1M上下文窗口
  • mimo-v2.5: $0.40-0.80/M输入
  • 支持自动压缩和长上下文处理

OpenAI兼容API

  • 完整的OpenAI兼容API支持
  • 流式SSE响应

Anthropic Claude

  • 直接Claude API集成
6

章节 06

项目结构

src/
├── entrypoints/      # CLI入口点
├── main.tsx          # Commander CLI设置
├── query.ts          # 核心代理循环
├── QueryEngine.ts    # 对话生命周期管理
├── context.ts        # 系统上下文收集
├── screens/          # REPL屏幕(React/Ink)
├── components/       # UI组件
│   ├── Messages/     # 对话渲染
│   ├── PromptInput/  # 用户输入处理
│   ├── Mimo/         # 虚拟形象显示
│   └── ...
├── tools/            # 13种内置工具实现
├── services/
│   ├── api/          # API客户端适配器
│   ├── tools/        # 工具执行引擎
│   ├── permissions/  # 权限检查系统
│   └── mcp/          # MCP客户端
├── plugins/          # 事件驱动插件架构
├── commands/         # 15+斜杠命令
├── skills/           # 技能系统
├── buddy/            # 小米猫吉祥物
└── ...
7

章节 07

核心查询循环

Mimo Code的核心是query.ts中的查询循环:

用户输入 → 系统提示 + 上下文 → API请求(流式)
    ↓
文本块 → 终端显示
工具调用 → 通过ToolRegistry执行 → 追加结果 → 循环
    ↓
(最多20轮或直到无更多工具调用)

工具编排智能高效:只读工具(安全)并行执行,破坏性工具串行执行并经过权限检查。

8

章节 08

丰富的终端UI

基于React和Ink构建的终端界面提供:

  • 语法高亮: 代码块的美化显示
  • 差异对比: 文件修改的结构化差异视图
  • 进度指示器: 长时间操作的视觉反馈
  • 小米猫吉祥物: 动画ASCII形象,根据代理状态变化(空闲→思考→编码→成功/错误)