S36 MiMo Code 接入 WorkBuddy,白嫖免费编程助手
- 免费干货
- 5小时前
- 11热度
- 0评论
把 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