logo
58
185
WeChat Login

所有的npc都有ocr能力吗?#4034

Open
created 6 days ago
Edit

你想做什么

想要了解npc的ocr能力

已尝试的步骤 / 参考的文档

@CodeBuddy 你有ocr能力吗?ocr能力是如何提供的?

Screenshot_2026-05-16-22-06-06-935_org.mozilla.firefox.jpg

你看到了什么?

1
32,711 tokens, 2.720 credits, ¥0.136

@samsong(AcidBunny) 你好!关于 NPC 的 OCR 能力,我来详细介绍一下:

OCR 能力说明

NPC(如我 CodeBuddy)的 OCR 能力是通过以下方式提供的:

1. 多模态模型直接识别(推荐)

如果 NPC 底层的 AI 模型支持图片输入(多模态能力),可以直接"看懂"图片内容,识别效果最好,适合截图、照片等场景。不过当前我运行的基础模型暂不支持直接读取图片像素内容。

2. Tesseract OCR 引擎(备选)

当底层模型不支持图片时,会通过 Tesseract 开源 OCR 引擎来提取图片中的文字。容器中已预装 Tesseract 并附带中文简繁体语言包,支持命令行和 Python 调用。

3. MarkItDown 工具链

通过 markitdown Python 库也能对图片进行 OCR 文字提取(需配置 LLM)。


你这张图片我看到了什么?

我用 Tesseract OCR 识别了你上传的截图,内容大致如下:

这是一张 CNB 制品库(docs.cnb.cool/zh/artifact/docker) 的文档页面截图,展示的是 Docker 推送制品 的相关配置说明,包括:

  • 本地命令行推送
    • 同名制品:docker build -t docker.cnb.cool/\${CNB_REPO_SLUG_LOWERCASE}:latest .docker push ...
    • 非同名制品:类似命令
  • 云原生构建中推送:通过 .cnb.yml 配置
  • 底部状态栏显示 22% 电量、main 分支、pushservices 等信息
  • 看起来是用手机 Firefox 浏览器打开的页面

总结: OCR 能力是 NPC 的一项实用功能,主要通过多模态模型或 Tesseract 引擎实现。对于截图中的中文文字识别,Tesseract 的效果还不错但不如多模态模型精准。如果你需要更高精度的图片识别,可以召唤支持多模态的 NPC 来处理。

Creator

@npc/CodeBuddy(deepseek-v4-pro) 你呢?

Screenshot_2026-05-13-20-59-50-228_com.tencent.tim.jpg

deepseek-v4-pro

NPC
1
309,165 tokens, 20.670 credits, ¥1.034
Creator

@CodeBuddy 你看看你的流水线

cnb-klo-1joojgph9-001.log

1
376,630 tokens, 23.250 credits, ¥1.163

@samsong(AcidBunny) 我看了一下这份流水线日志(构建 sn: cnb-klo-1joojgph9-001),这是我上一次被召唤时执行的构建记录。以下是分析:

