律镜 LawMirror 项目总结
律镜 LawMirror 项目总结AI 驱动的智能类案检索与裁判规则分析平台文档生成日期2026-07-06一、项目概述1.1 项目定位律镜LawMirror是一款面向律师、法律工作者及普通用户的一站式AI 智能法律检索与裁判规则分析平台。平台以中国裁判文书数据库为核心结合同义词扩展、全文检索FTS5 / Elasticsearch与 DeepSeek 大模型能力提供自然语言类案检索、多案例对标分析、智能法律咨询、法官画像、个人工作台、会员订阅等完整功能。1.2 核心价值价值点说明自然语言检索用户可用口语化描述如欠钱不还自动映射法律术语并返回相关案例多案例对标支持 2-5 个案例横向对比覆盖基础 9 维度 会员深度 4 维度AI 流式问答基于检索到的真实案例进行 RAG 增强生成结论先行 案例引用 实务建议法官画像统计法官审理案例输出审判风格、支持率、改判率等深度标签会员体系免费用户受限使用会员解锁无限问答、导出、深度分析等能力1.3 项目根目录结构lj/ ├── backend/ # FastAPI 后端服务 │ ├── app/ │ │ ├── api/ # 11 个路由模块 │ │ ├── core/ # 配置、数据库、安全、FTS5、Redis │ │ ├── models/ # SQLAlchemy ORM 模型 │ │ ├── schemas/ # Pydantic 数据校验模型 │ │ ├── services/ # 业务服务层 │ │ ├── tasks/ # Celery 异步任务与定时调度 │ │ └── main.py # FastAPI 应用入口 │ ├── requirements.txt │ ├── Dockerfile │ └── init.sql ├── frontend/ # Vue3 Vite 前端应用 │ ├── src/ │ │ ├── views/ # 11 个业务页面 │ │ ├── components/ # 公共组件与特效组件 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── router/ # Vue Router 路由守卫 │ │ └── api/ # Axios 封装 │ ├── package.json │ └── vite.config.ts ├── docker/ # Docker 相关脚本 ├── scripts/ # 辅助脚本ES 重建索引、支付宝环境等 ├── 待审核案例/ # 253 条裁判文书原始数据txt json ├── docker-compose.yml # 7 服务容器编排 └── .env.example # 环境变量模板项目整体架构图图片二、业务逻辑分析2.1 用户角色与权限体系系统通过User.role字段区分三种角色权限逐级递增角色标识主要权限限制普通用户normal类案检索、案例阅读、收藏/笔记/分组、对标分析基础 9 维度每日问答 5 次终身导出 2 次法官画像仅基础统计会员用户premium普通用户全部权限 对标深度分析 法官深度画像 无限问答/导出需订阅有效期30 天/365 天过期自动降级管理员admin会员全部权限 后台案例审核 用户管理 数据统计不能注销自己手动设置即永久会员角色与权限关系图图片2.2 主体业务流程平台端到端主流程涵盖用户进入 → 检索 → 阅读 → 分析 → 付费升级 → 管理员审核的完整闭环。主体业务流程图图片2.3 核心功能模块2.3.1 智能类案检索支持三种检索模式采用ES 优先 → FTS5 全文 → SQL LIKE 回退的三级降级策略模式触发条件核心策略语义检索默认模式同义词扩展 三级 SQL 回退结构化检索用户填写过滤条件案由/层级/程序/地域/日期 LIKE以案搜案粘贴判决书 50 字跳过 Stage 1直接 FTS5 全文匹配案号精确正则匹配案号格式直接 LIKE 案号字段同义词库覆盖 60 条口语到法律术语的映射例如“欠钱” → [“借款”, “民间借贷”, “借贷”, “欠款”, “拖欠”]“老赖” → [“失信被执行人”, “拒不执行”, “恶意拖欠”]相关度评分机制案号命中 0.50、案由精确 0.30、案由模糊 0.15、标题 0.10、摘要 0.05。检索流程图图片2.3.2 案例阅读与关联双栏阅读器展示案例完整信息左侧为判决书原文右侧为 AI 提取的争议焦点、法律规则、关联实体。核心实体模型Case案例主表DisputeFocus争议焦点LegalRule法律规则LegalEntity法律实体当事人/法院/法官/法条CaseRelation案例关联相似/引用/对比案例阅读数据加载流程图图片2.3.3 案例对标分析用户选择 2-5 个案例进行横向对比支持上传外部判决书作为对比对象免费用户基础 9 维度案号、标题、法院、法院层级、审判程序、案由、裁判日期、裁判摘要、裁判要旨会员用户额外解锁争议焦点、法律实体、裁判规则、AI 深度分析上传案例使用负数 ID 标识临时对象避免与库内正数 ID 冲突。对标分析流程图图片2.3.4 法律智能问答SSE 流式基于 DeepSeek Chat API结合内部案例检索实现 RAG先给结论1-2 句话引用真实案例【案号】法院 — 核心裁判观点指出案例间观点冲突并分析原因给出实务建议不使用 markdown 标题用自然段落前端使用原生fetchReadableStream处理 SSE实现类 ChatGPT 的流式体验。后端通过X-Accel-Buffering: no头禁止 Nginx 缓冲。智能问答 SSE 流式时序图图片2.3.5 律师个人工作台用户的私人空间按user_id严格隔离实体用途Favorite收藏案例含 personal_tagsNote案例笔记支持段落/实体引用CaseGroup案例分组管理QASession / QAMessage问答历史会话UserActivity搜索/阅读行为日志工作台业务流程图图片2.3.6 法官画像统计某法官审理的全部案例输出审判风格画像免费基础统计会员平均审期、支持原告率、上诉改判率、高频法条、案由分布、风格标签法官画像权限分级流程图图片2.3.7 会员订阅与支付接入支付宝电脑网站支付RSA2 签名支持月度30 天/年度365 天两种方案三路状态同步前端轮询 异步通知 主动查询使用SELECT ... FOR UPDATE行锁防止并发重复激活续费订阅在剩余有效期基础上累加会员订阅支付流程图图片2.3.8 管理员后台与案例审核管理员独享后台负责案例全生命周期提交 → AI 加工 → 审核 → 上线 → 下架/删除案例状态机pending → summarizing → classifying → extracting → linking → completed / failed。FTS5 同步策略操作FTS5 处理审核通过INSERT OR REPLACE INTO cases_fts下架INSERT INTO cases_fts(cases_fts, delete, ...)恢复重新INSERT OR REPLACE永久删除先删 FTS5 再删 Case 行案例审核与上线流程图图片2.3.9 AI 加工流水线新案例上线前经过 4 阶段 AI 加工阶段名称产出Stage 1summarizing摘要 summaryStage 2classifying分类 category_1/2/3 tagsStage 3extracting争议焦点、法律规则、法律实体Stage 4linking案例关联图谱 CaseRelation每阶段可重试 3 次失败标记为failed由人工介入。AI 加工 4 阶段流水线图图片三、数据资产分析3.1 裁判文书样本库项目待审核案例/目录下包含253 条裁判文书原始数据每条案例包含同名的.txt判决书原文和.json结构化元数据文件共 506 个文件。3.2 案例分布统计按案件类型case_category_1类型数量占比民事20179.4%刑事3011.9%行政207.9%执行20.8%按法院层级court_level层级数量占比中级人民法院intermediate21384.2%基层法院basic2911.5%高级人民法院high114.3%按案由 Top 15case_category_2案由数量劳动争议15婚姻家庭纠纷11借款合同纠纷11侵权责任纠纷8消费者权益保护纠纷8买卖合同纠纷8继承纠纷7与公司有关的纠纷6著作权权属侵权纠纷6租赁合同纠纷5侵犯财产罪5执行异议之诉5海事海商纠纷5建设工程合同纠纷5不正当竞争纠纷5按地域分布 Top 10地域数量北京63广东45上海44江苏36浙江26山东19湖北8河南5福建2重庆1按裁判年份所有 253 条案例的裁判日期均为2024 年说明该样本库为统一生成的模拟/教学数据集用于平台功能验证与演示。3.3 数据结构示例每条案例的 JSON 元数据包含以下字段{case_no:2024沪03民终253,title:某用户诉某共享单车公司服务合同纠纷案,court:上海市第三中级人民法院,court_level:intermediate,court_region:上海,judge_name:尹法官,trial_procedure:second,case_category_1:民事,case_category_2:服务合同纠纷,case_category_3:共享经济,judgment_date:2024-09-05,ruling_abstract:共享单车计费异常多扣费——运营方应退还多收费用。,summary:某用户使用共享单车骑行仅15分钟就被收取了18元...}四、技术架构4.1 整体架构律镜采用典型的前后端分离架构前端Vue 3 Vite TypeScriptElement Plus UIPinia 状态管理后端FastAPI UvicornSQLAlchemy ORMPydantic 数据校验数据库MySQL 8.0生产/ SQLite开发回退缓存Redis 7生产/ 内存实现开发回退搜索引擎Elasticsearch 8.11生产/ SQLite FTS5开发回退消息队列RabbitMQ Celery生产/ asyncio 后台循环开发回退AI 大模型DeepSeek Chat API支付支付宝电脑网站支付RSA2容器化Docker Compose 编排 7 个服务系统整体架构图图片4.2 后端架构4.2.1 技术栈组件选型说明Web 框架FastAPI原生异步 ASGI自动生成 OpenAPI 文档ORMSQLAlchemy 2.0DeclarativeBase 声明式模型数据库驱动PyMySQL / SQLite双数据库兼容认证python-jose passlibJWT 双 Token bcrypt 密码哈希缓存redis-py / 自实现_InMemoryRedis开发零依赖启动搜索elasticsearch / FTS5三级降级策略异步任务Celery / asyncio生产/开发双方案HTTP 客户端httpx支持 DeepSeek 流式调用支付签名cryptographyRSA2 SHA2564.2.2 路由模块后端共注册 11 个 API 路由模块模块路径前缀说明auth/api/auth登录/注册/短信/Token 刷新users/api/users用户信息管理search/api/search语义/结构化/以案搜案检索cases/api/case案例详情与关联profiles/api/profile法官/法院画像compare/api/compare案例对标分析qa/api/qa智能问答SSEworkspace/api/workspace收藏/笔记/分组/导出admin/api/admin案例审核与用户管理payment/api/payment订阅方案与订单alipay_payment/api/payment/alipay支付宝支付与回调4.2.3 数据库模型核心表包括用户相关users、refresh_tokens、subscriptions、payment_orders、usage_daily案例相关cases、dispute_focuses、legal_entities、legal_rules、case_relations、judge_profiles、processing_logs用户内容favorites、notes、case_groups、case_group_items、qa_sessions、qa_messages、user_activities4.3 前端架构4.3.1 技术栈组件选型说明框架Vue 3.4组合式 API TypeScript构建工具Vite 6增量编译、HMRUI 组件库Element Plus 2.5配合 element-plus/icons-vue状态管理Pinia 2auth / search / compareBasket路由Vue Router 4History 模式 路由守卫HTTP 客户端Axios fetch普通请求用 AxiosSSE 用 fetch可视化ECharts 5 Three.js法官画像图表 Landing 特效4.3.2 页面视图前端共 11 个核心视图视图功能Landing.vue产品落地页与营销入口Login.vue登录/注册/短信验证Home.vue智能类案检索首页CaseReader.vue案例双栏阅读器Compare.vue多案例对标分析QA.vueAI 法律咨询SSE 流式Workspace.vue个人工作台JudgeProfile.vue法官画像Pricing.vue会员订阅与支付PaymentResult.vue支付结果页Admin.vue管理员后台4.3.3 状态管理auth store管理 JWT Token、用户信息、登录状态、会员权限search store管理检索条件与结果compareBasket store管理对比篮按用户 ID 隔离 localStorage4.4 容器化部署docker-compose.yml编排 7 个服务服务镜像端口说明mysqlmysql:8.03306主数据库redisredis:7-alpine6379缓存与 Tokenelasticsearchelasticsearch:8.11.09200/9300搜索引擎rabbitmqrabbitmq:3.12-management-alpine5672/15672消息队列backend自建 Dockerfile8000FastAPI 后端celery-worker自建 Dockerfile-异步任务执行器celery-beat自建 Dockerfile-定时任务调度器frontend自建 Dockerfile80Vue3 前端服务启动采用depends_oncondition: service_healthy确保基础设施就绪后再启动后端。五、关键技术实现与问题解决方案5.1 全文搜索的三级降级为兼顾生产性能与开发便捷搜索模块实现三级策略Elasticsearch生产环境优先BM25 相关度评分SQLite FTS5开发环境虚拟表 触发器自动同步SQL LIKE兜底全表扫描ES 可用性通过 1 秒超时的 ping 检测结果缓存 60 秒避免每次请求等待超时。5.2 开发环境零依赖启动组件生产方案开发回退方案数据库MySQL 8.0SQLite 自动建表缓存Redis 7_InMemoryRedis内存实现搜索Elasticsearch 8FTS5 SQL LIKE消息队列RabbitMQ Celeryasyncio 后台循环开发环境只需pip install -r requirements.txt即可启动后端。5.3 SSE 流式问答的稳定性后端使用httpx.AsyncClient流式读取 DeepSeek 响应通过X-Accel-Buffering: no禁止 Nginx 缓冲在异步生成器内部独立创建SessionLocal()会话存储 AI 回答避免DetachedInstanceError前端使用原生fetch处理 SSE绕过 Axios 的整体解析5.4 支付状态一致性支付宝回调严格 RSA2 验签使用with_for_update()行锁防止并发重复处理三路同步前端轮询 异步通知 主动查询任一通道检测到成功即激活订阅5.5 安全设计JWT 双 TokenAccess 30 分钟 Refresh 7 天密码 bcrypt 自动加盐哈希短信验证码 6 位 5 次错误上限 60 秒冷却期前端路由守卫每次导航刷新 profile实时校验角色与订阅状态六、用量限制与定时调度6.1 用量限制策略功能免费用户会员/管理员智能问答5 次/天无限导出报告终身 2 次无限对标分析基础 9 维度 深度分析法官画像基础统计 深度画像6.2 定时任务每小时检查过期订阅将到期会员降级为 normal每天零点重置每日用量每天更新法官画像每小时同步 ES 索引Celery 不可用时由main.py中的_scheduler_loopasyncio 后台循环兜底。定时调度流程图图片七、项目状态与总结7.1 当前状态项目已完成前后端核心功能开发包含完整的业务闭环后端 11 个 API 模块、前端 11 个视图页面均已实现253 条裁判文书样本数据已准备就绪覆盖民事、刑事、行政、执行四大类型Docker Compose 部署方案已就绪支持一键启动 7 个服务最近 Git 提交记录显示已完成支付宝支付修复与生产环境部署准备7.2 项目亮点AI 法律垂直场景深度融合不是简单的大模型问答而是基于真实案例库的 RAG 增强生成完整的商业化闭环检索 → 阅读 → 分析 → 问答 → 会员付费 → 管理员审核形成自洽体系工程化的降级设计生产与开发环境双方案降低开发门槛与运维成本数据安全与隔离用户数据严格按user_id隔离对比篮等本地存储也按用户隔离支付与订阅状态一致性多路同步 行锁保证支付结果可靠7.3 可优化方向案例库扩容当前 253 条为 2024 年模拟数据后续可接入真实裁判文书源并增加时间跨度ES 与 MySQL 数据同步当前定时同步可考虑 Canal 等实时同步方案AI 流水线稳定性可增加死信队列与更细粒度的重试策略前端性能案例列表与长文本阅读可加入虚拟滚动多端适配当前为 Web 应用后续可扩展小程序或移动端7.4 核心文件索引模块关键文件后端入口backend/app/main.py配置backend/app/core/config.py数据库backend/app/core/database.py认证安全backend/app/core/security.py全文搜索backend/app/core/fts.py搜索服务backend/app/services/search_service.py智能问答backend/app/api/qa.py支付服务backend/app/services/payment_service.py管理员后台backend/app/api/admin.pyAI 流水线backend/app/services/pipeline.py前端入口frontend/src/main.ts路由frontend/src/router/index.ts认证状态frontend/src/stores/auth.ts对比篮frontend/src/stores/compareBasket.ts部署编排docker-compose.yml八、附录核心接口清单模块路径前缀核心接口认证/api/authregister, login, refresh, sms/send-code, phone/bind, phone/unbind, setup, me检索/api/searchPOST /semantic含三种模式, GET /history案例/api/caseGET /:id详情, GET /:id/related关联对标/api/compareGET /search搜索案例, POST /start启动对比问答/api/qaPOST /askSSE, GET /sessions, GET /sessions/:id/messages, DELETE /sessions/:id, GET /quota工作台/api/workspacefavorites, notes, groups, groups/:id/items, export/case/:id画像/api/profileGET /judge/:name, GET /court/:name支付/api/paymentGET /plans, POST /create-order, GET /order/:no支付宝/api/payment/alipayPOST /create, GET /status, POST /notify管理员/api/admincases, cases/batch, cases/:id/review, cases/pending-review, cases/completed, cases/unpublished, users, users/:id/role, users/:id/lock, users/:id, stats总结律镜项目是一个架构清晰、功能完整、工程化程度较高的 AI 法律科技产品。前端采用 Vue3 Vite Pinia 现代化栈后端采用 FastAPI SQLAlchemy 多级降级方案兼顾性能与开发效率数据层以裁判文书为核心并通过 AI 流水线持续加工商业层通过会员订阅与支付宝支付形成闭环管理层通过管理员后台完成案例审核与用户运营。项目具备良好的可扩展性与维护性适合作为法律科技领域的 MVP 或产品基础继续迭代。