---
title: "用 ModLens 为 DSH 增加 OCR、版面与图像理解"
seo_title: "ModLens 配置教程：为 DSH 接入 OCR 与图像理解"
description: "在 DeepSeek Harness（DSH）中安装 ModLens，配置视觉 Provider、OCR 与图像理解，并核对图片外发、凭据和验证结果。"
canonical: https://52dsh.com/tutorials/liustack-modlens-install-config/
authors: ["52DSH 编辑部"]
published_at: 2026-08-22
updated_at: 2026-08-22
verified_on: 2026-08-22
maintenance_status: community
verification_level: community_compiled
risk_level: medium
plugin_id: liustack-modlens
tutorial_kind: plugin_configuration
related_plugin_url: https://52dsh.com/plugins/liustack-modlens/
---

# 用 ModLens 为 DSH 增加 OCR、版面与图像理解

在 DeepSeek Harness（DSH）中安装 ModLens，配置视觉 Provider、OCR 与图像理解，并核对图片外发、凭据和验证结果。

为纯文本 DSH 模型提供图像理解桥接，把粘贴的图片转换为包含 OCR、版面与语义信息的结构化 JSON 证据。

如果你的目标是为纯文本 DSH 模型接入 OCR、版面分析和图像理解，本教程会说明如何在 DeepSeek Harness（DSH）中准备、安装、配置、验证和回退 modlens。本文锁定作者仓库提交 `4f14df973f72`；根据固定提交的作者资料整理，未进行运行实测。

> 对应插件：[查看 modlens 的功能、权限与兼容性说明](/plugins/liustack-modlens/)。先确认它适合你的工作流，再执行安装。

## 先确认是否适合你

- **分类**：工具能力
- **风险等级**：medium
- **核验证据**：manifest_checked
- **兼容性边界**：包含 dsh.bundle；未声明明确 DSH peer 版本，本站尚未运行实测
- **主要权限关注**：可能读取用户提供的内容或调用外部工具；核对数据流、依赖和输出边界

如果你准备在重要工作区使用，先阅读插件详情页的权限和数据流说明；“源码已审阅”或“资料已整理”都不等于安全认证。

## 安装前准备

1. 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本，并确认 `pnpm` 可用。
2. 使用独立的 `web` Profile 和可丢弃测试工作区，不直接连接生产目录。
3. 备份当前 Profile 配置，并记录安装前的 `--dump-config` 输出。
4. 核对固定来源中的外部服务、账号、运行时和平台限制。
5. 需要凭据时只准备测试凭据；本页识别到的候选变量包括 `ANTHROPIC_BASE_URL`、`MODLENS_MODEL`、`GEMINI_API_KEY`、`OPENAI_API_KEY`、`OPENAI_BASE_URL`、`ANTHROPIC_API_KEY`。

## 安装 modlens

52DSH 使用目录中记录的精确安装目标，避免直接跟随可能变化的默认分支：

```bash
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add github:liustack/modlens#4f14df973f72
```

GitHub 源码插件如果被 pnpm 拦截构建脚本，先检查终端提示的具体包和脚本。只在 `web` Profile 中放行确实需要的构建项，不要全局放行未知依赖。

作者文档还出现了以下命令。它们用于核对功能或开发流程，不应替换上面的锁定安装命令，也不要一次全部执行：

- `npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modlens@3.23.1`
- `npx -y @deepseek-ai/dsh plugin --profile <name> add @liustack/modlens@3.23.1`
- `npx -y @deepseek-ai/dsh plugin --profile <name> list`
- `npx -y @deepseek-ai/dsh plugin --profile <name> add @liustack/modlens@latest --config.minimumReleaseAge=0`

## 插件专属配置

作者资料把该插件描述为零配置或可直接启动；这里的“零配置”不等于零权限，仍需检查 Profile、工作目录和外部数据流。

**本类插件的最小权限设置：**只启用完成当前任务所需的单一工具，把输入和输出限制在独立测试目录。

### README 中识别到的变量名

以下只列变量名，不代表每个变量都必需；是否使用以及取值格式以对应固定来源为准。

- `ANTHROPIC_BASE_URL`
- `MODLENS_MODEL`
- `GEMINI_API_KEY`
- `OPENAI_API_KEY`
- `OPENAI_BASE_URL`
- `ANTHROPIC_API_KEY`

### 作者配置片段（README.zh-CN.md）

