DeepSeek Harness 插件

dsh-locallens

Local macOS Vision OCR for DeepSeek Harness: read text from screenshots, clipboard images, or files with no upload.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
uknowmyface/locallens
最近更新
2026年8月14日
分类
工具与能力
GitHub stars
2
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/uknowmyface/locallens
插件名:dsh-locallens
作者:uknowmyface

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh-CN.md来源说明 · 只读预览
README 语言

<div align="center">

LocalLens

用 macOS 自带的 Vision OCR 让纯文本模型读截图,图片不出本机。

English · [安全说明](#安全说明) · [SECURITY.md](SECURITY.md)

![区域截图,对话框里说一声,文字就出来了](docs/demo.gif)

</div>

> 非官方社区项目,与 DeepSeek、Apple 无隶属、背书或赞助关系。"DeepSeek"、"Apple"、"macOS"、"Vision" 为各自权利人的商标,此处仅用于说明兼容性。

简介

DeepSeek Harness (dsh) 插件,识别截屏、剪贴板图片、图片文件里的文字。调用 Apple Vision 框架(macOS 实况文本背后的引擎),不经过视觉模型,不需要 API key,不联网。

同类插件(visionDS、dsh-vision-router、dsh-vision-sidecar 等)都是把图交给视觉模型处理。本插件不用模型,因此没有额度、Key 和上传,代价是只能读字、且仅支持 macOS。

LocalLens视觉模型类插件
识别方式系统 OCR 引擎视觉模型(云端 / 托管 / 本地 VLM)
图片去向不出本机上传或喂入模型
Key / 注册 / 额度不需要通常需要
输出图中文字图片描述
平台仅 macOS多数跨平台

环境要求

  • macOS 13 (Ventura) 及以上。低于 13 时 recognitionLanguages 不可用,languages 参数被忽略,中文精度下降。
  • Xcode 命令行工具(xcode-select --install)。首次调用时用 /usr/bin/swiftc 编译 Swift 助手,无需完整 Xcode。
  • DeepSeek Harness,Node.js 22+。

安装

dsh plugin --profile web add github:uknowmyface/locallens

包内自带 cordis.patch.yml(由 dsh.bundle.patch 声明),dsh plugin add 会连装带注册一并完成,不修改你自己的 profile 补丁层。web 替换为实际 profile 名。新开会话后生效。

用法

在对话框里直接说。无快捷键、无菜单栏图标、无后台进程。

剪贴板(最常用):Cmd+Ctrl+Shift+4 拖选区域,截图直接进剪贴板,然后说"看看剪贴板这个报错"。

图片文件:"读一下 ~/Desktop/bug.png 里的文字"

整屏:"截个屏看看现在屏幕上是什么"。抓取整个主显示器,需要「屏幕录制」权限。

结果落进对话上下文,可直接接续处理:

OCR 剪贴板,把里面的表格整理成 markdown
读一下这个报错截图,然后在项目里搜一下是哪儿抛的

参数

由 agent 填写,列出备查。

参数取值说明
sourcescreen / clipboard / file必填,输入来源
path文件路径source=file 时必填,不做工作区限制
languages逗号分隔 BCP-47默认 zh-Hans,en-US

返回 { text, source, lineCount, warning? }

配置

改默认语言不需要 fork,在 profile 自己的 cordis.patch.yml 里按 id 覆盖即可(用户层在所有 bundle 层之后应用):

- id: tool-screenshot-ocr
  config:
    languages: 'ja,en-US'

隐私边界

留在本机:图片文件和截屏由 Vision 在本地进程读取,不上传。OCR 计算不涉及网络。项目内无遥测、无网络调用。

不留在本机:识别出的文字作为工具结果进入模型上下文,发送给你配置的模型服务商,路径与手动输入的内容相同。

准确表述是"图片不经过第三方视觉服务",而非"数据完全不上云"。截图内容若不适合粘进对话框,就不要 OCR。

安全说明

OCR 输出属于不可信输入。 文字来自屏幕或图片上的任意内容,可能由第三方构造。dsh agent 具备 shell 和文件系统权限,因此该风险实际存在。插件将结果包裹在 <untrusted-ocr-text> 标记内,并在工具描述中要求模型按数据处理而非执行。这是提示词层面的缓解,不构成安全边界。处理来源不明的图片时,应比照"让 agent 访问不可信网站"的谨慎程度。

source=screen 抓取整个主显示器。 无区域或窗口限制,包含聊天窗口背后的全部内容(密码管理器、验证码等)。屏幕含敏感信息时改用 clipboard。区域与窗口截取在计划中。

source=file 无沙箱。 可读取当前用户权限下的任意图片文件。

「屏幕录制」权限按应用授予。 授予终端等同于授予从该终端启动的所有进程,macOS 机制所限,插件无法收窄。clipboardfile 不需要任何权限。

漏洞报告见 [SECURITY.md](SECURITY.md)。

能力边界

Vision 框架另有约 1300 类的图像分类器、猫狗检测、人脸与条码检测等能力,本插件仅使用 VNRecognizeTextRequest

分类器返回的是粗粒度标签(dogdocumentbeach),不是描述。需要理解画面内容时应使用视觉模型,本插件不做替代。

工作原理

1. assets/ocr.swift 是一个基于 VNRecognizeTextRequest 的 Swift CLI,识别精度 .accurate,开启语言矫正。 2. 首次调用时编译为 bin/ocr(约 10 至 20 秒),之后按 mtime 复用。 3. screencapture 截屏,Vision 提取文字,结果以纯文本返回。全流程在设备上完成。

二进制缓存在源码同级目录,可写入插件目录者即可在 dsh 宿主进程中执行代码。该信任边界与 ~/.dsh 其余部分一致。

卸载

dsh plugin --profile web remove @locallens/dsh-tool-screenshot-ocr

包与 bundle 层一并移除,profile 配置无残留。

贡献

欢迎 issue 和 PR。以下方向明确需要,按价值排序:

Windows 版本。 Windows 10+ 内置 Windows.Media.Ocr,与 Apple Vision 同构:系统级 OCR,无模型、无上传、无 Key。工具契约(lib/index.js)可原样复用,只需替换引擎层。这是目前最大的缺口。

区域与窗口截取。 screencapture 支持 -R x,y,w,h-l <windowid>,接进 source 参数即可,能显著收窄整屏抓取的数据面。

Linux 版本。 无系统级等价物,可考虑 Tesseract,代价是需要额外安装依赖。

PDF 输入。 目前只接位图,PDF 需先渲染。

多语种实测。 默认 zh-Hans,en-US,其他语种精度未做系统验证。

lib/ocr-engine.js 是引擎层与工具层的分界,跨平台移植从这里切入。

相关项目

  • ModLens 等云端视觉插件提供真正的图像理解(场景描述、版面推理、图表解读),这是 OCR 无法覆盖的。需要"看懂"而非"读出"时应使用该类插件。
  • macOS 自 Monterey 起内置实况文本,在预览或快速查看中可直接选取图中文字。本插件的作用是把同一能力以程序化方式提供给 agent。

致谢

  • 基于 Apple Vision 框架
  • 插件与热重载机制来自 cordis
  • 感谢 DeepSeek Harness 团队的插件架构。

代码由 AI 编写。 初版实现由 DeepSeek 生成,Claude 完成安全审查、包名与安装方式修正、文档重写。作者不写代码,代码未经人类逐行审阅。项目约 800 行、零运行时依赖,建议自行阅读后再决定是否信任。

许可

MIT,见 [LICENSE](LICENSE)。