首页/新闻资讯/正文详情

ModLens recover-paste 原理解密:如何从 4 大编码代理的会话存储中“复活“丢失的粘贴图片

发布时间:2026/9/25 4:59:38 来源:云帆数科 栏目:资讯中心
ModLens recover-paste 原理解密:如何从 4 大编码代理的会话存储中“复活“丢失的粘贴图片
ModLens recover-paste 原理解密如何从 4 大编码代理的会话存储中复活丢失的粘贴图片【免费下载链接】modlensThe first vision plugin for DeepSeek Harness, and the vision bridge for every text-only coding agent. Paste an image, get structured JSON evidence (OCR, layout, semantics). | 全网最强 DeepSeek Harness 外挂视觉插件为 DeepSeek、GLM 等纯文本模型外挂视觉能力粘贴图片即得结构化 JSON 证据OCR、版面、语义。项目地址: https://gitcode.com/gh_mirrors/mo/modlensModLens 是为 DeepSeek、GLM 等纯文本编码代理外挂视觉能力的开源插件而它的 recover-paste 子命令解决了一个新手最容易踩坑的问题你在 Claude Code、OpenCode 或 Pi 里粘贴的图片在纯文本模型面前消失了。好消息是这些图片的字节其实从未真正离开过你的电脑——recover-paste 会从 4 大编码代理的本地会话存储中把它们复活还原成真正的图片文件。本文带你看懂这背后的完整原理。一、粘贴的图片为什么会消失当你把一个纯文本模型比如 DeepSeek接入 Claude Code再往输入框里粘贴一张截图时会发生什么呢很多网关或代理会认为这个模型读不了图片于是把图片字节直接剥掉。结果就是聊天里只剩下一个[Unsupported Image]占位符甚至直接报错——图片看起来彻底丢了。但这里有个关键事实几乎所有编码代理都会先把用户消息包括图片的 base64 字节完整落盘到本地会话存储然后才把消息发给远端模型。网关侧的剥离发生在之后本地的这份拷贝从未被删。recover-paste 抓住的正是这一点不去跟网关较劲而是直接翻出本地会话存储里那份原封不动的图片字节。二、解密第一步识别我现在在哪个代理里跑一台电脑上往往同时装着好几个代理如果按哪个会话文件更新就读哪个去抢很容易把 A 工具里的旧会话误当成 B 工具里的粘贴来源。所以 recover-paste 先做宿主检测实现见 src/recoverPaste/detect.ts进程祖先链首选信号调用系统ps拿到进程树从自身沿父进程链向上爬最近的已知代理进程就是真正的宿主。这样即使 OpenCode 是从 Claude Code 里嵌套启动的也能正确定位到接收粘贴的那个输入框。环境变量指纹兜底信号Claude Code 会注入CLAUDE_CODE_SESSION_IDPi 会设置PI_CODING_AGENTOpenCode 会带OPENCODE_PID等——按优先级逐一匹配。检测结论直接决定后面只读哪家代理的存储从根上避免张冠李戴。三、解密第二步读懂 4 大代理各自的会话存储不同代理的存储格式千差万别所以 ModLens 为每家写了一个适配器统一契约定义在 src/recoverPaste/types.ts代理存储位置图片藏在哪Claude Code~/.claude/projects/项目slug/会话id.jsonl用户消息里的 base64 image 块Pi~/.pi/agent/sessions/--编码路径--/*.jsonl用户消息里的 image 块字段略有不同OpenCode~/.local/share/opencode/opencode.dbSQLitepart表里>Codex直接就是临时文件消息里自带image path/tmp/xxx.png标签Claude Code 适配器把当前工作目录编码成项目 slug逐行扫描 JSONL挑出role: user消息中type: image、source.type: base64的块见 src/recoverPaste/adapters/claude.ts。Pi 适配器结构与 Claude Code 几乎同源只是图片块的字段名不同datamimeType见 src/recoverPaste/adapters/pi.ts。两家共用一套 JSONL 扫描框架 src/recoverPaste/jsonl.ts。OpenCode 适配器比较特别图片存在 SQLite 数据库里。ModLens 用 Node 22.13 内置的node:sqlite模块以只读方式连接把part、message、session三张表联查捞出用户消息里的 />七、自己上手一条命令开始恢复安装好 ModLens 后在对应代理的项目目录里运行即可参数与默认行为详见 CLI 手册modlens recover-paste自动检测宿主恢复最近 1 张粘贴图片--count 3一次恢复最近 3 张最多 20--session id精确指定 Claude Code 会话--transcript path直接给出转录文件路径跳过自动定位--harness claude-code|pi|opencode|none强制指定存储范围--out-dir path指定恢复图片的落盘目录如果什么都没找到、或拿回了别的项目的图片故障排查文档 里有一节专门讲 recover-paste 的常见情形与两个覆盖旋钮各家代理的存储差异与路由细节在 docs/harness-setup.md 中。小结recover-paste 的复活并不依赖任何魔法——它只是利用了本地会话存储先于网关剥离这个事实再靠宿主检测、格式适配、归属校验三道关卡确保拿到的就是你在当前项目、当前会话里粘贴的那张图最后安全落盘交给视觉引擎。理解这套原理后你也可以把它作为参考给自己的代理工具链加上同样的兜底能力。【免费下载链接】modlensThe first vision plugin for DeepSeek Harness, and the vision bridge for every text-only coding agent. Paste an image, get structured JSON evidence (OCR, layout, semantics). | 全网最强 DeepSeek Harness 外挂视觉插件为 DeepSeek、GLM 等纯文本模型外挂视觉能力粘贴图片即得结构化 JSON 证据OCR、版面、语义。项目地址: https://gitcode.com/gh_mirrors/mo/modlens创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

