首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >#WorkBuddy #AI办公 7万条维权线索怎么管?一个本地部署的检索系统就够了

#WorkBuddy #AI办公 7万条维权线索怎么管?一个本地部署的检索系统就够了

原创
作者头像
用户12736900
发布2026-09-03 15:46:11
发布2026-09-03 15:46:11
120
举报

FastAPI + SQLite + RapidOCR 离线识别,从零搭建维权线索管理系统 一个真实落地的本地部署方案:Excel 线索自动解析入库 + 营业执照 OCR + 全文检索 + 多账号协作,已稳定承载 6.9 万+ 条线索381 份文件3748 张证照截图


一、这篇文章要解决的问题

如果你是做诉讼维权方向的团队,大概率会遇到这样的场景:

  • 电商平台上盗版图书泛滥,每天有大量的「线索排查表」以 Excel 形式流转;
  • 线索表里有店铺名称、盗版经营公司、商品链接、销量、盗版售价,还内嵌了营业执照/出版物经营许可证的截图
  • 团队 2~10 家,需要多账号协作,但线索分散在各自电脑里,查一条店铺的历史记录要翻十几张表;
  • 想检索「某家店是否重复侵权」「某家公司名下有多少个店铺」,纯靠 Excel 的 Ctrl+F 几乎不可能。

这些问题,本质上是「非结构化的离线表格数据」无法被统一检索和追溯。本文给出一个轻量、零外部依赖、可单机跑通、可平滑上云的解决方案——维权线索管理系统

本文所有代码与方案均为真实生产实践,非 demo。文末附完整技术架构与避坑清单。


二、技术选型:为什么是这套组合

需求

选型

理由

Web 后端

FastAPI + Uvicorn

异步高性能,自动生成 OpenAPI 文档,部署轻量

数据库

SQLite(WAL 模式)

单机零运维,6.9 万条记录查询毫秒级;一个文件随迁随走

认证

JWT + bcrypt

无状态鉴权,适配多账号与后续上云

Excel 解析

openpyxl + xlrd

兼容 .xlsx 与老 .xls 两种格式

图片 OCR

RapidOCR(onnxruntime)

离线可用、中文识别效果好,无需调云端 API

文件监控

watchdog

目录新增/修改自动触发解析入库

前端

原生 HTML/CSS/JS 单页应用

零构建、零框架依赖,改完即用

核心原则只有一条:本地优先、离线优先、可控优先。维权数据涉及商业敏感信息,不适合直接丢给云端 OCR 服务或第三方数据库。


三、系统架构总览

整条数据链路是这样的:


四、核心模块实现

4.1 Excel 解析:兼容两行表头、换行、合并单元格

维权线索表往往不是规整的「一行表头 + 一行数据」,实际会碰到:

  • 两行表头(如第一行是「店铺信息」,第二行才是「店铺名称」「平台」);
  • 表头含换行符
  • 合并单元格

为此,系统内置了一张「字段别名映射表」,例如「店铺名称」列,能自动匹配 店铺名称 / 店铺 / 店名 / APP名称 等多种写法;「盗版经营公司」匹配 盗版经营公司 / 经营主体 / 经营公司未映射的列不会丢,统一保留在「原始数据」字段里,同样可被检索。

关键设计:.xls 老格式文件先复制副本再转换绝不改动用户的原始文件——维权证据文件一旦被污染,后果不堪设想。

4.2 OCR 识别:离线提取证照文字

表格里内嵌的营业执照截图,是整个线索里最有价值的字段之一——它能直接锁定侵权主体。系统在解析时自动提取这些内嵌图片,交给 RapidOCR 做离线识别:

  • 识别文本作为独立字段入库,可被关键词检索(例如直接搜统一社会信用代码或公司全称);
  • OCR 放在后台线程执行,不阻塞主流程,大量图片时每张约 1~3 秒;
  • 识别结果支持在详情页人工修正,修正记录带标记。

4.3 文件监控:从「手动导入」到「拖进文件夹即入库」

这是体验提升最明显的一环。配好监控目录后,团队只需把新的线索表丢进指定文件夹,系统自动:

  1. 检测到新增/修改文件;
  2. 解析入库;
  3. 后台跑 OCR;
  4. 全流程无需任何手动操作。

