章节 01
导读 / 主楼:cc-VisionRouter:让非多模态模型在Claude Code中安全处理长程任务的透明代理方案
cc-VisionRouter是一款专为Claude Code设计的透明代理工具,通过智能分流机制自动将含图片的请求路由到多模态模型,避免非多模态主力模型因无法处理图像而崩溃,让开发者能够安心使用第三方模型执行长程任务。
正文
cc-VisionRouter是一款专为Claude Code设计的透明代理工具,通过智能分流机制自动将含图片的请求路由到多模态模型,避免非多模态主力模型因无法处理图像而崩溃,让开发者能够安心使用第三方模型执行长程任务。
章节 01
cc-VisionRouter是一款专为Claude Code设计的透明代理工具,通过智能分流机制自动将含图片的请求路由到多模态模型,避免非多模态主力模型因无法处理图像而崩溃,让开发者能够安心使用第三方模型执行长程任务。
章节 02
章节 03
在使用Claude Code配合第三方API(如mimo、各类国产或自建模型)执行开发任务时,尤其是长程任务场景,开发者经常会遇到一个令人头疼的问题:任务跑到一半突然中断,系统提示"There's an issue with the selected model..."。
这个问题的根源往往不是模型本身不存在或没有访问权限,而是主力模型不支持多模态能力。当上下文中混入任何图片——无论是用户粘贴的截图、工具返回的图像,还是/compact压缩历史时扫到的早期图片——请求就会带着图片数据发送给一个无法解析图像的模型,导致会话直接崩溃。
对于短对话来说,重开一把尚可接受。但对于已经积累了几十轮对话、数十万token的长程任务,这种中断是毁灭性的:上下文无法自动续接,所有进度付诸东流。这是所有希望使用第三方模型运行自主代理或长任务开发者的共同噩梦。
章节 04
cc-VisionRouter的核心设计思路是按内容类型智能分流。它作为Claude Code与上游API之间的透明代理,不改变用户的工作流程,只做一件事——检查每个请求是否包含图片,然后决定将其路由到哪个模型:
Claude Code → cc-VisionRouter → 上游 API
│
├─ 含图片/文档 → 多模态模型(用户指定)
├─ 背景/压缩任务 → 多模态模型(历史里可能有图)
└─ 其余纯文本 → 主力模型
这种分流机制带来了几个关键优势:
日常编码零改变:开发者可以继续使用最强或最经济的主力模型进行日常编码工作,无需任何调整。
图片自动分流:当请求中包含图片时,自动路由到多模态模型处理,主力模型永远不会"看到"它无法理解的内容。
长任务安全压缩:在执行/compact压缩含图历史时,也会自动使用多模态模型,避免在自动压缩环节因图片处理而崩溃。
无需手动切换:全程不需要手动执行/model切换模型,代理自动处理模型名翻译、[1m]后缀处理以及settings文件的改写与还原。
章节 05
Claude Code的后台请求(如/compact、对话压缩、总结等,通常使用haiku档模型)是在整段对话历史上运行的,而历史记录中可能包含图片。如果将这些请求发送给不支持图片的主力模型,会导致报错甚至会话崩溃。因此,cc-VisionRouter会将背景/haiku请求也路由到视觉模型(多模态、通常更轻量),既保证了安全性又节省了token消耗。
背景请求的识别是自动进行的,代理会探测Claude Code的haiku/small-fast模型名,无需用户额外配置。
章节 06
Claude Code发送的请求中的model字段会被直接替换为用户配置中的真实模型ID,再转发给上游API。这意味着用户无需关心Claude Code端配置的模型名与上游真实model ID之间的不一致问题,代理完全屏蔽了这一层差异。
章节 07
许多ccswitch或国产1M模型的配置中,模型名带有[1m]后缀(如mimo-v2.5-pro[1m])。Claude Code会对这类后缀进行客户端校验,如果上游不认识就会直接报错。cc-VisionRouter在start时会自动将~/.claude/settings.json中模型字段的[...]标记剥离(原值已备份,stop时还原)。
章节 08
该工具要求Node.js ≥ 18(使用原生fetch和Web Streams API)。
全局安装(推荐):
npm install -g cc-visionrouter
cc-visionrouter
从GitHub直接安装(始终最新):
npm install -g github:Able-rip/cc-VisionRouter
基本命令:
cc-visionrouter # 交互式菜单
cc-visionrouter config # 配置模型
cc-visionrouter start # 启动代理
cc-visionrouter stop # 停止代理
cc-visionrouter status # 查看状态
cc-visionrouter logs # 查看日志
配置过程中支持← 返回上一级和Esc返回操作。配置完成后会自动使用最小请求(max_tokens:1)测试baseUrl、API key和model是否真正可用,测试通过后才允许保存,避免配置错误导致代理无法运行。