- DSH
- 0.1.2-rc.1
- 系统
- Windows / macOS / Linux
- 风险
- high
本页目录(10)
先查看功能、兼容性、权限和同类选择,再按本文操作。
ModLens 3.26.1 为 DSH 文本模型提供视觉桥接,修复 Lexical 输入框的图片粘贴路径写入,保留 Provider 专属代理与直连设置。
如果你的目标是在 DeepSeek Harness 配置 OCR、图片理解、视觉模型与代理,本教程会说明如何在 DeepSeek Harness(DSH)中准备、安装、配置、验证和回退 ModLens。本文锁定作者仓库提交 a1923d016c2b;已复核固定提交的原始资料,未进行运行实测。
对应插件:查看 ModLens 的功能、权限与兼容性说明。先确认它适合你的工作流,再执行安装。
ModLens 3.26.1 为 DeepSeek Harness(DSH)的文本模型增加图片理解桥接。先选视觉引擎,再选择网络路由,用公开截图验证;DSH 原生插件入口与面向其他工具的 Skill 安装是两种方式,不需要为了本教程另外安装 Skill。
先确认是否适合你
- 分类:图片识别与视觉
- 风险等级:high
- 核验证据:source_reviewed
- 兼容性边界:本页选用 DSH 0.1.2-rc.1,Node.js >=22.19;作者未声明完整 DSH peer 矩阵。已核对 Bundle、工具、附件与配置路径,未在本站运行,也不推导 alpha.2 兼容。
- 主要权限关注:读取图片、运行包内 CLI,按配置调用视觉 API 或已有本地 CLI;保存 API Key 和代理凭据,图片及识别结果可能发往外部服务。
如果你准备在重要工作区使用,先阅读插件详情页的权限和数据流说明;“源码已审阅”或“资料已整理”都不等于安全认证。
安装前准备
本页 DSH 命令版本: 0.1.2-rc.1。本页选用 DSH 0.1.2-rc.1,Node.js >=22.19;作者未声明完整 DSH peer 矩阵。已核对 Bundle、工具、附件与配置路径,未在本站运行,也不推导 alpha.2 兼容。
- 无敏感信息测试图片:用公开截图验证 OCR 和版面,不上传账号、密钥或客户数据。
- 视觉 Provider 或本地 CLI:选择一种受信任后端并了解计费与数据保留政策。
- 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本,并确认
pnpm可用。 - 使用独立的
webProfile 和可丢弃测试工作区,不直接连接生产目录。 - 备份当前 Profile 配置,并记录安装前的
--dump-config输出。 - 核对固定来源中的外部服务、账号、运行时和平台限制。
- 需要凭据时只准备测试凭据;本页识别到的候选变量包括
OPENAI_API_KEY、GEMINI_API_KEY。
安装 ModLens
52DSH 使用目录中记录的精确安装目标,避免直接跟随可能变化的默认分支:
npx --yes @deepseek-ai/[email protected] plugin --profile web add @liustack/[email protected]
GitHub 源码插件如果被 pnpm 拦截构建脚本,先检查终端提示的具体包和脚本。只在 web Profile 中放行确实需要的构建项,不要全局放行未知依赖。
插件专属配置
配置目标
~/.modlens/config.json:保存视觉引擎、Key、代理与复用授权,与其他 harness 共享;属于本机敏感配置。$DSH_HOME/profiles/<name>/cordis.patch.yml:DSH 插件的 families/discover 等覆盖,不与视觉引擎配置混写。
环境变量
OPENAI_API_KEY(可选),敏感:仅使用 OpenAI 兼容视觉引擎且该引擎未在共享文件中配置时可作为来源;对应地址为 OPENAI_BASE_URL。优先核对当前引擎,勿混用。GEMINI_API_KEY(可选),敏感:Gemini API 视觉引擎可用的环境凭据;若共享文件已经配置该引擎,文件来源优先,不是逐字段混合。
固定版本安装与配置检查
证据:固定来源(外部链接,在新标签页打开)。将路径、账号和凭据占位符替换为测试值。
npx --yes @deepseek-ai/[email protected] plugin --profile web add @liustack/[email protected]
npx --yes @deepseek-ai/[email protected] --profile web --dump-config
安装后设置
- 先备份共享配置,打开设置 → 插件 → 插件配置,选择一个受信任的视觉引擎。
- 逐个核对 Provider 的继承、直连或专属代理;确认选定后端与故障转移范围,再用公开小图片验证。
先区分三种代理方式
| Provider 配置 | 3.26.1 行为 |
|---|---|
| 没有 proxy 字段 | 继承共享配置,再按环境代理规则处理 |
| proxy 为空字符串 | 直连,忽略全局及 HTTP_PROXY / HTTPS_PROXY |
| proxy 为非空地址 | 使用该 Provider 的专属代理 |
旧版本把 Provider 空串视为继承。升级前逐项核对:需要继承时在设置卡片选择“继承”,不要把配置字段写成空串。卡片中“已保存的代理地址输入框留空”表示保留,与选择“直连”不同。
设置卡片读写 ~/.modlens/config.json,不会返回已存 Key 或代理 URL。多个 harness 共用该文件,使用新直连设置前先对齐版本。
具体入口和字段见固定版本宿主配置说明(外部链接,在新标签页打开)。
配置验证与成功结果
先导出配置,再启动同一版本的 DSH Web:
npx --yes @deepseek-ai/[email protected] --profile web --dump-config
npx --yes @deepseek-ai/[email protected] web
-
用公开截图请求 OCR,核对引擎与允许的故障转移后端。
期望结果:返回识别结果或可解释错误;不通过输出文字单独断言实际网络路径。
-
分别核对继承/直连设置,检查 Host 日志与代理侧记录(脱敏)。
期望结果:配置符合预期;没有真实网络验证时仅记录配置检查,不声称流量已验证。
-
在需要 paste-to-path 的文本模型组合中,粘贴公开截图,分别核对上传和输入框路径插入。
期望结果:路径进入当前输入框,或出现可解释错误;仅图片上传成功不算完整通过,原生视觉模式保留原生附件。
第一次使用
- 识别公开截图中的按钮文字与布局,不推断未显示的账号信息。
扩展其他文本模型
默认发现 DeepSeek、GLM、MiMo 等符合条件的模型。需要拓展时,在现有 Profile 的 modlens 配置行覆盖 families,保留其他字段,不重复 insert:
- id: modlens
config:
families: ['*']
通配规则要求元数据明确包含 text 且不含 image;未知能力和原生视觉模型不会自动添加变体。可用 discover 限定实际已注册的 Provider ID。它们属于 DSH Profile 配置,实际视觉引擎仍在共享 JSON 中选择。
使用一张公开截图,确认 OCR 与布局输出,避免先上传真实项目截图。
数据、权限与凭据
**数据流:**图片 → 本机预处理/包内 CLI → 选定视觉 Provider(可经专属代理或直连)→ 证据文本 → DSH 模型与会话;共享配置存于 ~/.modlens/config.json。
**权限关注:**读取图片、运行包内 CLI,按配置调用视觉 API 或已有本地 CLI;保存 API Key 和代理凭据,图片及识别结果可能发往外部服务。
**数据存储:**API Key、代理与引擎配置保存在 ~/.modlens/config.json;POSIX 写入权限为 0600,不是加密凭据库。图片可能发往视觉 API,识别结果再进入 DSH 模型与会话。
真实 Token、API Key、Cookie 和账号 ID 不应写进 Git 仓库、网页截图或公开 Issue。测试结束后撤销临时凭据。
卸载、回退与清理
停止 DSH 后,从同一个 Profile 移除包:
npx --yes @deepseek-ai/[email protected] plugin --profile web remove @liustack/modlens
- 停止 DSH,从同一 Profile 移除 @liustack/modlens,重启并检查 Bundle 消失。
- 回退到升级前版本 3.25.4 时,恢复对应 Profile、锁文件与配置备份;固定命令:npx --yes @deepseek-ai/[email protected] plugin --profile web add @liustack/[email protected]。卸载不自动清除本地与第三方数据。
- 恢复 3.25.4 时同时恢复 ~/.modlens/config.json;撤销测试 Key,并分别清理会话图片、识别结果与外部服务记录。
- 本批直接回退目标为 3.26.0;固定同 Profile 安装并恢复升级前配置。更早 3.25.4 的代理语义变化仍按上文处理。
升级或回退时保留网络边界
代理失败先分清连接错误与认证/配额错误,不为测试随意取消公司要求的代理。回到 3.25.4 时,必须同时恢复升级前共享配置;该版本对空代理的解释不同,仅降级包版本可能改变路由。参阅更新与卸载保留 Profile 与配置快照。
图片上传了,输入框里却没有路径
3.26.1 修复 rc.1 使用 Lexical contenteditable 后,旧逻辑只接受 textarea/input 的问题。先确认已重启 DSH 并刷新浏览器、实际加载 3.26.1,再用公开截图测试。插件仅在 Host 已确认需要接管且找到可写输入目标时接管粘贴;原生视觉附件模式无需强求出现路径。
若上传后仍没有路径,查看浏览器是否有 paste-to-path: could not insert into the composer,保留脱敏日志后排查编辑器兼容。日志可能包含本机路径。不要安装自动执行剪贴板脚本或直接修改输入框 HTML;这不是通用中文输入法修复。
常见问题
升级后不再经过共享代理
3.26.1 中 providers.<引擎>.proxy 空串表示直连;选择继承或移除该字段,不是将它设为空。
模型没有视觉变体
核对实际 Provider ID、families、discover 与 inputModalities;原生 image 模型无需变体,未知输入能力不会被通配规则自动纳入。
图片上传成功但输入框没有路径
确认 3.26.1 已重启加载;区分原生视觉与路径接管,检查浏览器 paste-to-path 错误并脱敏路径。
安装成功但页面或命令没有出现
先运行 --dump-config 确认 Bundle 已进入 web Profile,再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。
插件运行后没有得到预期结果
把问题缩小到本页的最小验证任务,检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文,并核对当前安装目标是否仍对应本页固定提交。
作者提供了独立故障文档,可从下方“固定来源证据”进入;本页没有把整份 README 复制过来。
固定来源证据
以下资料是本文配置结论的依据:
- README.zh-CN.md(外部链接,在新标签页打开)
- README.md(外部链接,在新标签页打开)
- INSTALL.md(外部链接,在新标签页打开)
- docs/harness-setup.md(外部链接,在新标签页打开)
- docs/troubleshooting.md(外部链接,在新标签页打开)
- SECURITY.md(外部链接,在新标签页打开)
继续查看:返回 ModLens 插件详情页,重新核对兼容性、权限、同类插件和来源状态。
来源与维护信息
本文根据以下原始资料整理。版本变化后,请以官方资料和页面标注的验证日期为准。
- GitHub:liustack/modlens(外部链接,在新标签页打开)
- GitHub:liustack/modlens 固定提交 harness-setup.zh-CN.md(外部链接,在新标签页打开)
- GitHub:liustack/modlens 固定提交 package.json(外部链接,在新标签页打开)
- GitHub:liustack/modlens 固定提交 cordis.patch.yml(外部链接,在新标签页打开)
- GitHub:liustack/modlens 固定提交 index.js(外部链接,在新标签页打开)
- GitHub:liustack/modlens 固定提交 client.js(外部链接,在新标签页打开)
- GitHub:liustack/modlens 固定提交 config.ts(外部链接,在新标签页打开)
- GitHub:liustack/modlens 固定提交 troubleshooting.zh-CN.md(外部链接,在新标签页打开)
- GitHub:liustack/modlens 固定提交 LICENSE(外部链接,在新标签页打开)
- GitHub:liustack/modlens 固定提交 README.zh-CN.md(外部链接,在新标签页打开)
- GitHub:liustack/modlens 固定提交 README.md(外部链接,在新标签页打开)
- GitHub:liustack/modlens 固定提交 INSTALL.md(外部链接,在新标签页打开)
- GitHub:liustack/modlens 固定提交 harness-setup.md(外部链接,在新标签页打开)