dsh-local-ocr:DeepSeek Harness 本地 OCR 插件

前言

DeepSeek Harness(DSH)采用插件化架构,允许开发者在不修改核心源码的情况下扩展功能。在构建智能体时,处理本地图片内容是一个常见需求。dsh-local-ocr 是一个独立的本地 OCR 库及 DSH 工具插件,它提供了基于系统原生能力的文字识别解决方案。

插件介绍

该插件由 littlewrite 维护。它通过 @napi-rs/system-ocr 适配器,将 macOS 的 Vision 框架和 Windows 的 Media OCR 封装为统一的 Node.js API。插件以 Bundle 形式存在,按需加载,不拥有缓存,也不决定 OCR 的运行时机。

安装与启用

在安装前,请确保环境满足以下要求:
* Node.js 20 或更新版本
* 已安装 pnpm
* 已安装 DeepSeek Harness dsh 命令

通过官方安装命令将插件添加到 Web profile:

npx -y github:littlewrite/dsh-local-ocr install

如需指定 profile,可添加 --profile web 参数。安装完成后,需重启 dsh web 使插件生效。

核心功能

  • 本地引擎:调用系统原生 OCR 能力,无需上传图片。
  • 按需加载:原生插件仅在模型调用工具时加载,不影响启动速度。
  • 源码无损:不修改 deepseek-harness 源码,仅通过 Cordis patch 注入。
  • 统一接口:通过 @napi-rs/system-ocr 提供跨平台的 Node.js API。

典型用法

插件注册了一个名为 local_ocr_image 的工具,Agent 调用该工具时需传入本地绝对路径图片。

对于开发者,可直接使用其提供的库 API:

import { createOcrService } from './src/ocr.js'

const ocr = createOcrService()
const result = await ocr.recognize({
  path: '/tmp/image.png',
  languages: ['zh-cn', 'en-US'],
  mode: 'accurate',
  signal,
})

返回值包含稳定的字段:

{
  "text": "recognized text",
  "confidence": 0.8,
  "engine": "darwin-system-ocr",
  "durationMs": 12
}

当图片中无文字时,返回 text: "" 和 confidence: 0。

注意事项

  • 系统支持:仅支持 macOS 和 Windows,不支持 Linux。
  • 路径要求:图片路径必须是绝对路径。
  • 运行机制:插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