跳到主要内容

本地小工具

除了账号、路由、MCP 和技能这些主线功能,AI Switch 还带了两个日常用得上的小工具,都在侧边栏「系统」分组下:

  • 加解密:文本的 Base64 / URL / Hex 双向转换。
  • OCR识别:从图片里提取英文和数字,全程离线。

这两个工具的共同点是完全不联网。它们不调用任何远程服务,也不消耗你的算力池额度。

加解密

日常拿到一段 Base64 编码的 token、一个 URL 编码过的回调地址、或者一段 Hex 表示的字节,想看看里面是什么——这个工具就是干这个的。

界面很简单:左边输入框,右边选转换方式,下面是输出框和复制按钮。输入即转换,没有"执行"按钮。默认选中的方式是 Base64 解码,因为这是最常见的需求。

六种转换方式

方式行为
Base64 编码文本按 UTF-8 编码成字节,再转 Base64
Base64 解码Base64 转字节,再按 UTF-8 解码成文本
URL 编码等价于 encodeURIComponent
URL 解码等价于 decodeURIComponent
Hex 编码文本按 UTF-8 编码成字节,输出小写十六进制,每字节两位
Hex 解码十六进制转字节,再按 UTF-8 解码成文本

三点行为细节:

  • 解码时会先去掉所有空白字符。 从终端或日志里复制过来的、被换行折断的 Base64 和 Hex 可以直接粘贴,不用手工拼成一行。
  • UTF-8 解码是严格模式。 字节序列不是合法 UTF-8 时会报错,不会给你一串乱码字符。
  • Hex 输出是小写、无分隔符68656c6c6f 而不是 68 65 6C 6C 6F)。

四种错误提示

提示触发条件
Base64 内容无效。含 Base64 字母表外的字符,或去空白后长度模 4 等于 1
URL 转义内容无效。存在残缺的百分号转义(如末尾孤立的 %A
Hex 内容必须是偶数长度。去空白后长度为奇数
Hex 内容只能包含 0-9 和 A-F。含十六进制之外的字符

出错时输出框清空,只显示提示——不会给出半截结果让你误以为转换成功了。

它只做编码,不做加密

Base64、URL 编码、Hex 都是可逆编码,不是加密:任何人拿到编码后的字符串都能还原出原文。这个工具用来查看和转换格式,不要拿来"保护"任何东西。界面标题里的"加解密"指的是这类编解码操作。

OCR 识别

从截图里抠文字。典型场景:服务商控制台里的 API Key 只能截图不能复制、文档截图里的一串配置、报错弹窗里的一行 ID。

三步用完

  1. 给图。两种方式:
    • 点「选择图片」挑一个文件(支持 PNG、JPEG、GIF、BMP、WebP)。
    • 直接在这个界面按 Ctrl+V 粘贴剪贴板里的图片——截完图不用先存盘。
  2. 右侧出现预览,确认是不是想要的那张。
  3. 点「开始识别」,结果出现在下方文本框里,可以直接选中复制。

选到非图片文件会提示"请选择图片文件。";剪贴板里没有图片会提示"剪切板中没有图片。";没给图就点识别会提示"请先选择图片再识别。";识别过程本身出错提示"OCR 识别失败。"。

完全离线

这是这个工具最值得强调的一点。识别引擎是 ocrad.js——一个编译成 JavaScript、跑在浏览器/WebView 里的 OCR 库。整个流程是:

  1. 图片被读成一个本地 blob URL,渲染到 <img> 元素上做预览。
  2. 点识别时,图片被绘制到一个内存里的 <canvas>
  3. OCR 引擎直接读这个 canvas 的像素数据,在同一个进程里算出文字。

所以:

  • 图片不会被上传到任何地方。 没有远程 OCR API,没有云端识别服务。
  • 不消耗算力池额度。 它跟你配置的那些 AI 账号完全无关。
  • 断网可用。
  • 图片不落盘。 预览用的 blob URL 在界面销毁时被释放,AI Switch 不保存图片副本。

Web 服务模式下计算发生在浏览器侧

OCR 是纯前端计算。桌面端在应用进程里跑;Web 服务模式 下则在你的浏览器里跑——图片连服务器都不会经过。这对隐私更有利,但也意味着大图在性能弱的设备上会比较慢。

识别能力的边界

界面上有一条黄色提示:"更适合英文、数字和简单截图。" 这不是客套,是引擎的真实边界:

  • 不识别中文。 引擎的字符集面向拉丁字母和数字。
  • 高对比度、深色字浅底、字号偏大的截图效果最好。
  • 花哨背景、渐变、半透明遮罩、极小字号会显著降低准确率。
  • 识别结果不保证准确,用于 API Key 这类不能错一个字符的内容时,务必逐字核对。

如果结果不理想,可以试试:把截图放大之后重新截、裁掉无关区域只留文字、或者换成浅底深字。

录入 API Key 时的 OCR

同一个 OCR 引擎在账号界面里被复用了一次。新建或编辑 API 类型凭据时,API Key 输入框旁边有一个 OCR识别 按钮:

  1. 点按钮,它先尝试读系统剪贴板里的图片。
  2. 剪贴板里没有图片(或浏览器不支持剪贴板读取)时,提示"剪切板中没有图片,请选择图片文件。"并自动打开文件选择器。
  3. 识别之后,结果不是原始 OCR 文本,而是从中提取出的 API Key 候选。

提取用的是几组常见密钥形态的正则:

形态说明
sk- 开头的长串大量 OpenAI 兼容服务商用这个前缀
AIza 开头的长串Google 系 API Key 的常见前缀
三段点分隔的 Base64URLJWT 形态的 token

识别到多个候选时按行全部列出,让你自己挑。一个都没匹配上时回退成输出原始识别文本(去掉空行),至少你不用重新截一次图。

因为 OCR 换行可能把一个长密钥断成两截,提取会在原文和"每行去掉所有空白后"的版本上各跑一遍,两边的结果合并去重。

识别不到任何内容时提示"未识别到 API Key。",识别失败时提示"OCR 识别失败,请换一张更清晰的图片。"。

粘进去之后一定要核对

OCR 会认错字符——0O1l5S 是常见的混淆。API Key 错一个字符就完全不可用,而且报错通常只是笼统的鉴权失败,很难看出是哪一位错了。识别完先跟原图对一遍,或者直接跑一次 模型连通性测试 验证这条凭据真的能用。

下一步

基于 MIT 许可发布