监控目录支持两种形态:本机路径直接填;同事电脑的文件夹先设 Windows 共享,再填 \\IP\共享名 网络路径,系统会自动切换为轮询监控。

4.4 全文检索:多关键词 AND 组合

检索是这套系统的灵魂。支持:

  • 输入店铺名 / 经营公司 / 图书名 / OCR 文本关键词,秒级返回所有关联线索;
  • 多关键词用空格分隔(AND 逻辑),例如 某出版社 拼多多 一次定位到指定平台上的侵权店铺。

4.5 账号权限:多角色协作

所有接口需登录(JWT)。两种角色:

  • admin:可添加团队成员账号、管理监控目录;
  • viewer:只读查看与检索。

满足 2~10 人团队的分工与数据隔离需求。

4.6 文件比对模块

针对「同一份线索表反复更新」的场景,提供文件比对能力:比对结果统一导出到指定的「比对·团队处理」区域,方便团队对增量线索做集中处理。


五、快速启动与部署

5.1 依赖

5.2 启动

5.3 三种部署形态

形态

做法

本机单机

直接运行,初次启动自动全量扫描监控目录

局域网共享

main.py 中 host 改为 0.0.0.0,防火墙开放 8300 端口

迁移上云

整个 clue-system 目录 + Python 环境迁过去即可,SQLite 在 data/ 目录随迁;数据备份只需拷贝 data/


六、踩过的坑(血泪经验,务必看)

  1. .xls 图片提取依赖本机 Excel(COM 组件):如果解析环境没有 Excel(如 Linux 云服务器),.xls 只导入数据、不提取图片,可装 LibreOffice 替代。
  2. 监控目录路径必须是「运行服务器这台电脑」能访问到的:填本机路径或 \\IP\共享名 网络共享路径,别填成别的电脑的本地路径。
  3. OCR 有延迟:后台线程识别,大量图片时需要耐心,别以为「卡住了」。
  4. 警惕工作目录被清理:如果一开始把服务部署在临时/会话目录,目录一清理服务就没了。务必部署在独立数据盘(如 D 盘),并配好开机自启动,避免重启后系统不可用。
  5. 及时改默认密码:多账号协作前先改密、再分配角色。

七、这套方案能复用到哪些场景

本文的「文件监控 → 解析入库 → OCR → 全文检索 → 多账号协作」架构,本质是一个通用离线文档智能检索引擎,稍作改造即可复用于:

  • 合同/票据批量归档检索;
  • 工商登记信息批量核对;
  • 证照、资质文件的统一管理与 OCR;
  • 任何「一堆 Excel 需要被统一搜」的办公场景。

八、写在最后

这套系统的价值不在用了多「炫」的技术,而在于把一个高频、重复、易错的维权排查流程,变成了「丢文件进去就能查」的自动化闭环。从线索的稳定运行来看,SQLite + FastAPI + 离线 OCR 的轻量组合,完全扛得住中小团队的真实业务量。

如果你也在做类似的版权保护或数据治理工作,欢迎交流。文中的字段映射、OCR 离线化、网络共享监控这三处,是踩坑后反复打磨出来的,希望能帮你少走弯路。


(本文为真实项目实践整理,涉及的具体账号、目录、数据规模均为实际运行数据。)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、这篇文章要解决的问题
  • 二、技术选型:为什么是这套组合
  • 三、系统架构总览
  • 四、核心模块实现
    • 4.1 Excel 解析:兼容两行表头、换行、合并单元格
    • 4.2 OCR 识别:离线提取证照文字
    • 4.3 文件监控:从「手动导入」到「拖进文件夹即入库」
    • 4.4 全文检索:多关键词 AND 组合
    • 4.5 账号权限:多角色协作
    • 4.6 文件比对模块
  • 五、快速启动与部署
    • 5.1 依赖
    • 5.2 启动
    • 5.3 三种部署形态
  • 六、踩过的坑(血泪经验,务必看)
  • 七、这套方案能复用到哪些场景
  • 八、写在最后
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档