ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

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

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),仅供参考
返回列表