智能垃圾管理系统:技术架构与实现详解
智能垃圾管理系统:技术架构与实现详解

1. 项目背景与需求分析社区垃圾管理一直是城市治理中的痛点问题。我去年参与过三个社区的垃圾分类系统改造项目,亲眼目睹了传统管理方式的种种弊端:垃圾桶满溢无人处理、居民分类意识薄弱、清运车辆空跑浪费资源...这些问题不仅影响社区环境,… · 2026/9/25 4:59:38

如何实现B站视频断点续传?bilibili-downloader基于HTTP Range的可靠下载机制源码解析
如何实现B站视频断点续传?bilibili-downloader基于HTTP Range的可靠下载机制源码解析

如何实现B站视频断点续传?bilibili-downloader基于HTTP Range的可靠下载机制源码解析 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downl… · 2026/9/25 4:59:37

Office右侧AI助手关不掉?四种彻底关闭方法及批量处理脚本
Office右侧AI助手关不掉?四种彻底关闭方法及批量处理脚本

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 4:59:36

WPS文档没保存就关闭?三种数据恢复方法全解析
WPS文档没保存就关闭?三种数据恢复方法全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:57:48

从STM32到FOC:汽车电子电机控制入门与进阶路线
从STM32到FOC:汽车电子电机控制入门与进阶路线

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:57:48

STM32+W5500硬件协议栈UDP通讯实战:驱动移植与避坑指南
STM32+W5500硬件协议栈UDP通讯实战:驱动移植与避坑指南

简介:基于STM32F103与W5500以太网模块的UDP通信完整工程,面向物联网嵌入式开发者,解决MCU通过SPI接口接入以太网并实现UDP收发的问题。例程涵盖DHCP动态获取IP、创建UDP、等待客户端连接、关闭连接等关键流程,可直接在Keil中打开&… · 2026/9/25 5:57:36

《电力系统自动化》附录查找全攻略:从官网到作者邮件的实操指南
《电力系统自动化》附录查找全攻略:从官网到作者邮件的实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:57:36

单片机C++开发实战:从C升级到C++的动机、工具链与零开销抽象
单片机C++开发实战:从C升级到C++的动机、工具链与零开销抽象

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:57:36

Altium Designer库导入全攻略:原理图库与封装库安装及常见问题解决
Altium Designer库导入全攻略:原理图库与封装库安装及常见问题解决

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:57:30

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码