# legal-bot **Repository Path**: happyabc/legal-bot ## Basic Information - **Project Name**: legal-bot - **Description**: LegalBot是一款基于人工智能的法律服务系统,提供智能合同生成、法律风险扫描和法律咨询等功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-29 - **Last Updated**: 2026-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LegalBot系统 LegalBot是一款基于人工智能的法律服务系统,提供智能合同生成、法律风险扫描和法律咨询等功能。 ## 目录 - [功能特性](#功能特性) - [技术栈](#技术栈) - [项目结构](#项目结构) - [快速开始](#快速开始) - [API文档](#api文档) - [Docker部署](#docker部署) - [配置说明](#配置说明) - [许可证](#许可证) ## 功能特性 ### 1. 智能合同生成系统(P0) - **合同模板库** - 劳动合同模板:符合最新劳动法规定 - 商铺租赁合同:包含押金条款和违约金计算 - 股权协议:涵盖股权分配、转让和稀释 - **智能填充引擎** - 企业信息自动获取(对接天眼查API) - 条款条件可视化配置 - 高风险条款自动红色标注 ### 2. 法律风险扫描(P1) - **文档分析** - NLP关键词提取技术 - 劳动法与合同法违法条款检测 - 0-5星风险等级评分 - **报告生成** - PDF批注式风险报告 - 合规修改建议 ### 3. 法律咨询引擎(P2) - **FAQ知识库** - 股权纠纷高频问题 - 劳动纠纷常见场景 - **AI应答系统** - 基于法律条文的结构化回答 - 相似案例推荐 - 紧急情况转人工提示 ### 4. 企业级管理后台(P1) - 多账号体系与权限管理 - 完整操作审计追踪 - 订阅管理与下载限制 ## 技术栈 - **后端框架**:FastAPI 0.104.1 - **Web服务器**:Uvicorn 0.24.0 - **数据验证**:Pydantic 2.5.2 - **身份认证**:python-jose、passlib - **数据库**:MongoDB(pymongo) - **文档生成**:WeasyPrint - **模板引擎**:Jinja2 - **NLP处理**:NLTK、scikit-learn - **容器化**:Docker ## 项目结构 ``` legal-bot/ ├── environment/ │ ├── doc/ │ │ ├── command/ # 命令行文档 │ │ └── report/ # 报告模板 │ ├── patch/ # 补丁文件 │ ├── repo/ # 核心代码 │ │ ├── main.py # FastAPI入口 │ │ ├── requirements.txt # Python依赖 │ │ ├── start.sh # 启动脚本 │ │ ├── postman_collection.json # Postman测试脚本 │ │ ├── .env.example # 环境变量示例 │ │ └── app/ │ │ ├── routers/ # API路由 │ │ │ ├── contract.py # 合同生成API │ │ │ ├── risk_scan.py # 风险扫描API │ │ │ ├── legal_qa.py # 法律咨询API │ │ │ └── admin.py # 管理后台API │ │ ├── services/ # 业务逻辑 │ │ │ ├── contract_service.py │ │ │ ├── risk_service.py │ │ │ ├── qa_service.py │ │ │ └── admin_service.py │ │ ├── schemas/ # 数据模型 │ │ │ └── user.py │ │ └── templates/ # 合同模板 │ │ ├── labor_contract.jinja2 │ │ ├── lease_contract.jinja2 │ │ └── equity_agreement.jinja2 │ ├── ssh_plugin/ # SSH插件 │ └── Dockerfile # Docker配置 └── README.md ``` ## 快速开始 ### 环境要求 - Python 3.11+ - MongoDB 5.0+(可选,用于生产环境) - Docker(可选,用于容器化部署) ### 本地开发 1. **克隆项目** ```bash cd legal-bot/environment/repo ``` 2. **创建虚拟环境** ```bash python3 -m venv venv source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows ``` 3. **安装依赖** ```bash pip install -r requirements.txt ``` 4. **配置环境变量** ```bash cp .env.example .env # 编辑.env文件,填入必要的配置 ``` 5. **启动服务** ```bash uvicorn main:app --host 0.0.0.0 --port 8000 --reload ``` 6. **访问API文档** - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc ## API文档 ### 合同生成 API | 方法 | 端点 | 描述 | |------|------|------| | GET | `/api/contract/templates` | 获取所有合同模板 | | GET | `/api/contract/templates/{template_id}` | 获取模板详情 | | POST | `/api/contract/generate` | 生成合同 | | GET | `/api/contract/enterprise/{company_name}` | 获取企业信息 | ### 风险扫描 API | 方法 | 端点 | 描述 | |------|------|------| | POST | `/api/risk/scan` | 扫描合同风险 | | GET | `/api/risk/risk-types` | 获取风险类型 | | POST | `/api/risk/generate-report` | 生成PDF报告 | ### 法律咨询 API | 方法 | 端点 | 描述 | |------|------|------| | POST | `/api/qa/ask` | 提交法律问题 | | GET | `/api/qa/faq/{category}` | 获取FAQ列表 | | GET | `/api/qa/categories` | 获取问题分类 | ### 管理后台 API | 方法 | 端点 | 描述 | |------|------|------| | POST | `/api/admin/login` | 用户登录 | | POST | `/api/admin/users` | 创建子账号 | | GET | `/api/admin/users` | 获取用户列表 | | PUT | `/api/admin/users/{user_id}` | 更新用户信息 | | DELETE | `/api/admin/users/{user_id}` | 删除用户 | | GET | `/api/admin/subscription/{company_id}` | 获取订阅信息 | | PUT | `/api/admin/subscription/{company_id}` | 更新订阅 | | GET | `/api/admin/audit-logs` | 获取审计日志 | | GET | `/api/admin/download-limit/{company_id}` | 获取下载额度 | ## Docker部署 ### 构建镜像 ```bash cd legal-bot/environment docker build -t legal-bot:latest . ``` ### 运行容器 ```bash docker run -d \ --name legal-bot \ -p 8000:8000 \ -e TYANIANCHA_API_KEY=your_api_key \ -e SECRET_KEY=your_secret_key \ legal-bot:latest ``` ### Docker Compose(推荐) 创建 `docker-compose.yml`: ```yaml version: '3.8' services: legal-bot: build: ../doc ports: - "8000:8000" environment: - TYANIANCHA_API_KEY=${TYANIANCHA_API_KEY} - SECRET_KEY=${SECRET_KEY} volumes: - ./app:/app restart: unless-stopped ``` 启动服务: ```bash docker-compose up -d ``` ## 配置说明 ### 环境变量 | 变量名 | 描述 | 必填 | |--------|------|------| | `API_HOST` | API监听地址 | 否,默认0.0.0.0 | | `API_PORT` | API监听端口 | 否,默认8000 | | `DEBUG` | 调试模式 | 否,默认false | | `TYANIANCHA_API_KEY` | 天眼查API密钥 | 是(生产环境) | | `SECRET_KEY` | JWT加密密钥 | 是(生产环境) | ### 默认账户 - 用户名:admin - 密码:admin123 **注意**:生产环境请立即修改默认密码! ## Postman测试 1. 导入 `postman_collection.json` 到Postman 2. 配置环境变量: - `base_url`: API服务地址 - `access_token`: 登录后获取的访问令牌 - `company_id`: 企业ID 3. 运行测试用例 ## 开发指南 ### 代码规范 - 遵循 PEP 8 Python编码规范 - 使用类型提示(Type Hints) - 所有公共API必须有文档字符串 - 提交前运行代码检查 ### 添加新功能 1. 在 `app/routers/` 创建路由文件 2. 在 `app/services/` 创建业务逻辑 3. 在 `main.py` 注册路由 4. 更新API文档字符串 5. 添加Postman测试用例