feat: v1.2.0 - 图片去重与管理、微信机器人优化、搜索设置可配置

主要功能:
- 图片上传时 OCR 内容去重(3个上传端点统一使用公共函数 _check_ocr_duplicate)
- 图片管理 Tab:展示所有图片、手动删除、一键去重
- 搜索结果详情弹窗增加删除按钮(带确认弹窗)
- 图片管理卡片点击查看详情(复用 showOcrDetailModal)
- 搜索限制和 LLM 批量判断数量可通过网站设置
- MiniMax API 调用添加 reasoning_split=True
- 企业微信机器人:WebSocket 长连接、图片搜索、配置化搜索数量
- 版本号升级至 1.2.0
This commit is contained in:
EduBrain Dev
2026-04-13 22:25:08 +08:00
commit b17786b57b
56 changed files with 9300 additions and 0 deletions

36
Dockerfile Normal file
View File

@@ -0,0 +1,36 @@
FROM python:3.11-slim
# ── 系统依赖PaddleOCR 需要的图形库) ──
RUN apt-get update && apt-get install -y --no-install-recommends \
libgl1-mesa-glx \
libglib2.0-0 \
libsm6 \
libxext6 \
libxrender-dev \
libgomp1 \
wget \
&& rm -rf /var/lib/apt/lists/*
# ── 设置工作目录 ──
WORKDIR /app
# ── 安装 Python 依赖(先复制 requirements.txt 利用 Docker 缓存) ──
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt \
&& pip install --no-cache-dir paddlepaddle==3.0.0b1 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
# ── 复制项目代码 ──
COPY . .
# ── 创建数据目录 ──
RUN mkdir -p /app/data/transcripts /app/data/images /app/data/exports
# ── 暴露端口 ──
EXPOSE 8000
# ── 健康检查 ──
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \
CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')" || exit 1
# ── 启动命令 ──
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]