📄 文档列表
🎬 口播文案
✏️ 编辑文档
标题
工具栏
加粗
H2 标题
H3 标题
引用
无序列表
有序列表
代码块
📷 上传图片
点击或拖拽上传图片
支持 PNG, JPG, GIF, WebP 格式
内容 (Markdown 格式)
图片里的文字想直接复制?截图里的代码想自动提取?这种事以前只能靠手动打字,现在 OpenCode 接上 Tesseract MCP Server,几秒钟搞定。 **GitHub:https://github.com/tesseract-ocr/tesseract,74,233 Stars,Apache-2.0** OCR 这个需求太常见了——老文档电子化、截图转文字、PDF 里提取文本。但 AI 编程工具以前没法原生处理图片里的文字,得先把图片转成可读文本再喂给 AI。这个痛点,Tesseract + OpenCode MCP 终于给接上了。 ## Tesseract 是什么 Tesseract 是个老牌 OCR 引擎,1985 年由 HP 实验室开发,2005 年开源,2006-2017 年由 Google 维护,现在是社区主导的开源项目(当前维护者 Zdenko Podobny)。 核心数据: | 项目 | 数据 | |------|------| | Stars | 74,233 | | Forks | 10,625 | | 当前稳定版 | v5.0.0(2021-11-30 发布) | | 支持语言 | 100+(开箱即用) | | 输出格式 | plain text、hOCR(HTML)、PDF、TSV、ALTO、PAGE | | 许可协议 | Apache-2.0 | Tesseract 4 之后引入了 LSTM 神经网络引擎,专注于行识别,同时也保留了 3.x 版本的传统模式(可通过 `--oem 0` 切换)。支持 Unicode UTF-8,各种常见图片格式都能读。 **⚠️ 重要提醒**:Tesseract 本身不包含 GUI,如果需要图形界面,要用第三方项目。另外,想要高识别率,图片质量是关键——分辨率低、文字模糊、背景杂乱的图,OCR 效果会很差。 ## mcp-ocr-server:桥接层 Tesseract 是 C++ 原生库,OpenCode 通过 MCP(Model Context Protocol)协议跟它通信,这个桥接工作由 **mcp-ocr-server**(github.com/dangvinh/mcp-ocr-server)完成。 | 项目 | 数据 | |------|------| | Stars | 11 | | 技术栈 | Node.js + TypeScript + C++ Tesseract | | 性能宣称 | 比 tesseract.js 快 10 倍(原生 C++ 调用) | | 状态 | 🚧 开发中(Roadmap 还未完成) | > 这个项目 Stars 不多(11 颗),还是个 WIP 状态,但它打通了 Tesseract 原生库和 MCP 协议,用法值得研究。如果是生产级 OCR 需求,建议先直接用命令行调用 Tesseract,等这个项目成熟再用 MCP 方式接入。 ## OpenCode 的 MCP 配置 OpenCode 支持两种 MCP 连接方式: **local 类型**——在本机以子进程方式运行 MCP server,通过 stdio 通信: ```json { "mcpServers": { "tesseract": { "type": "local", "command": ["node", "/path/to/mcp-ocr-server/dist/index.js"], "environment": { "TESSDATA_PREFIX": "./tessdata", "OCR_LANG": "eng" } } } } ``` **remote 类型**——连接到远程 MCP server(通过 HTTP): ```json { "mcpServers": { "tesseract-remote": { "type": "remote", "url": "https://your-mcp-server.com/mcp", "timeout": 30000 } } } ``` 配置好后,OpenCode 的 Agent 可以直接调用 Tesseract 的 OCR 能力——给它发一张截图,它就能读出里面的文字。 ## 实战安装步骤(Windows 环境) ### 第一步:安装 Tesseract **方式一:Chocolatey(推荐)** ```powershell choco install tesseract ``` **方式二:直接下载** 去 github.com/tesseract-ocr/tesseract/releases 下载 Windows 安装包,然后手动加到 PATH 里。 **⚠️ 踩坑记录**:Windows 下 Chocolatey 安装 Tesseract 后,默认安装路径是 `C:\Program Files\Tesseract-OCR\`,需要确保这个路径在系统 PATH 环境变量里,否则命令行 `tesseract` 找不到。验证方法:打开 PowerShell,输入 `tesseract --version`,能正常输出版本号说明装好了。 ### 第二步:下载语言训练数据 Tesseract 需要 `.traineddata` 文件才能识别语言。从官方 tessdata 仓库下载: ```bash # 创建 tessdata 目录 mkdir tessdata # 下载英文训练数据 wget https://github.com/tesseract-ocr/tessdata/raw/main/eng.traineddata -P tessdata/ # 下载简体中文训练数据(如需要) wget https://github.com/tesseract-ocr/tessdata/raw/main/chi_sim.traineddata -P tessdata/ ``` TESSDATA_PREFIX 环境变量指向包含这些 `.traineddata` 文件的目录。 ### 第三步:构建 mcp-ocr-server mcp-ocr-server 需要先编译 C++ 部分,再构建 Node.js 包装层: ```bash git clone https://github.com/dangvinh/mcp-ocr-server.git cd mcp-ocr-server # 安装依赖 npm install # 编译 C++ OCR 核心 npm run build-core # 编译 Node.js addon npm run build-addon ``` ### 第四步:在 OpenCode 中配置 MCP 在 OpenCode 配置文件里加上: ```json { "mcpServers": { "ocr": { "type": "local", "command": ["node", "C:/path/to/mcp-ocr-server/dist/index.js"], "environment": { "TESSDATA_PREFIX": "C:/path/to/mcp-ocr-server/tessdata", "OCR_LANG": "eng" }, "timeout": 30000 } } } ``` 重启 OpenCode,MCP server 启动后就可以用了。 ## 用法示例 配置好后,可以直接在 OpenCode 里这样用: ``` 给我提取这张截图里的所有文字:/path/to/screenshot.png ``` OpenCode 会通过 MCP 调用 Tesseract,返回图片中的文本内容。 ## 如果暂时不用 MCP——直接命令行的方式 mcp-ocr-server 还是 WIP 状态,如果你只是想快速用 Tesseract OCR,可以直接装个命令行版本,不需要 MCP: ```powershell # Windows 上直接用 choco 装 choco install tesseract # 基本用法 tesseract imagename.png outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] # 示例:识别英文,输出纯文本 tesseract screenshot.png result -l eng # 示例:识别简体中文 tesseract chinese-doc.png result -l chi_sim # 示例:输出为 hOCR HTML 格式 tesseract screenshot.png result -l eng hocr ``` OpenCode 本身也可以通过 `bash` 工具直接调用系统里的 `tesseract` 命令,本质上是一样的。 ## 选型建议 | 场景 | 推荐方案 | |------|---------| | 快速原型验证 | 直接 `choco install tesseract`,bash 里调命令行 | | 正式项目,需要 AI Agent 自动处理图片 OCR | 等 mcp-ocr-server 成熟后通过 MCP 接入 | | 对识别率要求极高 | 先用 Tesseract CLI + 调参(图片预处理、去噪、二值化),效果比直接跑更好 | | 多语言文档处理 | 下载对应语言的 `.traineddata`,用 `-l lang1+lang2` 组合 | ## 写在最后 OpenCode 的 MCP 扩展机制让它不只是一个编程助手——接上 Tesseract,就是一个能"看图识字"的多模态 Agent。这个组合的想象空间挺大:自动化学籍文档识别、代码截图转可运行代码、老PDF文本提取……都是实实在在的痛点。 mcp-ocr-server 现在才 11 Stars,Roadmap 还没走完,如果你在实际项目中用了,有问题可以去 GitHub 提 Issue,这个项目目前还处于需要社区参与的阶段。 **你在 OpenCode 里用过 OCR 相关的功能吗?或者有什么图片转文字的需求?评论区说说。**
摘要
标签
多个标签用逗号分隔
分类
技术文章
教程指南
工具测评
项目实战
行业观察
默认
💾 保存修改
← 返回查看
返回列表