拒绝妥协!我用 300 行 Python 破解了 Claude Code 的限制,让纯文本 DeepSeek 长出“双眼”
摘要:为解决终端环境下DeepSeek文本模型无法处理图像的问题,作者开发了mcp-vision-proxy工具。通过虚拟凭证ID机制绕过CLI拦截,结合MCP协议实现前后端解耦:前端生成纯文本凭证ID,后台调用视觉API解析图像并返回结果。该方案采用静态路径拼接解决进程隔离问题,保持终端流畅性,10秒内即可完成图像分析。项目开源地址为xianyu-sheng/mcp-vision-proxy,实
项目开源地址: xianyu-sheng/mcp-vision-proxy 技术栈: Python | MCP (模型上下文协议) | 进程间通信 (IPC) | 全局热键注入
最近 Anthropic 发布的 Claude Code CLI 成了终端开发者的心头好。作为一名长期在 Linux 终端下和 C++、Raft 分布式系统死磕的研发,能够在纯命令行里用大模型辅助 Debug 简直是效率神器。
但我遇到了一个极其致命的痛点:当前推理能力最强的 DeepSeek-V3/R1 是纯文本模型,不具备多模态视觉能力。 当你在调试分布式网络协议或分析复杂的性能火焰图时,一图胜千言。如果你试图在 Claude Code 中使用 DeepSeek,并向它发送一张截图,CLI 就会无情地弹出一个 [Unsupported Image] 的报错。
难道“最强大脑(DeepSeek)”和“多模态视觉”在 CLI 环境下真的鱼和熊掌不可兼得吗?
为了解决这个痛点,我花了一个周末,撸了一个名为 mcp-vision-proxy 的开源工具。通过 MCP 协议 和 凭证码劫持机制,成功实现了瞒天过海,为终端里的 DeepSeek 完美外挂了一双“眼睛”。
⛔️ 踩坑实录:为什么直接传图片不行?
最开始,我的想法很简单:既然 DeepSeek 看不见,那我写个 Python 脚本,监听 Ctrl+Alt+V,把剪贴板图片存到本地,然后把绝对路径 [图片路径: D:/temp/bug.png] 注入到终端,让大模型自己去读不就行了?
结果:大翻车。
根本原因(CLI 原生拦截): Claude Code 的底层逻辑非常“自作聪明”。当它在输入流中正则匹配到了以 .png 或 .jpg 结尾的物理绝对路径时,它会强行拦截,并尝试原生读取文件、转为二进制附加到 API 请求头中。 此时,DeepSeek 的 API 收到带图片附件的请求,直接抛出 HTTP 400:模型不支持图像输入。DeepSeek 连工具都没来得及调用,请求就死在网关了。
🛠️ 破局之道:架构重构与瞒天过海
要让架构跑通,核心在于:如何向终端大模型隐藏真实的图片路径,同时又能让后台服务准确找到图片?
我将系统拆分为了前端极速注入与后台静默解析的双模型级联(Model Cascade)架构:
1. 瞒天过海:虚拟凭证 ID 机制
在我的热键监听模块中,当拦截到图片后,不再注入物理路径,而是生成一个纯文本的虚拟凭证 ID(例如:[视觉凭证 ID: 20260508_190913])。 因为没有文件后缀,Claude Code 的拦截器失效了,它将这串字符当作普通纯文本发送给 DeepSeek。
2. 系统级防线:System Prompt 注入
我更新了大模型的 CLAUDE.md 系统指令,给 DeepSeek 立下军令状:
“当你看到
[视觉凭证 ID: xxx]时,你物理硬盘上不存在同名文件。你绝对不可以使用 Bash 搜索它。你必须立即调用mcp__vision-proxy__analyze_local_image工具。”
3. IPC 隔离挑战:多进程的静态映射
在开发 MCP (Model Context Protocol) 接口时,我又踩了一个深坑。 热键监听是以独立 Python 进程运行的,而 MCP 工具是由 Claude Code 拉起的全新子进程。两者内存不共享(IPC 隔离)。起初我把图片映射关系存在内存字典里,导致 MCP 进程根本找不到图。 最终,我废弃了易失性内存,采用基于文件系统的高性能静态路径拼接,彻底实现了服务的无状态(Stateless)化与高可用。
4. 视觉代理接管
MCP 工具拿到 ID 后,在后台拼凑出真实的物理路径,调用轻量级的 Vision API(如火山引擎、豆包等),将图片解析为精准的 Markdown 文本,并作为 Tool Result 静默返回给 DeepSeek。
🚀 最终效果:极致丝滑的终端多模态

工作流展示:
-
遇到复杂的 C++ 代码报错或系统时序图。
-
截图 -> 终端内按下
Ctrl+Alt+V。 -
瞬间注入:
[视觉凭证 ID: 20260508_xxx] ⚠️系统指令:立即调用工具... -
DeepSeek 瞬间领悟,调用后台视觉代理,在不到 10 秒内给出包含深度逻辑推理的诊断建议!
整个过程中,界面零阻塞,不产生几千字的垃圾文本回显,优雅到极致。
💡 开源寄语
mcp-vision-proxy 的核心设计理念在于“极致解耦”:让专精逻辑推理的 DeepSeek 保持纯粹的大脑作用,把多模态感知的“脏活累活”通过标准的 MCP 协议安全地剥离给外部代理节点。
如果你也苦于终端大模型无法读图,或者想了解如何用 Python 徒手搓一个轻量优雅的 MCP 本地服务,欢迎来体验这套工具!
👉 xianyu-sheng/mcp-vision-proxy (求个 Star ⭐)
如果你在配置过程中遇到任何问题,欢迎在 Issue 区交流,我也会持续迭代这个代理工具。
更多推荐



所有评论(0)