前言¶
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 進程權限運行,安裝前應檢查源碼與許可證。