Shotcache开源:Chrome扩展配Windows程序实现截图直投AI
速览
Shotcache是一款开源工具,旨在优化AI工作流中的截图输入体验。它利用Windows伴生程序提供类似微信截图的热键框选与标注功能,并通过Chrome扩展将截图、链接或代码一键注入Claude、ChatGPT等AI平台的输入框。该项目采用WXT+TS+C#技术栈,代码完全开源可审计,解决了传统截图中转繁琐、剪贴板覆盖及记录缺失的痛点。
AI 深度解读
背景
在当前的 AI 交互工作流中,向大语言模型(LLM)输入视觉素材(如截图、代码片段、文档图片)是一个高频但体验割裂的场景。传统的操作流程往往涉及“截图 -> 切换应用 -> 粘贴 -> 切换回原应用”的循环,这种碎片化的操作不仅效率低下,还受限于剪贴板只能保留单条数据的特性,导致多张素材难以一次性整理发送。
虽然微信等桌面应用提供的截图工具(如 Alt+W)提供了优秀的“热键唤起、屏上框选、即时标注”体验,但其缺点在于截图后不留存记录,且无法直接集成到 AI 对话流中。另一方面,纯 Chrome 扩展受限于 Manifest V3 (MV3) 的安全策略,无法在浏览器外部触发全局热键,也无法在系统层面进行全屏覆盖层的框选,导致浏览器内的截图体验远不如原生桌面应用流畅。
为了解决这一痛点,开发者 Robinxplorer 开源了 Shotcache 项目,旨在通过“Chrome 扩展 + Windows 伴生程序”的混合架构,结合两者的优势,打造一种接近微信截图体验、同时能无缝服务于 AI 工作流的截图工具。
核心内容
Shotcache(中文名:截存)是一个开源项目,其核心设计理念是将“截图与标注”的交互体验下沉至 Windows 原生程序,而将“存储与注入”的逻辑保留在 Chrome 扩展中,从而服务于 AI Agent 的上下文构建。
工作流体验
Shotcache 试图还原甚至超越微信截图的操作流畅度:
- 热键唤起:用户可在任意应用状态下按下
Ctrl+Alt+A(支持自定义)触发截图。 - 零干扰框选:系统出现全屏覆盖层,用户可直接在屏幕上框选区域。
- 即时标注:框选区域旁出现工具条,支持矩形、椭圆、箭头、文字、马赛克、表情等标注,提供 8 种颜色和 3 档粗细选择。标注完成后按回车确认。
- 焦点恢复:整个过程中零弹窗、零标签页切换,操作完成后焦点自动回到用户原本的应用程序。
数据存储与注入
截图完成后,数据会同时进入两个通道:
- 剪贴板:立即可用,支持直接粘贴。
- 托盘暂存:截图及备注信息会保存在系统托盘中,保留期为 7 天。
在托盘界面,用户可以勾选多个条目(包括截图、链接、备注、代码片段),然后一键注入到 Claude、ChatGPT 或 Gemini 的输入框中。对于代码片段,系统会自动将其包裹在 Markdown 代码块(```)中,确保格式正确。
高级功能
- 滚动长截图:支持在框选后手动滚动页面,系统通过图像匹配去重算法自动拼接长图,完成后进入编辑器进行标注。
- 编辑能力:编辑器具备“选择”工具,允许用户选中已绘制的标注进行修改,而非仅支持新建。
技术架构与安全性
- 双端架构:
- Windows 伴生程序:使用 C# WinForms 开发,利用 Windows 原生 API 实现全局热键和屏幕覆盖层。
- Chrome 扩展:基于 WXT + TypeScript 开发,遵循 MV3 规范,零 UI 框架。
- 通信机制:两者通过一条常驻的
native messaging端口通信,并内置了断线指数退避重连机制。 - 开源与审计:伴生程序使用 Windows 自带的
csc.exe编译,仓库中不包含任何二进制文件,用户需 clone 代码后自行编译,确保代码完全可审计。 - 权限最小化:
- 注册表操作仅限
HKCU(当前用户),无需管理员权限,无开机自启(随 Chrome 启停)。 - 扩展权限极小,不包含
<all_urls>、activeTab或scripting权限,仅拥有三个特定 AI 站点(Claude/ChatGPT/Gemini)的 host 权限。
- 注册表操作仅限
- 降级方案:如果不安装 Windows 伴生程序,扩展仍可运行,但会降级使用 Chrome 自带的屏幕选择器,体验略逊于原生方案。
目前该项目仅支持 Windows 伴生程序,macOS 和 Linux 用户仅能使用扩展的降级功能。项目采用 LGPL-2.1 开源协议,尚未上架应用商店,需通过 npm run build 手动加载未打包的扩展。
关键要点
- 痛点解决:解决了 AI 交互中截图素材管理碎片化、多素材难以批量发送、以及浏览器扩展无法提供全局截图体验的问题。
- 混合架构:采用“Windows 原生程序(负责交互)+ Chrome 扩展(负责存储与注入)”的模式,兼顾了桌面级的流畅体验和 Web 端的自动化能力。
- 无缝集成:支持一键将多张截图、代码、备注注入到 Claude、ChatGPT、Gemini 等主流 AI 工具的输入框,并自动处理代码格式化。
- 安全透明:
- 伴生程序源码开放,需用户自行编译,无预编译二进制,杜绝后门风险。
- 扩展权限严格控制,仅针对特定 AI 站点,无广泛浏览权限。
- 无管理员权限需求,无开机自启,隐私侵入性极低。
- 功能丰富:支持全局热键、屏上框选、多种标注工具、滚动长截图拼接、以及标注的二次编辑。
- 局限性:目前仅支持 Windows 平台的完整体验(macOS/Linux 仅支持扩展降级功能);站点选择器需随 AI 平台改版而手动维护;长截图拼接算法仍有优化空间。
意义与影响
Shotcache 的出现标志着 AI 辅助工作流工具正从“单一功能插件”向“系统化上下文管理层”演进。
- 重新定义人机交互边界:它打破了浏览器沙箱的限制,证明了通过合法的 Native Messaging 机制,Web 应用可以安全地调用原生系统能力,从而提供媲美原生应用的交互体验。这对于需要深度集成系统功能的 Web 扩展开发具有参考价值。
- 提升 AI 数据摄入效率:对于开发者、研究人员和内容创作者而言,快速、结构化地摄入视觉和代码上下文是提升 AI 使用效率的关键。Shotcache 提供的“截-存-注-投”一体化流程,显著降低了上下文构建的认知负荷和操作成本。
- 开源社区的实践典范:该项目在安全性(权限最小化、代码可审计)和用户体验(微信级流畅度)之间取得了良好的平衡,并主动寻求社区反馈以优化站点适配和长截图算法,体现了开源协作的价值。
- 对 AI Agent 生态的补充:随着 AI Agent 的发展,对多模态输入的需求日益增长。Shotcache 作为一个轻量级的“上下文输入层”,为构建更智能、更高效的 AI 工作流提供了基础设施层面的支持。
