游乐游手机版
首页/AI教程/文章详情

粘贴截图让Claude Code和DeepSeek对话变烂?开源项目填坑

时间:2026-07-01 14:51
为什么需要本项目? AI CLI 工具配上不支持图片的第三方模型,这事儿有多坑,只有踩过坑的人才懂。Claude Code、OpenCode 这类工具,本身很能打,但一旦套上 DeepSeek 这种不支持多模态的模型,图片理解就成了一个黑洞区域。 传统方案的死结 大多数人的第一反应,是在全局 CLA

为什么需要本项目?

AI CLI 工具配上不支持图片的第三方模型,这事儿有多坑,只有踩过坑的人才懂。Claude Code、OpenCode 这类工具,本身很能打,但一旦套上 DeepSeek 这种不支持多模态的模型,图片理解就成了一个黑洞区域。

传统方案的死结

大多数人的第一反应,是在全局 CLAUDE.md 里写规则,强行要求模型用某个 Skill 或 MCP 去处理图片。这个思路听起来没毛病,但实际跑起来就会碰上一个绕不过去的硬伤:

Claude Code 在系统层面硬编码了一条指令——粘贴图片时必然调用 read 工具,直接把图片原样丢给模型。这条系统指令的优先级高于 CLAUDE.md,所以不管你在规则文件里怎么写,它都拦不住。

结果呢?Ctrl+V 一张截图,模型拿到的是海量 base64 数据——不支持图片的模型要么直接报错,要么胡说八道。整段对话就此报废,根本无法继续。

更让人头疼的是,日常 Debug 时很少有人会先把截图存成文件再传给工具——直接截图、粘贴到剪贴板、Ctrl+V 三步搞定才是天经地义的工作流。传统方案只适合“先保存为文件,再给路径”的场景,跟真实使用习惯完全不搭。

本项目的解法

两套机制组合拳:图片整流器 + 图片分析技能。

场景 传统方案 本项目
Ctrl+V 粘贴剪贴板图片到 Claude Code ❌ 系统硬编码 read,直接发给模型,对话烂掉 ✅ 整流器在袋里层拦截,替换为文本提示,引导模型调用 Skill
给定图片文件路径 ⚠️ CLAUDE.md 规则勉强可用,但不同 CLI 行为不一致 ✅ 整流器统一拦截,不依赖 MD 文件规则
OpenCode 粘贴剪贴板图片 ❌ OpenCode 不生成临时文件,路径都拿不到 ✅ Skill 脚本自动检测:有路径读文件,没路径直接从剪贴板读取
多 Provider 切换 ❌ 单个模型挂了就挂了 ✅ Fallback 机制,30+ Provider 自动切换

两层防线的分工

  1. 图片整流器(袋里层) —— 在请求发出前进行拦截。它会扫描 messages 中的 base64 图片块,移除原始数据,替换为一段文本提示,引导模型去调 Skill。整个过程在模型看到请求之前就完成了。

  2. 图片分析技能(CLI 工具) —— 被模型调用后,智能判断图片来源:传了本地路径就读文件,没传路径就从系统剪贴板直接读。兼容 Claude Code(粘贴会生成临时文件)和 OpenCode(粘贴不生成临时文件)两种行为。

原项目简介

CC Switch 本质上是一款管理 AI CLI 工具的桌面应用, Claude Code, Codex, Gemini CLI, OpenCode 这类 CLI 工具的管理器都有了但它还能搞定 Provider 管理; MCP/Skills ...manage and usage statistics are also included in order to seamlessly organize everything within a single place and control panel; This fork adds functionality specifically designed for scenarios where AI CLI toolsinterface with third-party APIs that lack multimodal (visual understanding) support, solving那個 pain point regarding图片输入, 虽然 CC Switch 原本是管理 CLI工具的角色, 但这个 fork在此基础上增加了针对图片输入的处理能力直击痛点: 大量第三方 API 供应商不支持多模态输入/视觉理解。

本分支新增功能

1. 图片整流器

核心要解决的问题: 大量第三方 API 供应商(尤其是中转站、非官方接口)根本不支持多模态。一旦请求的 messages 数组里出现 type: "image" 的 base64 图片块,这些供应商要么报错,要么行为怪异。

