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

62
pyproject.toml Normal file
View File

@@ -0,0 +1,62 @@
[build-system]
requires = ["setuptools>=75.0", "wheel"]
build-backend = "setuptools.backends._legacy:_Backend"
[project]
name = "edu-brain"
version = "1.2.0"
description = "中文直播教育知识库系统 - 基于向量检索的知识管理平台"
readme = "README.md"
requires-python = ">=3.11"
license = {text = "MIT"}
authors = [
{name = "EduBrain Team"},
]
classifiers = [
"Development Status :: 3 - Alpha",
"Framework :: FastAPI",
"Programming Language :: Python :: 3.11",
"Topic :: Education",
]
dependencies = [
"fastapi>=0.115.0",
"uvicorn[standard]>=0.32.0",
"pydantic-settings>=2.6.0",
"sqlalchemy[asyncio]>=2.0.36",
"asyncpg>=0.30.0",
"alembic>=1.14.0",
"pgvector>=0.3.6",
"openai>=1.58.0",
"zhipuai>=2.4.0",
"dashscope>=1.20.0",
"sentence-transformers>=3.3.0",
"paddleocr>=2.9.0",
"mcp[cli]>=1.2.0",
"frontmatter>=3.2.0",
"python-multipart>=0.0.18",
"numpy>=1.26.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.24.0",
"httpx>=0.28.0",
"ruff>=0.8.0",
]
[project.scripts]
edu-brain = "app.main:app"
edu-brain-mcp = "app.mcp.server:run_mcp_server"
[tool.ruff]
target-version = "py311"
line-length = 120
[tool.ruff.lint]
select = ["E", "F", "I", "N", "W", "UP"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]