Communitygithub.com

sid732/LocalContextRouter

预检路由工具,在本地决定每个文档页面应作为文本、设备端OCR还是图像提供给多模态模型,从而降低视觉Token成本。仅支持macOS。

LocalContextRouter 是什么?

LocalContextRouter 是一个预检路由工具,专为多模态模型(如视觉语言模型)处理PDF文档时设计。当模型直接读取PDF时,它会提取文本并将每个页面渲染为图像,导致视觉Token的浪费——尤其是对纯文本页面。该工具在本地运行一个预检流程,分析每个页面内容,判断其属于纯文本、仅图像(需OCR)还是包含表格、图表等视觉元素,并输出一个JSON结果,指示模型应使用文本、设备端OCR结果还是直接附加图像。它通过减少不必要的图像传递,显著降低视觉Token消耗和成本。该工具仅支持macOS,并通过`pip install localcontextrouter`安装,提供`localctx`命令行接口。整个过程完全离线运行,文档数据不会离开用户机器,适合对隐私敏感的场景。开发者可将此工具集成到Claude Code或自定义AI代理工作流中,在调用多模态模型前对PDF、扫描件或截图进行预处理。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add sid732/LocalContextRouter

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Local Context Router

多模态模型在读取PDF时,通常会提取文本并将每一页渲染为图像,然后同时对两者付费。对于大多是纯文本的页面,图像部分完全是浪费的开销。先运行这个预检工具,只将每页真正需要的内容发送给模型。

使用时机

在用户分享的PDF、扫描件或截图被读取、总结或提取内容之前使用。

依赖

需要安装 localcontextrouter 包(pip install localcontextrouter,仅macOS)。该包提供下文使用的 localctx 命令。

运行

路由文档并读取JSON结果,将视觉页面渲染到文件夹中:

localctx <path-to-document> --json --vision-dir ./lcr-pages

如果 localctx 命令不可用,可以用已安装 localcontextrouter 的Python运行捆绑脚本(该脚本导入同一包):

python scripts/preflight.py <path-to-document> --json --vision-dir ./lcr-pages

使用结果

JSON输出包含 tokens_saved 和一个 pages 数组。每个页面携带 source、text、text_tokens、image_tokens 和 image:

  • source: "text":直接使用 text;不要附加图像。
  • source: "ocr":该页是纯图像,已在设备端通过OCR识别;使用 text。
  • source: "vision":该页是表格、图表或示意图;附加 image 处的图像供模型读取。text 仅作为粗略备选。

按阅读顺序组装文本页和OCR页,只对视觉页面附加图像,并告知用户 tokens_saved(如果用户关心成本)。

注意事项

所有过程均在本地离线运行;文档不会离开当前设备。

相关技能