DeepSeek Harness 插件

liustack/modlens

Star 数 ★ 1199 分类 工具与能力 收录于 2026-08-14 npm @liustack/modlens

为纯文本模型架起视觉桥梁:粘贴图片,输出结构化 JSON 证据(OCR、版面、语义)。

安装

# npm 包(预构建)

dsh plugin --profile web add @liustack/modlens

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:liustack/modlens

GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

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

交流

欢迎随时提issue。也欢迎来 X 上聊:@liustack,你用它做了什么、在哪个 harness 上跑、接下来该做什么,新版本也是那边先发。社群正在筹备中。

亮点

**🥇 全网第一个支持 DeepSeek Harness(dsh)的外挂视觉识别插件:**一条命令 npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modlens@latest,dsh 背后的纯文本 DeepSeek 模型即可通过原生 read_image 工具读图。如果 dsh 提示 declares no dsh.bundle,是 pnpm 的发布冷静期装了旧版,一行命令可解,见故障排查

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

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

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

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

  • 全网最轻量。 不用 hook,不套壳,不跑本地代理进程,不改任何 harness 配置的一行字:在 skill 类 harness 里它就是一个 skill 文件夹,在 dsh 里就是一个插件。卸载等于删个文件夹,你的 agent 立刻回到原样。
  • 零配置起手。 复用 Claude Code、Codex、OpenCode、Pi 已配置,直接复用你本机的其他多模态模型。什么都没有?Antigravity CLI 是免 key 的免费通道,配一个免费 Gemini key 可将识别耗时降至 5 到 10 秒。
  • 基于证据而非想象。 全文转录、按阅读顺序划分的版面区块、实体与关系列表,模型引用的是具体内容。
  • 一次安装,多端可用。 Claude Code、Codex、Pi、OpenCode 均经真机验证。

安装

第一步,交给你的 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@latest

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

用法

装好之后不需要记任何命令。正常聊天,粘贴图片或给出图片路径,提问即可,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 订阅

不钉死 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  <key>
modlens config set openai.model   qwen3-vl-plus

同样三个键,换成 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 <name> 表达偏好(链继续兜底),-p <name> 钉死单个不回退。代理环境设 HTTPS_PROXYmodlens config set proxy <url>,API provider 自动走代理。细节见 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 协议下你的副本完全归你,修改和发布不受限制。

插入一条硬广

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

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

Star History

免责声明

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

License

MIT

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →