# contract-review **Repository Path**: xiaodingfeng/contract-review ## Basic Information - **Project Name**: contract-review - **Description**: Contract Review 是一个面向中文合同审查场景的 Web 应用。系统支持合同上传、AI 预分析、审查点配置、OnlyOffice 在线预览编辑、知识库检索、裁判文书增强、智能问答和受控联网搜索。【 Github 仓库 https://github.com/xiaodingfeng/contract-review 】 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: https://contract.fengzhengx.cn - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 3 - **Created**: 2026-02-04 - **Last Updated**: 2026-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: 合同审查, 知识库审查 ## README # Contract Review AI > 基于 AI 的中文合同审查与知识库增强平台,支持合同风险分析、OnlyOffice 在线审阅、法律知识检索与智能问答。 如需帮助,可微信联系 wx ## ✨ Features - 📄 合同上传与 AI 预分析 - 支持 DOCX / PDF 上传,自动检测扫描件并提示 - 自动识别合同类型、主体信息与审查范围 - 异步分析任务,Socket.IO 实时推送进度与 ETA - ⚖️ 合同风险审查 - 输出风险点、修改建议、相关法条与审查理由 - 风险仪表盘:整体风险等级 + 高/中/低分级筛选排序 - 违约成本分析与法律依据引用(citations)渲染 - 专项审查持久化,支持历史记录查看与恢复 - 支持关联裁判文书增强分析 - 谈判博弈模拟:对修改建议反向推演,输出对方反驳 / 折中方案 / 谈判话术,已推演建议按钮显绿色勾标记 - 行业标准对比:审查时自动检索标准条款库,对核心条款输出差异对比 - 导出审查报告(HTML / PDF / Word),含风险证据、法条时效、标准对比、增量审查记录 - 📝 OnlyOffice 在线协同编辑 - 文档内精准定位条款 - 添加批注与修改建议 - 一键采纳建议并高亮变更内容 - 版本管理:任意两版本对比、缺失条款一键补全 - 📚 法律知识库 - 支持法律法规、裁判文书、审查规则导入 - 支持向量检索、删除与模板下载 - 行业标准条款库:公共库 + 私有库,适用合同类型多选,审查时自动对比 - 法律时效性监控:标注现行 / 已修订 / 已废止,附替代版本提示 - 🏢 企业核验 - 企查查 OpenAPI v2(AppKey + SecretKey + MD5 签名) - 天眼查 Bearer 鉴权 - 无 Token 时自动回退到网页搜索,提取法定代表人 / 统一社会信用代码 / 风险关键词 - 📋 审查模板管理 - 在线 CRUD,支持合同类型关键词、审查点、核心目的、报告章节配置 - 版本快照与回滚,系统模板不可删除 - 🤖 智能问答 - SSE 流式输出 - 携带上下文会话历史,按合同隔离问答记录 - 支持知识库检索 + 受控联网搜索(含广告过滤与重试) - 📋 审查记录管理 - 历史记录搜索与多维度筛选(状态、合同类型) - 展示合同类型、审查立场与风险点统计 - 🧠 向量检索与 AI 能力 - Embedding / Rerank - Milvus 向量数据库 - OpenAI Compatible API - 检索优化:候选集最小 48 条 + 单 query 降级补充 + ngram 二次切分提升短关键词召回 - 分通道检索:通道 A(审查维度)+ 通道 B(合同内容),配额融合 + 软阈值 - 谈判博弈模拟:LLM 单次反向论证,推断对方立场与折中方案 - 视觉模型印章分析:PS 疑似 / 位置合规 / 印章类型识别 - 🐳 Docker 一键部署 - PostgreSQL - Milvus - MinIO - OnlyOffice *** ## 🖼️ Demo | 首页 | 合同分析 | | -------------- | -------------- | | ![](img/1.jpg) | ![](img/2.jpg) | | 风险审查 | 修改建议 | | -------------- | -------------- | | ![](img/3.jpg) | ![](img/5.jpg) | | 知识库 | 智能问答 | | --------------- | -------------- | | ![](img/10.jpg) | ![](img/9.jpg) | 更多演示图: ![](img/7.jpg) ![](img/12.jpg) ![](img/6.jpg) ![](img/4.jpg) ![](img/11.jpg) *** ## 🏗️ Tech Stack ### Frontend - Vue 3 - Vite - Element Plus - Tailwind CSS - OnlyOffice Document Editor ### Backend - Node.js - Express - Knex - PostgreSQL - Socket.IO ### AI / RAG - OpenAI Compatible Chat API - Embedding - Rerank - Milvus - 法律 Markdown 解析 - 裁判文书 JSON 解析 - 谈判博弈模拟(LLM 反向论证) - 视觉模型印章分析 - 企查查 / 天眼查企业核验 ### Infrastructure - Docker Compose - PostgreSQL - Milvus - MinIO - etcd - OnlyOffice *** ## 📁 Project Structure ```text . ├── backend/ │ ├── data/ # 法律法规、裁判文书、模板 │ ├── routes/ # API 路由(contracts / knowledge / standards / ...) │ ├── services/ # AI / 向量库 / 检索 / 谈判模拟 / 企业核验 │ └── uploads/ # 上传目录(已忽略) │ ├── frontend/ │ ├── src/ # Vue 源码 │ └── dist/ # 构建产物(已忽略) │ ├── data/ │ ├── postgres/ # PostgreSQL 数据目录 │ ├── milvus/ # Milvus / MinIO / etcd │ └── onlyoffice/ # OnlyOffice 数据目录 │ ├── docker-compose.yml └── README.md ``` *** ## 🚀 Quick Start ### 1. Clone Repository ```bash git clone https://github.com/xiaodingfeng/contract-review cd contract-review ``` *** ### 2. Install Dependencies ```bash # backend cd backend npm install # frontend cd ../frontend npm install ``` *** ### 3. Configure Environment Variables ```bash # backend copy .env.example .env # frontend copy .env.example .env ``` ### Backend Required Variables ```env LLM_API_KEY= EMBEDDING_API_KEY= ONLYOFFICE_JWT_SECRET= ``` 同时需要配置: - PostgreSQL - Milvus - OnlyOffice *** ### 4. Start Infrastructure Services ```bash docker compose up -d ``` *** ### 5. Start Backend ```bash cd backend npm run dev ``` 首次启动会: - 初始化数据库 *** ### 6. Start Frontend ```bash cd frontend npm run dev ``` 默认访问地址: ```text http://localhost:8080 ``` *** ## ⚙️ Environment Variables ### Backend | Variable | Description | | --------------------------- | --------------------- | | `LLM_BASE_URL` | LLM API 地址 | | `LLM_API_KEY` | LLM API Key | | `LLM_MODEL` | 聊天模型 | | `EMBEDDING_BASE_URL` | Embedding API | | `EMBEDDING_MODEL` | 向量模型 | | `RERANK_MODEL` | 重排模型 | | `DATABASE_URL` | PostgreSQL 连接 | | `VECTOR_STORE` | 向量数据库类型 | | `MILVUS_*` | Milvus 配置 | | `ONLYOFFICE_URL` | OnlyOffice 地址 | | `ONLYOFFICE_JWT_SECRET` | OnlyOffice JWT Secret | | `VISION_MODEL_NAME` | 视觉模型(印章分析,可选) | | `COMPANY_API_TOKEN` | 企业核验 AppKey(企查查) | | `COMPANY_API_SECRET` | 企业核验 SecretKey(企查查) | | `KNOWLEDGE_SCORE_THRESHOLD` | 知识库 rerank 阈值(默认 0.6) | ### Frontend | Variable | Description | | -------------------------- | ------------- | | `VITE_APP_BACKEND_API_URL` | 后端 API 地址 | | `VITE_APP_ONLYOFFICE_URL` | OnlyOffice 地址 | *** ## 📚 Knowledge Base Initialization 默认配置: ```env KNOWLEDGE_SEED_TYPES=law,case LAW_SEED_DIRS=社会法,民法典 CASE_SEED_DIR=data/candidate_55192 CASE_SEED_LIMIT=10 ``` ### 仅初始化法律法规 ```env KNOWLEDGE_SEED_TYPES=law ``` ### 仅初始化裁判文书 ```env KNOWLEDGE_SEED_TYPES=case ``` ### 初始化指定法律目录 ```env LAW_SEED_DIRS=经济法,行政法 ``` *** ## 🧩 Built-in Dataset 默认仓库仅包含部分法律法规与裁判文书数据。 完整数据请额外拉取: ```bash git clone https://github.com/xiaodingfeng/contract-review-laws.git ``` 示例合同文件: ```text offer-demo.docx ``` *** ## 🛠️ Build ```bash cd frontend npm run build ``` 当前构建配置: - Vite ESM - 路由懒加载 - Rollup Manual Chunks - 第三方依赖拆包优化 *** ## 🔐 Security Notes - 不要提交: - `.env` - API Key - 数据库密码 - 上传文件 - Docker 数据目录 - 联网搜索: - 仅用于公开信息检索 - 涉及敏感内容时自动拒绝 - 数据库存储: - 仅保存路径与元数据 - 不保存文件二进制内容 *** ## 📄 License MIT *** ## ⭐ Acknowledgements - OnlyOffice - Milvus - OpenAI - Vue.js - PostgreSQL - Element Plus *** ## ⭐ Star History ## Star History [![Star History Chart](https://api.star-history.com/chart?repos=xiaodingfeng/contract-review&type=date&legend=top-left&sealed_token=ss0QmgJTyGQ2QoMe5CY8kK6ncujDCEClp5r_2zWZOBhfAziQm6MlW8IpWrv4QkylbQ9Bqb0168_b2qgMTOplmjbW2zvx3v6u1nsZL1XjmOILDrQRhW1lUQ)](https://www.star-history.com/?repos=xiaodingfeng%2Fcontract-review&type=date&legend=top-left)