解决方案: 整流器在袋里层充当拦截器,在请求转发之前抢先一步。它扫描 messages[*].content,一旦发现 type: "image" 块,就直接移除 base64 数据(通常有好几 MB),替换成一段文本提示,引导模型调用指定的 skill 来处理图片。

关键特性:

  • 自动检测并替换 messages 中的 type: "image"
  • 有图片缓存引用时会自动提取文件路径拼入提示
  • 可配置调用的 skill 名称(默认 image-analysis
  • 与下方的图片分析技能无缝配合

配置方式: 在 CC Switch 的「路由设置 → 整流器区域 → 图片整流器」中打开开关,还能按需修改 skill 名称。

2. 图片分析技能

一个独立的 Python 命令行图片视觉识别工具,兼容任何能执行 Shell 命令的 AI CLI。换句话说,只要你的 CLI 能跑命令,它就能用。

核心能力:

  • 支持本地图片(jpg/png/gif/webp/bmp)、网络图片 URL、系统剪贴板(macOS AppleScript)
  • 多图对比——多次使用 --image 参数即可
  • Fallback 机制:按配置顺序依次尝试所有 provider,失败自动切换,第一个成功的结果会标注 [provider名] 后返回

预置了 30+ AI Provider,这里列举部分:

平台代表模型
火山引擎豆包 Seed 2.0 Pro/Lite/Mini、Vision 250815
硅基流动Qwen3.6-35B-A3B、Qwen3.6-27B
阿里百炼Qwen3.6 Plus/Flash、Qwen3.5 Omni、Kimi K2.6、MiniMax M2.5
智谱GLM-4.6V-Flash
商汤SenseNova-6.7-Flash-Lite

与图片整流器的联动逻辑:当某模型不支持图片时,整流器将图片块替换成文本提示,引导模型去调用 Skill;模型收到指令后自动通过 CLI 完成实际视觉分析。整个过程对用户透明,你不需要手动去执行 Python 脚本。

3. dev.sh — 开发启动脚本

封装了 pnpm tauri dev / pnpm tauri build 的便捷脚本:

./dev.sh              # Debug 模式(默认)
./dev.sh debug        # Debug 模式(含请求体打印)
./dev.sh release      # Release 模式
./dev.sh build        # Release 编译

脚本中预置了 CARGO_HTTP_PROXY,方便国内网络环境下编译 Rust 依赖。

安装

从源码编译:

git clone https://github.com/piaomiaoguying/cc-switch.git
cd cc-switch
./dev.sh build

使用流程

第一步:注册 AI Provider 并获取 API Key

项目预置了多个平台的视觉模型,都有免费额度。选自己习惯的平台注册即可:

平台代表模型注册地址
阿里百炼Qwen3.6 Plus/Flash、Qwen3.5 Omni 等dashscope.aliyun.com
智谱GLM-4.6V-Flashopen.bigmodel.cn
硅基流动Qwen3.6-35B-A3B 等siliconflow.cn
火山引擎豆包 Seed 2.0 Pro/Lite/Miniconsole.volcengine.com
商汤SenseNova-6.7-Flash-Liteplatform.sensenova.cn

注册后获取 API Key,填入 Skill 配置文件:

cp skills/image-analysis/scripts/config.example.json skills/image-analysis/scripts/config.json
# 编辑 config.json,将各个平台的 API Key 填入对应字段

第二步:配置全局 CLAUDE.md

在全局 CLAUDE.md(路径 ~/.claude/CLAUDE.md)中加入以下规则,禁止直接使用 read 工具读取图片:

## 图片处理规范
禁止使用 `read` 工具读取任何图片文件(如 .png, .jpg, .jpeg)
必须使用 image-analysis 这个 skill 来分析图片
当模型返回不支持直接接收图片输入时,自动调用 image-analysis 这个 skill 来分析图片

第三步:导入 Skill 到 AI CLI

推荐通过 CC Switch 统一管理 Skill,避免手动复制文件夹的麻烦:

  1. skills/image-analysis 配置文件夹放在 CC Switch 目录下
  2. 打开 CC Switch → Skills 管理
  3. 在 Claude Code 和 OpenCode 对应的 Skill 开关处,开启 image-analysis

这样 CC Switch 会自动将 Skill 同步到各 CLI 的 Skill 目录。

第四步:配置 CC Switch 路由与整流器

这一步最关键,需要打开三层开关:

① 打开本地路由

进入 CC Switch → 路由设置:

  • 打开本地路由总开关
  • 打开 Claude Code 的路由开关(容易漏掉:总开关开了但 Claude Code 开关没开)

② 配置图片整流器

在路由设置界面往下滑,找到整流器区域:

  • 打开整流器总开关
  • 打开图片整流器开关
  • 在 Skill 名称输入框中填入 image-analysis

完成

以上配置完成后,正常启动的 Claude Code 实例通常能立即生效。如果老的实例没反应,重启一个新实例即可。此时模型的网络请求会经过 CC Switch 袋里,CC Switch 会对会话数据进行拦截修改。

之后的整体流程是这样的:

Ctrl+V 粘贴图片 → CC Switch 袋里拦截 → 移除 base64,替换为文本提示
→ 模型收到文本,调用 image-analysis Skill → Skill 读取图片并返回分析结果

从实际体验来看,这套方案最大的价值在于:它跟人的自然工作流完全对齐——不需要提前存文件、不需要手动切工具、不需要担心不同 CLI 之间行为不一致。对于经常跟不支持多模态的模型打交道的人来说,算是真正解决了核心痛点。

来源:https://juejin.cn/post/7642304739913400370
上一篇Git Worktrees入门与Claude Code多任务隔离方案详解 下一篇Claude命令使用指南与常见问题解答完整版
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
刚刚,OpenClaw和Cursor杀入手机!
AI教程 · 2026-07-01

刚刚,OpenClaw和Cursor杀入手机!

AI Agent,真的开始从电脑里“跑出来”了。以前我们用 Agent,基本离不开网页、IDE、终端、云环境。你想让它写代码、查资料、改项目、跑任务,很多时候还得坐在工位前盯着。但现在不一样了。OpenClaw 推出了 iOS 和安卓原生 App,手机可以变成私有 Agent 网络里的一个移动节点。

幻灯片排版优化AI智能助手,节省时间与精力
AI教程 · 2026-07-01

幻灯片排版优化AI智能助手,节省时间与精力

说起来,今天想和大家聊聊一个特别实在的话题:怎么用AI工具把PPT排版效率提上去,真正省下时间和精力。谁不想在忙忙碌碌的工作里找到点儿省事的诀窍呢?我有个朋友,为了准备一次重要汇报,连着熬了三个晚上折腾PPT,最后出来的效果也就是勉强及格。要是当时他能用上AI工具,结果会不会完全不一样?PPT排版优

AI排版软件让文档制作轻松又高效
AI教程 · 2026-07-01

AI排版软件让文档制作轻松又高效

AI智能排版工具通过自动识别文档结构、调整格式,显著提升排版效率。实际案例显示,文档处理时间可缩短约50%,项目交付效率提高40%。其功能涵盖自动排版、模板库、智能校对等,重构了文档制作流程,使用户专注内容创作,提升专业形象与市场竞争力。

Karpathy晒邮件曝光注意力机制真正起源:10年前三项独立研究
AI教程 · 2026-07-01

Karpathy晒邮件曝光注意力机制真正起源:10年前三项独立研究

2014年,三项研究几乎同时独立提出注意力机制:DzmitryBahdanau在YoshuaBengio实验室开发出RNNSearch(后称注意力),AlexGraves和JasonWeston团队也发表了类似机制。该思想源于解决循环神经网络信息瓶颈的需求,采用可微加权平均,成为深度学习核心算法。

如何选择AI排版工具与技巧提升内容创作效率
AI教程 · 2026-07-01

如何选择AI排版工具与技巧提升内容创作效率

AI排版工具推荐与技巧:如何提升内容创作效率与视觉设计效果其实,AI排版早已成为内容创作领域的热门话题。在信息爆炸的时代,大家都想知道如何让内容在海量信息中脱颖而出。简单来说,AI排版就是借助人工智能技术自动化处理文本、图像等内容的布局与设计。不妨想象一下:星巴克菜单上那些赏心悦目的排版,背后可能就