来源：[固定提交中的 README.zh-CN.md](https://github.com/liustack/modlens/blob/4f14df973f72964d3528a96e618f10196440e58f/README.zh-CN.md)。复制前先替换占位符并删除不需要的权限。

```bash
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
```

### 作者配置片段（INSTALL.md）

来源：[固定提交中的 INSTALL.md](https://github.com/liustack/modlens/blob/4f14df973f72964d3528a96e618f10196440e58f/INSTALL.md)。复制前先替换占位符并删除不需要的权限。

```bash
bash ~/.claude/skills/modlens/scripts/run.sh config set reuse.codex true    # or false
```


## 配置验证与成功结果

1. **确认 Bundle 已加载**

   ```bash
   npx --yes @deepseek-ai/dsh@0.1.1-rc.2 --profile web --dump-config
   ```

   期望结果：组合配置中出现 `@liustack/modlens` 或仓库声明的 Bundle 名称。

2. **启动 Web Profile**

   ```bash
   npx --yes @deepseek-ai/dsh@0.1.1-rc.2 web
   ```

   期望结果：DSH Web 正常启动，浏览器控制台和终端没有持续重复的插件加载错误。

3. **执行插件专属最小任务**

   使用最小输入调用一次插件能力，并核对返回数据结构、日志和文件变化。

   期望结果：输出格式与插件说明一致，失败时不会覆盖原始文件。

## 第一次使用

- 准备一个可丢弃的小文件或数据样例，只运行一次核心工具能力并检查结果。
- 只验证一个核心能力，保存输入、输出和日志；确认无异常后再扩大权限或数据范围。

## 数据、权限与凭据

**权限关注：**可能读取用户提供的内容或调用外部工具；核对数据流、依赖和输出边界

**数据存储：**作者资料没有形成统一存储结论。测试时检查 web Profile、工作区、用户目录以及所连接的外部服务，并记录新增文件或远端数据。

真实 Token、API Key、Cookie 和账号 ID 不应写进 Git 仓库、网页截图或公开 Issue。测试结束后撤销临时凭据。

## 卸载、回退与清理

1. 停止正在运行的 DSH Web。
2. 从同一个 Profile 移除插件：

   ```bash
   npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web remove @liustack/modlens
   ```

3. 再次运行 `--dump-config`，确认对应 Bundle 已消失。
4. 检查测试工作区、插件声明的数据目录和外部服务，手动删除测试数据并撤销测试凭据。卸载依赖不会自动删除这些数据。

## 常见问题

### 安装成功但页面或命令没有出现

先运行 `--dump-config` 确认 Bundle 已进入 `web` Profile，再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。

### 插件运行后没有得到预期结果

把问题缩小到本页的最小验证任务，检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文，并核对当前安装目标是否仍对应本页固定提交。

作者提供了独立故障文档，可从下方“固定来源证据”进入；本页没有把整份 README 复制过来。

## 固定来源证据

以下资料是本文配置结论的依据：

- [README.zh-CN.md](https://github.com/liustack/modlens/blob/4f14df973f72964d3528a96e618f10196440e58f/README.zh-CN.md)
- [README.md](https://github.com/liustack/modlens/blob/4f14df973f72964d3528a96e618f10196440e58f/README.md)
- [INSTALL.md](https://github.com/liustack/modlens/blob/4f14df973f72964d3528a96e618f10196440e58f/INSTALL.md)
- [docs/harness-setup.md](https://github.com/liustack/modlens/blob/4f14df973f72964d3528a96e618f10196440e58f/docs/harness-setup.md)
- [docs/troubleshooting.md](https://github.com/liustack/modlens/blob/4f14df973f72964d3528a96e618f10196440e58f/docs/troubleshooting.md)
- [SECURITY.md](https://github.com/liustack/modlens/blob/4f14df973f72964d3528a96e618f10196440e58f/SECURITY.md)

继续查看：[返回 modlens 插件详情页](/plugins/liustack-modlens/)，重新核对兼容性、权限、同类插件和来源状态。

## 原始来源

- https://github.com/liustack/modlens
- https://github.com/liustack/modlens/blob/4f14df973f72964d3528a96e618f10196440e58f/README.zh-CN.md
- https://github.com/liustack/modlens/blob/4f14df973f72964d3528a96e618f10196440e58f/README.md
- https://github.com/liustack/modlens/blob/4f14df973f72964d3528a96e618f10196440e58f/INSTALL.md
- https://github.com/liustack/modlens/blob/4f14df973f72964d3528a96e618f10196440e58f/docs/harness-setup.md
