热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai教程 >Ctrl+V 粘贴截图,Claude Code + DeepSeek 直接烂对话?这个开源项目把坑填了

Ctrl+V 粘贴截图,Claude Code + DeepSeek 直接烂对话?这个开源项目把坑填了

来源:互联网 更新时间:2026-07-01 08:33

为什么需要本项目?

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 之间行为不一致。对于经常跟不支持多模态的模型打交道的人来说,算是真正解决了核心痛点。

热门手游

相关攻略

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc