🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

终端识图 yukitakasama/modlens

DeepSeek Harness
yukitakasama52 天前有提交已提供中文文档扫描:含敏感能力

粘贴图片即可让纯文本模型识别画面内容

29.5/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yukitakasama/modlens
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
静态安装检查有提示项,装前建议看一眼 README
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 52 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@liustack/modlens(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22.19 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 05:58:09

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 19 处,展示前 18 条)
  • 读取本地文件
    dsh/index.js:22
    const OUTPUT_SCHEMA = JSON.parse(readFileSync(new URL('./vision-schema.json', import.meta.url), 'utf8'))
  • 读取本地文件
    dsh/index.js:39
    const stat = statSync(file, { bigint: true })
  • 读取本地文件
    dsh/index.js:1670
    raw = readFileSync(modlensConfigPath(), 'utf8')
  • 读取本地文件
    dsh/index.js:1846
    if (lstatSync(file).isSymbolicLink()) {
  • 写入本地文件
    dsh/index.js:1852
    mkdirSync(dirname(file), { recursive: true })
  • 写入本地文件
    dsh/index.js:1853
    writeFileSync(file, `${JSON.stringify(config, null, 2)}\n`, { mode: 0o600 })
  • 写入本地文件
    dsh/index.js:1855
    chmodSync(file, 0o600)
  • 读取本地文件
    dsh/index.js:1910
    lstatSync(file)
  • 写入本地文件
    dsh/index.js:1912
    mkdirSync(dirname(file), { recursive: true })
  • 写入本地文件
    dsh/index.js:1913
    writeFileSync(file, '{}\n', { mode: 0o600 })
  • 发起网络请求
    dsh/client.js:91
    fetch('/modlens/paste', { method: 'POST', body: buffer }).then((res) => {
  • 发起网络请求
    dsh/client.js:145
    fetch(`/modlens/paste?model=${encodeURIComponent(label)}`)
  • 发起网络请求
    dsh/client.js:531
    fetch('/modlens/config')
  • 发起网络请求
    dsh/client.js:543
    return fetch('/modlens/config?discover=1')
  • 发起网络请求
    dsh/client.js:893
    fetch('/modlens/config', {
  • 发起网络请求
    dsh/client.js:954
    fetch('/modlens/config', {
  • 执行外部命令来自配置/变量
    dsh/spawnHidden.js:19
    return spawn(command, args, { ...options, windowsHide: true })
  • 执行外部命令固定命令
    vitest.globalSetup.ts:17
    execFileSync('pnpm', ['build'], { cwd: root, stdio: 'ignore', shell: true });
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 粘贴图片识别画面
  • 为纯文本模型补视觉能力
  • 终端前端适配

README

由 DeepSeek 最新模型翻译生成
ModLens 为纯文本模型补上视觉能力,直接粘贴图片就能识别。 🥇 全网最强的 DeepSeek Harness(dsh)视觉插件 🥇 English ·配置 ·故障排查 ·安全 · 🔍 ModSearch(DSH 最强免费联网搜索插件) DeepSeek 的主力对话模型和 GLM-5.3 本体仍是纯文本,无法读图。GLM-5.3-Flash 已是原生多模态。ModLens 借助外挂视觉引擎,为纯文本模型补上视觉能力。ModLens 支持直接粘贴图片识别,无需先保存成文件再提供路径。 交流 有问题随时提issue。推荐你关注公众号 liustack,也欢迎你来 X 上聊:@liustack。你用它做了什么、在哪个 harness 上跑、接下来该做什么,都会在公众号和 X 同步更新。社群正在筹备中。 亮点 🥇 全网最强的 DeepSeek Harness(dsh)外挂视觉识别插件:一条命令即刻安装 npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modlens@3.26.1。更多安装与更新细节参考 配置手册 。如果用不惯命令行,也想想玩玩 DSH,推荐食用全网最轻量级的 DeepSeek Harness 桌面版封装 AIManager,零代码零配置起手,一键帮你安装所有依赖环境。
展开完整文档(README 剩余 1 节)
ModLens

为纯文本模型补上视觉能力,直接粘贴图片就能识别。

🥇 全网最强的 DeepSeek Harness(dsh)视觉插件 🥇

English ·配置 ·故障排查 ·安全 · 🔍 ModSearch(DSH 最强免费联网搜索插件)

DeepSeek 的主力对话模型和 GLM-5.3 本体仍是纯文本,无法读图。GLM-5.3-Flash 已是原生多模态。ModLens 借助外挂视觉引擎,为纯文本模型补上视觉能力。ModLens 支持直接粘贴图片识别,无需先保存成文件再提供路径。

交流

有问题随时提issue。推荐你关注公众号 liustack,也欢迎你来 X 上聊:@liustack。你用它做了什么、在哪个 harness 上跑、接下来该做什么,都会在公众号和 X 同步更新。社群正在筹备中。

亮点

🥇 全网最强的 DeepSeek Harness(dsh)外挂视觉识别插件:一条命令即刻安装 npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modlens@3.26.1。更多安装与更新细节参考 配置手册 。如果用不惯命令行,也想想玩玩 DSH,推荐食用全网最轻量级的 DeepSeek Harness 桌面版封装 AIManager,零代码零配置起手,一键帮你安装所有依赖环境。

DeepSeek Harness 粘贴识图有两种玩法。

① 直接粘贴 贴进来的图片自主转换成文件路径进输入框(与 OpenCode、Pi 同款交互),modlens_read_image 工具接手读图。

② 切到带 (modlens vision) 后缀的模型变体(选择器有记忆,选一次就行)再粘贴:缩略图直接可见、所见即所得,体验更接近 Codex App。变体由插件自动发现生成:每条承载纯文本 DeepSeek 或 GLM 模型的 provider 路由各得一组包装条目(默认安装下就是 DeepSeek-V4-Flash (modlens vision) 和 DeepSeek-V4-Pro (modlens vision),装了 opencode-go、zai 等额外路由的机器会各自多出一组),两家自己的视觉型号(含 GLM-5.3-Flash)自动排除。走哪条通路由 host 依据真实模型元数据逐个裁决:只有被元数据确认纯文本的模型才会被接管,确认不了的一律不动,视觉模型因此保留原生贴图(细节)。

所有 Harness 直接粘贴图片识别 无需先保存成文件再提供路径。

需要快捷键把屏幕截进 DeepSeek Harness 时,用独立插件 dsh-screenshot。

- 全网最轻量。 不用 hook,不套壳,不跑本地代理进程,不改任何 harness 配置的一行字:在 skill 类 harness 里它就是一个 skill 文件夹,在 dsh 里就是一个插件。卸载等于删个文件夹,你的 agent 立刻回到原样。
- 零配置起手。 复用 Claude Code、Codex、OpenCode、Pi 已有配置,直接复用你本机的其他多模态模型。如果你本机什么都没安装?Antigravity CLI 是免 key 的免费通道,配一个免费 Gemini key 可将识别耗时降至 5 到 10 秒。也支持所有主流的 OpenAI 兼容格式 API key。
- 多个密钥用英文逗号分隔,鉴权、限流或配额失败时自动轮换。 其他失败会跳过剩余密钥,并继续走现有的 provider 故障转移。
- 基于证据,而非想象。 全文转录、按阅读顺序划分的版面区块、实体与关系列表,模型引用的是具体内容。
- 一次安装,多端可用。 Claude Code、Codex、Pi、OpenCode 均经真机验证。

在其他 Harness 中安装

方式一,通过 skills.sh 一条命令安装:

npx -y skills add liustack/modlens --skill modlens --global

这会把 modlens skill 安装到用户级目录。重启 Harness 后,让 AI 配置 modlens 并运行体检即可。

方式二,把安装交给你的 AI。 把这句话发给它:

按 https://github.com/liustack/modlens 的 INSTALL.md 安装并配置 modlens skill,完成后运行体检并把结果告诉我。

安装会先盘点你机器上已有的东西。Claude Code、Codex、OpenCode 或 Pi 里任何一个已有的登录态都可能就够了:modlens 复用前一定先征得你同意,体检报告会说清现状。

两种方式完成后,只在体检两手空空时,才需要你配一个免费引擎。 推荐免费的 Gemini api key(到 Google AI Studio 领取,约三分钟,无需信用卡),配上后每次识别 5 到 10 秒。其他平台的免费 openai 兼容 key 也行。想完全免注册就装 Antigravity CLI,然后完成登录:

curl -fsSL https://antigravity.google/cli/install.sh | bash
agy # 浏览器完成登录后退出

安装还会盘点本机其他 harness CLI(Codex、OpenCode、Pi)里可触达的视觉能力,并逐个询问是否允许 modlens 复用。获准的登录态与你自己配的引擎平级入池,每次复用都会在结果里标明花的是谁的额度。

DeepSeek Harness(dsh)用户不走 skill 流程,本包就是原生 dsh 插件:

npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modlens@3.26.1

装完即有 modlens_read_image 工具,选「(modlens vision)」模型变体即可直接粘贴识图。引擎配置同样在 ~/.modlens,详见宿主接入。

命令行不是唯一入口。dsh 设置页的「插件 → 插件配置」里有一张 ModLens 卡片:切换引擎,勾选 auto 模式可以复用本机哪些 CLI,在网页上点几下保存就生效。

dsh 设置页里的「视觉引擎(ModLens)」配置卡片:切换引擎,勾选 auto 模式复用的本机 CLI

dsh-TUI(终端版)

终端界面没有浏览器设置页,所以本包为 dsh-TUI 单独做了适配。装到 TUI profile 即可:

npx -y @deepseek-ai/dsh plugin --profile dsh-tui add github:yukitakasama/modlens

从 GitHub 源码安装时,pnpm 会运行包内的 prepare 脚本构建 CLI(dist/main.js)。
若构建脚本被 pnpm 拦截(Ignored build scripts),在 TUI profile 的 pnpm-workspace.yaml 里允许 esbuild,或先在仓库目录手动执行一次
pnpm build,再用本地 link: 方式安装。

与原版(web profile)的差异:

- modlens_read_image 工具完整可用:给出图片的本地路径或 http(s) URL,模型即可读取并返回结构化证据(OCR / 版面 / 语义)。
- (modlens vision) 模型变体可用:TUI 的 /model 选择器会列出包装后的变体(如 DeepSeek-V4-Flash (modlens vision)),切换后图片在请求前被转成证据文本,TUI 里同样所见即所得。
- 贴图改写:TUI 的 Ctrl+V 走它自己的剪贴板链路,图片仍是原生缩略图;提交时由 agent/pre-step 钩子把图像块就地换成证据文本,持久化日志里保留的仍是真实图片块。开法是在 profile 里给插件加 autoRead: true。
- 无「设置卡片」:settings 命名空间只有一个消费者——被服务的设置页,TUI 没有,所以插件在终端下不注册它(判断依据是「设置页是否真的被服务」,而不是「settings 服务是否存在」,可用 settingsPage: true/false 覆盖)。这是本次适配的核心修复:旧版在 TUI 里注册该命名空间会与 llm 适配器扫描交错,导致进程约 60% 概率被控制台中断退出,已实测修复。引擎配置改用 CLI 或直接编辑 ~/.modlens/config.json:

node dist/main.js config init # 初始化 ~/.modlens/config.json
node dist/main.js config set provider gemini-api
node dist/main.js doctor # 体检:引擎是否就绪

- 无「粘贴图片直转路径」:粘贴拦截是浏览器功能(platform: web),TUI 下请把图片保存为文件再给路径。

密钥提示:密钥类键请在终端里用 modlens config set (无值形式)输入,走的是隐藏输入,值不进 argv、也不进 shell 历史。

致谢

dsh-TUI 终端版的适配由 @iFei 赞助支持。
感谢对终端用户的支持,让纯文本模型在 TUI 里也能"看见"。

用法

装好之后不需要记任何命令。正常聊天,粘贴图片或给出图片路径,提问即可,skill 自动触发:图片交给视觉引擎,答案基于读到的内容返回。贴一次,后面追问同一张图不用再贴。

视觉引擎:六个内置 provider,四家可复用 CLI,一条故障转移链

ModLens 不绑定任何单一视觉服务。视觉来源一共十个:六个内置 provider(配好任意一个就能用),加四家本机 agent CLI 的登录可以复用。先看内置的:

| Provider | 需要什么 | 单次识别耗时 | 适合谁 |
| gemini-api | 免费 Gemini key(三分钟领取,无需信用卡) | 5-10 秒 | 推荐默认 |
| openai | 任意 OpenAI 兼容端点(key + baseUrl + model) | 5-10 秒 | qwen-vl、GLM、自建网关 |
| anthropic | Anthropic API key | 5-10 秒 | 手上已有 key 的机器 |
| antigravity-cli | 免费的 agy CLI,浏览器登录一次,无需 key | 15-45 秒 | 完全免注册起步 |
| claude-cli | 已登录的 Claude Code | 20-45 秒 | 复用现有 Claude 订阅 |
| kimi-cli | 已登录的 Kimi Code | 20-45 秒 | 复用现有 Kimi 订阅,需显式点名 |

不钉死 provider 时,所有配好的引擎组成一条故障转移链:API 快车道先试,agent CLI 兜底,第一个可用结果胜出,meta.attempts 记录每次尝试,回退永远不是无声的。

openai 是万能接口,不只是 OpenAI

任何讲 OpenAI chat-completions 协议、支持图片输入的端点都能直接插上,这基本覆盖了视觉模型的大半个世界:

modlens config set openai.baseUrl https://dashscope.aliyuncs.com/compatible-mode/v1 # qwen-vl
modlens config set openai.apiKey
modlens config set openai.model qwen3-vl-plus

apiKey(以及对应的环境变量)也接受英文逗号分隔的列表。鉴权、限流或配额失败时会轮换到下一个密钥。网络、5xx 和解析失败会跳过剩余密钥,并继续走现有的 provider 故障转移。

同样三个键,换成 GLM 开放平台、SiliconFlow、OpenRouter、自建 vLLM/Ollama 或你自己的网关都一样。你常用的视觉模型只要有 OpenAI 兼容 API,ModLens 就能驱动它。

复用你机器上已有的东西

还有两处现成的视觉能力,一个新 key 都不用配,每家都在你明确同意后才启用:

- 你正在对话的这个 harness 本身。在登录了订阅的 Claude Code 里用?claude-cli 开箱即可借它读图。装进哪个 harness,安装流程就会问哪个 harness 的授权。
- 机器上其他的 agent CLI。modlens doctor 会逐个发现,你按家授权,它们与你自己的 key 平级入链,不插队。每次复用都在 meta.warnings 里标明花的是谁的额度,绝不无声扣费:

| 复用来源 | 需要什么 | 授权命令 | 走哪条道 |
| Codex | 已登录且有视觉模型的 Codex CLI | config set reuse.codex true | agent 通道,15-45 秒 |
| OpenCode | OpenCode 里配好的视觉模型 | config set reuse.opencode true | agent 通道,15-45 秒 |
| Pi | Pi 持有的模型凭据 | config set reuse.pi true | API key 直接升级到 5-10 秒的快车道,OAuth 驱动 Pi 本体 |
| Grok | 已登录的 Grok CLI(SuperGrok) | config set reuse.grok true | agent 通道,15-45 秒 |

选择与路由

两个旋钮:modlens config set provider 表达偏好(链继续兜底),-p 钉死单个不回退。代理环境设 HTTPS_PROXY 或 modlens config set proxy ,API provider 自动走代理。内网端点可用 modlens config set openai.proxy "" 单独改为直连。细节见 CLI 手册(默认模型与参数)、配置手册(全部配置键)、安全说明(远程 URL 由谁抓取)。

实测

以下均为原样记录,驱动的都是纯文本的 DeepSeek-V4-Flash。

最新的一条放最前:在 DeepSeek Harness 里选 DeepSeek-V4-Flash (modlens vision) 变体直接粘贴截图。粘贴保留原生缩略图,轨迹里可见图片抵达时「已由 modlens 视觉桥转写」,回答逐个元素还原了界面。

在 DeepSeek Harness 中直接粘贴图片,经 modlens 视觉插件读取

Codex 桌面 App 中识别一张推文截图。作者、配文、照片内容(连两人的穿着都在内)、发帖时间和全部互动数据(540 万浏览、1.6K 回复、5.7K 转发、11.6 万点赞)逐项读出。

纯文本 DeepSeek 通过 ModLens 读出推文截图的全部细节

一次粘贴三张图。模型逐张读取,认出三张同属一个视觉家族,并分别描述每张插画的内容和风格。

一次粘贴三张图,逐张读取

压力测试:128 个模型的对比散点图。双轴定义、对数刻度、按厂商的配色、高亮区域,以及虚线标注的每一个 DeepSeek 型号全部识别。密集图表是视觉方案最容易出错的场景。

128 个模型的散点图完整读出:双轴、对数刻度与高亮区域

粘贴链路的端到端记录:接入 DeepSeek 的 Claude Code 终端里,粘贴的图片以路径而非像素到达,skill 自动触发,guard 确认当前模型确实没有视觉后才开读,PPT 封面幻灯的标题、版式、背景逐项读出,连文件名被截断这个不确定点都如实说明。

接入 DeepSeek 的 Claude Code 会话中 skill 自动触发并读出粘贴的幻灯片

文档

| 文档 | 适用场景 |
| 安装手册 | 一步步安装 skill(为 agent 编写) |
| CLI 手册 | skill 所驱动的 CLI:参数、配置与体检 |
| 故障排查 | 命令报错,查成因和解法 |
| 配置手册 | 配置 key、切换 provider、排查配置 |
| 输出契约 | 解析 JSON 或构建下游工具 |
| 宿主接入 | 在 Codex、Claude Code、Pi、OpenCode 中配置 |
| 安全说明 | 恢复文件的权限、图片内容作为不可信输入 |
| 更新日志 | 查询版本变更 |

参与方式

本仓库不接受 PR。项目由作者独立维护,所有代码经作者本人审阅,这是它可靠性的前提。两种有效的参与方式:

- 提交 issue。 bug、建议、难以理解的报错或文档都欢迎。issue 会被认真阅读,并影响后续开发方向。
- Fork。 MIT 协议下你的副本完全归你,修改和发布不受限制。

插入一条硬广

ModSearch 是 ModLens 的同门项目,同一套手艺补另一种感官:给不能联网的模型补上网页搜索、X 搜索和单页抓取。免费,免注册,免 API key。模型既然需要 ModLens 当眼睛,多半也需要 ModSearch 联网:

npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modsearch@latest

关注微信公众号「liustack」:AI 创业机会、独立开发见解、AI 实战与工具,第一时间推送。微信扫码,或搜一搜「liustack」:

⭐ 如果它对你有用,请给 ModLens 和 ModSearch 一个 star,这是其他开发者找到它们的方式。

重要生态伙伴

DeepSeek Harness 生态里最值得推荐的项目。

- 🛒 dsh-market — DeepSeek Harness 的可视化插件市场。设置页里直接逛社区全部 800+ 插件:分类筛选、截图预览、一键安装与更新、主题即点即换,装完多数免重启。
The plugin market inside DeepSeek Harness. Browse 800+ community plugins with category filters and screenshot previews, one-click install and update, and live theme switching. Most need no restart.
- 🖥️ DeepSeek Harness Desktop — 为 DeepSeek Harness 生态打造的现代化桌面端。不用配置 Node.js,也不用敲命令,就能启动和管理本机的 Harness 服务。后续还会支持插件市场、移动端远程控制和 IM Channels。官网 A desktop front end for DeepSeek Harness. Start and manage the Harness service on your own machine without installing Node.js or running a command. A plugin market, remote control from a phone, and IM channels are on its roadmap. Site

Star History

免责声明

本项目依下方 MIT 协议按现状提供。作者不对任何特定用途(含商业使用)提供保证或背书。上游引擎(Antigravity CLI,Gemini、OpenAI、Anthropic 的 API,以及任何 OpenAI 兼容端点)的使用受各自条款和额度约束,由使用者负责。

License

MIT
预览分享卡片长什么样 ↓yukitakasama/modlens
分享 · DeepSeek Harness Hub
yukitakasama/modlens

粘贴图片即可让纯文本模型识别画面内容

这是你的仓库?认领条目

回到顶部