S36 MiMo Code 接入 WorkBuddy,白嫖免费编程助手

把 MiMo Code 接入 WorkBuddy

白嫖小米免费 AI 编程助手

 

适用读者:WorkBuddy 用户、AI 编程爱好者、MCP 协议探索者

 

背景:为什么要把 MiMo Code 接进 WorkBuddy?

小米今年推出了 MiMo Code——一款类似 Claude Code 的终端 AI 编程助手,支持代码生成、文件读写、命令执行、Git 管理全套能力。

而且目前限时免费,额度相当大方(百万亿 Token 级别)。

但我平时主力用的是 WorkBuddy,不想在两个工具之间来回切换。能不能让 WorkBuddy 直接调用 MiMo Code 的能力?

答案是可以,而且方式不止一种。

三种对接方案,你选哪条路?

 

方案 原理 难度 效果
① MCP Server 自建 MCP Server,把 MiMo 对话 API 暴露给 WorkBuddy ⭐⭐ 只能对话,不能操作文件
② 自定义模型 改models.json,让 WorkBuddy 直接用 MiMo 模型回复 最省事,但只是换模型
③ MCP Tool WorkBuddy 通过 MCP 调用 mimo run 命令,真正驱动 MiMo Code ⭐⭐⭐ 完整能力,最强

 

我最终选了方案③——前两个我也试了,但真正想要的是 MiMo Code 本体的编程能力,不只是 MiMo 的模型 API。

核心原理:MiMo Code 有个隐藏的非交互模式

很多人不知道,mimo CLI 其实支持非交互模式,通过 mimo run <prompt> 直接在命令行触发 AI 编程任务,以 JSON 事件流格式输出结果。

# 非交互模式:直接传入任务,MiMo Code 自动完成并返回 
mimo run "帮我写一个 Python 快排函数,带注释" --format json   

 

输出示例(JSON 事件流):

{"type":"text","part":{"text":"好的,我来帮你写..."}} {"type":"tool_use","part":{"tool_name":"write_file","input":{"file_path":"quicksort.py",...}}} 
{"type":"step_finish","part":{"tokens":"input":140,"output":133,"reasoning":25,"cost":0}}}    

 

这才是对接的关键:WorkBuddy 通过 MCP 协议调用 mimo run,驱动 MiMo Code 完成编码任务。

实战:从零到跑通,完整步骤

Step 1:安装 MiMo Code

一行命令搞定:

npm install -g @mimo-ai/cli

 

装完后运行 mimo 会引导你注册账号,获取 API Key。

小技巧:长期使用选"Token Plan"最划算。如果只想现阶段免费体验,可以充1元获取API Key,后面选择目前的免费模型就可以了。

Step 2:验证非交互模式能用

mimo run "用一句话回答:1+1等于几?" --format json

 

能正常返回结果,就说明 CLI 装好了,可以继续。

Step 3:写一个最小化的 MCP Server

MCP(Model Context Protocol)是让 WorkBuddy 对接外部工具的协议。简单说就是写一个通过 stdio 收发 JSON-RPC 消息的程序——WorkBuddy 启动它、发工具调用请求、它返回结果。

核心逻辑(mimo_mcp.py):

# 伪代码,展示核心逻辑
class MCPServer:
    def __init__(self):
        self.mimo_exe = self._find_mimo_exe()  # 找到 mimo.exe 原生二进制
        self.api_key = os.environ.get("MIMO_API_KEY")  # 从环境变量读取

    def _mimo_code(self, args):
        """执行 mimo run,返回结果"""

        cmd = [self.mimo_exe, "run", args["prompt"], "--format", "json"]
        # 关键:stdin=DEVNULL,防止 mimo.exe 继承父进程管道导致卡死
        result = subprocess.run(cmd, stdin=subprocess.DEVNULL, ...)
        return self._parse_json_events(result.stdout)

    def _mimo_chat(self, args):
        """调用 MiMo API 直接对话(备用)"""
        client = openai.OpenAI(base_url=..., api_key=...)
        return client.chat.completions.create(...)

    def handle_request(self, request):
        """路由 MCP 请求"""
        if request["method"] == "tools/list":
            return self._tools_list()
        elif request["method"] == "tools/call":
            name = request["params"]["name"]
            if name == "mimo.code":    return self._mimo_code(...)
            elif name == "mimo.chat":  return self._mimo_chat(...)
            elif name == "mimo.health": return self._health_check(...)

 