📊 流水线概览

  • 构建耗时:约 53 秒(从 00:00:0000:00:53
  • 执行结果:✅ 成功,所有命令正常执行完毕
  • 主要阶段:环境准备 → Skill 加载 → OCR 识别 → 评论回复

🔍 执行过程拆解

阶段耗时说明
网络初始化~1snetwork-bus、orange-tc 容器启动
Git 仓库克隆~1.5sCoW 快照,已缓存
NPC 镜像拉取~12.5s拉取 cnbcool/default-npc:latest(有新层需下载)
Skill 加载~5s加载了 15+ 个 SKILL.md 文件
OCR 识别~5.3sTesseract 两次调用(psm 6 和 psm 3)
评论回复~0.5s调用 API 发布评论
清理~1s清理容器和网络

⚠️ 可以优化的点

  1. Skill 加载开销大:每个 Skill 文件都是单独 cat 读取,15+ 个文件串行执行,累计约 5 秒。可以通过并行读取或按需懒加载来优化。

  2. 镜像拉取cnbcool/default-npc:latest 花了 12.5 秒拉取新层。如果 Runner 侧有缓存策略可以避免每次都拉取。

  3. OCR 重复调用:Tesseract 被调用了两次(--psm 6--psm 3),第一次已经能得出结果,第二次是冗余的。

✅ 总结

流水线整体运行正常,没有报错或失败。构建 sn 从文件名看就是 1joojgph9-001,属于一次标准的 NPC 执行流程。有什么具体想关注的环节吗?

deepseek-v4-pro

NPC

@samsong(AcidBunny) 来了!我跑的是 deepseek-v4-pro 模型,不过目前这个模型同样不支持直接读取图片像素内容(多模态能力),所以和你之前召唤的 CodeBuddy 一样,我也是靠 Tesseract OCR 来识别你上传的截图。

你这张新截图我看到了什么?

这张截图是 腾讯 TIM 聊天界面(文件名 com.tencent.tim),时间是 20:59,关键内容是:

反复出现 "还在处理中,请稍等…"

看起来是某个 AI/处理流程卡住了,一直在输出"还在处理中"而没有实际返回结果。


和之前那个 CodeBuddy 的区别

之前那个 CodeBuddy我 (deepseek-v4-pro)
底层模型默认模型deepseek-v4-pro
多模态看图❌(同样是 Tesseract OCR)
OCR 引擎TesseractTesseract
识别结果CNB 制品库文档页TIM 聊天界面 / "还在处理中"

另外我看了你附件的流水线日志(cnb-klo-1joojgph9-001.log),里面记录了之前那个 NPC 的完整执行过程——它用 Tesseract 识别了第一张截图(CNB 文档页),然后 Comment 回到这个 Issue,整个流程正常结束了。

你这张 TIM 截图是在反馈某个流程卡住了吗?需要我帮忙排查什么?

withdrew a comment.
Creator

@npc/ocr(文字侦探在线OCR)
你来看看这张图片

Screenshot_2026-05-13-21-14-57-519_org.mozilla.firefox.jpg

你是如何进行ocr的?

线OCR

NPC
1
67,411 tokens, 4.770 credits, ¥0.238

线OCR

NPC

@samsong(AcidBunny) 我来看看这张图片!🔍

📋 图片识别结果

这是我通过 PaddleOCR-VL 视觉语言模型识别出的内容:

21:14 | 4G 4G 67 | cnb-4j8-1jogifpuc-001-happ

终端

已连接

/workspace

探索项目代码结构

在线

终端

设置

看起来这是一张 CNB 在线终端(Web Terminal) 的手机截图,通过 Firefox 浏览器访问,显示的是一个已连接到 /workspace 目录的终端界面。


🔧 我是如何进行 OCR 的?

我的 OCR 流程如下:

  1. 下载图片 — 从你的评论中提取图片链接,下载到本地
  2. 调用 PaddleOCR-VL 模型 — 使用百度开源的 PaddleOCR-VL-1.5(0.9B 视觉语言模型),这是一款多模态 OCR 模型,能同时理解图片视觉特征和文本内容
  3. 输出结果 — 模型将识别结果保存为 Markdown 格式文件

与其他 NPC 的区别

其他 NPC(如 CodeBuddy)我 (npc/ocr)
OCR 引擎Tesseract(传统 OCR)PaddleOCR-VL(多模态视觉语言模型)
识别方式基于模板匹配和字符分割基于 Vision-Language 模型理解
中文识别一般更强(VL 模型对中文理解更好)
复杂排版容易出错更好(能理解上下文布局)

简单来说,我用的是更先进的 多模态视觉语言模型 来做 OCR,而不是传统的 Tesseract 引擎,所以在复杂排版和多语言场景下效果会更好 😊

@CodeBuddy

Screenshot_20260517_005723_com_xingin_xhs_NoteDetailActivity.jpg这图片里有什么

1
184,454 tokens, 13.390 credits, ¥0.669

@cnb.ageYeGZgDeAA(AAA本地文件夹 ) 我尝试用 Tesseract OCR 识别了这张图片,但遗憾的是效果非常有限。

📱 从图片元数据可以确定的信息

属性
来源应用小红书(XHS / com.xingin.xhs)
页面NoteDetailActivity(笔记详情页)
截图时间2026-05-17 00:57:23 (UTC+8)
手机型号REA-AN00(华为 nova 系列)
图片尺寸1200 × 2664 像素(长截图)
文件大小约 445 KB

🔍 OCR 识别结果

Tesseract 仅能勉强识别出顶部状态栏的部分内容:

  • 左上角时间:00:57
  • 状态栏显示有信号、电量等信息

但正文内容几乎无法识别,原因可能是:

  1. 小红书使用了自定义字体/艺术字,不是标准印刷字体
  2. 文字叠加在彩色背景或图片上,对比度不足
  3. 包含大量** emoji、图标**等非文字元素
  4. 手机截图的 DPI 较低,长截图压缩后文字质量下降

💡 建议

如果需要高质量识别小红书截图内容,建议召唤 @npc/ocr(文字侦探在线OCR),它使用的是 PaddleOCR-VL 多模态视觉语言模型,对这类中文社交平台截图的识别效果会好很多。

Creator

@cnb.ageYeGZgDeAA(AAA本地文件夹 ) 散了吧,cnb似乎没有图像模型

Assignee
None yet
Label
使用问题:用法咨询
Priority
None yet
Time period
-
Property
Add custom properties to record and label key information
Participant