完整代码可在文末获取。

Step 4:配置 mcp.json,让 WorkBuddy 加载

在 ~/.workbuddy/mcp.json 里加入:

{
  "mcpServers": {
    "mimo-mcp": {
      "command": "C:/Users/Administrator/.workbuddy/binaries/python/envs/default/Scripts/python.exe",
      "args": ["D:/WorkBuddy-Projects/mimo-mcp-simple/mimo_mcp.py"],
      "env": {
        "MIMO_API_KEY": "sk-xxx...",
        "MIMO_BASE_URL": "https://api.xiaomimimo.com/v1",
        "MIMO_DEFAULT_MODEL": "mimo-v2.5-pro"
      }
    }
  }
}

 

保存后重启 WorkBuddy,在连接器管理页面点「信任」,3 个新工具就会出现:

工具名 能力
mimo.code 驱动 MiMo Code 完成编程任务
mimo.chat 轻量对话(直接调 API,不经 CLI)
mimo.health 健康检查

 

Step 5:验证——真的能用了

在 WorkBuddy 里直接说:

"用 mimo.code 帮我写一个 Python 快排函数,带中文注释和测试用例"

结果:MiMo Code 真的创建了 quicksort.py,包含函数式实现、原地排序实现、8 个测试用例。

踩过的坑(省你 2 小时调试时间)
坑 1:.cmd 包装器在子进程里行为异常

最初用 mimo.cmd 启动 CLI,MCP 调用时总是崩溃。原因是 .cmd 是 Windows 批处理脚本,在子进程里会继承父进程的 stdin/stdout,导致管道冲突。解决:直接调用原生二进制 mimo.exe。

坑 2:MiMo v2.5-pro 是 thinking 模型,输出含特殊字符

v2.5-pro 会在回复里加思维链内容(特殊 Unicode 字符),Windows 的 stdio 默认编码处理不了,导致 JSON 解析失败。解决:所有字符串输出前加 .encode("utf-8", errors="replace").decode("utf-8") 做净化。

坑 3:mimo run 继承了 MCP 的 stdin,导致卡死

最阴间的 bug——mimo run 试图从 stdin 读取用户输入(交互模式行为),但被 MCP 调用时 stdin 是管道,读阻塞了,永不返回。解决:启动子进程时加 stdin=subprocess.DEVNULL,彻底隔离。

坑 4:一开始理解错了需求

用户(我自己)说「把 MiMo Code 接进来」,我以为是接 MiMo API,浪费了一轮对话。教训:"MiMo Code"和"MiMo API"是两回事,前者是编程助手(CLI 工具),后者只是大模型接口。对接前先确认要的是哪个。

最终效果:WorkBuddy 里多了一个免费编程外援

现在在 WorkBuddy 里直接说:

# 代码生成 
用 mimo.code 帮我写一个 Redis 缓存装饰器  

# 项目分析 
用 mimo.code 分析 D:/my-project 的目录结构  

# 调试协助 
用 mimo.code 帮我找出这个报错的原因:[粘贴报错信息]

 

MiMo Code 会真正去读写文件、执行命令、运行测试——不只是「建议」你怎么做。

最有价值的部分不是代码本身,而是——

任何有 CLI 的 AI 工具,都可以通过类似方式接入 WorkBuddy。Claude Code、Cursor CLI、Aider……思路一样,会一个就能会一片。

完整 mimo_mcp.py:链接:https://pan.quark.cn/s/cbaceccb4107
提取码:Ar4m

转自:https://mp.weixin.qq.com/s/PliLEMrkNvLJwyxLyOjMPQ