# AI Agent 企业级医保理赔智能审核系统 **Repository Path**: north-dream-testing/Intelligent-Medical-Insurance-Claim-Review-System ## Basic Information - **Project Name**: AI Agent 企业级医保理赔智能审核系统 - **Description**: 一个企业级医保理赔智能审核系统,采用多智能体协作架构(Multi-Agent System),结合本地大语言模型(LLM)、模型上下文协议(MCP)和 AI 护栏技术,实现理赔申请的全自动化智能审核。 系统完全本地化部署,无需外部 API 依赖,确保数据隐私和安全合规。通过 LangGraph 编排 6 个专业化智能体,覆盖从文档验证、保单核验、医疗合理性评估、欺诈检测到最终决策的完整审核流程。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-25 - **Last Updated**: 2026-09-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# ClaimLedger 医保智能核赔系统 ### 基于多智能体架构的医保理赔自动化审核平台 [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Python](https://img.shields.io/badge/Python-3.11+-green.svg)](https://www.python.org/) [![FastAPI](https://img.shields.io/badge/FastAPI-0.115-009688.svg)](https://fastapi.tiangolo.com/) [![LangGraph](https://img.shields.io/badge/LangGraph-0.2-ff6f00.svg)](https://langchain-ai.github.io/langgraph/) [![Docker](https://img.shields.io/badge/Docker-Ready-2496ED.svg)](https://www.docker.com/) [![Ollama](https://img.shields.io/badge/Ollama-Local%20LLM-000000.svg)](https://ollama.ai/) [English](README.md) | **简体中文**
--- ## 项目简介 ClaimLedger 是一个企业级医保理赔智能审核系统,采用**多智能体协作架构**(Multi-Agent System),结合本地大语言模型(LLM)、模型上下文协议(MCP)和 AI 护栏技术,实现理赔申请的全自动化智能审核。 系统完全**本地化部署**,无需外部 API 依赖,确保数据隐私和安全合规。通过 LangGraph 编排 6 个专业化智能体,覆盖从文档验证、保单核验、医疗合理性评估、欺诈检测到最终决策的完整审核流程。 ### 核心价值 - **全自动化审核**:从理赔上传到决策输出,全程无需人工干预 - **可解释性决策**:每个审核决策都提供完整的证据链和推理过程 - **本地化部署**:所有数据和模型运行在本地,满足医疗行业合规要求 - **多角色协作**:支持患者、理赔专员、审核员、审计员和管理员五种角色 - **实时状态追踪**:通过 WebSocket 实时展示审核流程进度 --- ## 系统架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ 前端层 (React) │ │ ┌──────────┬──────────┬──────────┬──────────┬──────────┐ │ │ │ 理赔上传 │ 状态追踪 │ 审核队列 │ 策略管理 │ 数据分析 │ │ │ └──────────┴──────────┴──────────┴──────────┴──────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ HTTP/WebSocket ┌─────────────────────────────────────────────────────────────┐ │ API 网关层 (FastAPI) │ │ ┌──────────┬──────────┬──────────┬──────────┬──────────┐ │ │ │ 认证授权 │ 理赔管理 │ 审核管理 │ 策略导入 │ 审计日志 │ │ │ └──────────┴──────────┴──────────┴──────────┴──────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 智能体编排层 (LangGraph StateGraph) │ │ │ │ START → 文档验证 → ┬─ 保单核验 ─────┐ │ │ ├─ 医疗评估 ─────┤→ 决策聚合 → END │ │ ├─ 欺诈检测 ─────┤ │ │ └─ 重复理赔检测 ──┘ │ └─────────────────────────────────────────────────────────────┘ ↓ MCP Protocol ┌─────────────────────────────────────────────────────────────┐ │ MCP 工具服务层 (5 Servers) │ │ ┌────────┬────────┬────────┬────────┬────────┐ │ │ │ OCR │ 保单 │ 医院 │ 欺诈 │ 患者 │ │ │ │ 服务 │ 服务 │ 服务 │ 服务 │ 历史 │ │ │ └────────┴────────┴────────┴────────┴────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 数据持久层 (SQLite) │ │ ┌──────────┬──────────┬──────────┬──────────┬──────────┐ │ │ │ 保单表 │ 医院表 │ 理赔表 │ 审计日志 │ 用户表 │ │ │ └──────────┴──────────┴──────────┴──────────┴──────────┘ │ └─────────────────────────────────────────────────────────────┘ ↕ ┌─────────────────────────────────────────────────────────────┐ │ 本地 LLM 服务 (Ollama) │ │ llama3.2:1b 模型 │ └─────────────────────────────────────────────────────────────┘ ``` --- ## 技术栈 ### 后端 - **框架**:FastAPI 0.115.0 + Uvicorn - **智能体编排**:LangGraph 0.2 + LangChain - **LLM 推理**:Ollama (llama3.2:1b) - **工具协议**:MCP (Model Context Protocol) - **数据库**:SQLite 3 - **AI 护栏**:Guardrails AI + 自定义验证器 - **OCR 引擎**:pytesseract + pdftotext ### 前端 - **框架**:React 18 + Vite - **UI 组件**:Tailwind CSS - **路由管理**:React Router v6 - **数据可视化**:Recharts - **HTTP 客户端**:Axios - **实时通信**:WebSocket API ### 部署 - **容器化**:Docker + Docker Compose - **反向代理**:Nginx - **操作系统**:Linux / Windows / macOS --- ## 快速开始 ### 前置要求 - Docker Desktop 4.20+ - 8GB+ 内存(推荐 16GB) - 10GB+ 磁盘空间 ### 一键部署 ```bash # 克隆项目 git clone cd ClaimLedger # 启动所有服务 docker-compose up -d # 等待 Ollama 模型下载完成(首次启动约需 2-5 分钟) docker logs -f claimledger-ollama-init # 查看服务状态 docker-compose ps ``` ### 访问系统 - **前端界面**:http://localhost:8080 - **后端 API**:http://localhost:8000 - **API 文档**:http://localhost:8000/docs - **Ollama 服务**:http://localhost:11434 ### 创建测试用户 ```bash # 创建患者账号 curl -X POST http://localhost:8000/api/auth/signup \ -H "Content-Type: application/json" \ -d '{"username":"patient01","password":"Test1234","role":"patient"}' # 创建管理员账号 curl -X POST http://localhost:8000/api/auth/signup \ -H "Content-Type: application/json" \ -d '{"username":"admin01","password":"Admin1234","role":"admin"}' # 创建审核员账号 curl -X POST http://localhost:8000/api/auth/signup \ -H "Content-Type: application/json" \ -d '{"username":"verifier01","password":"Verify1234","role":"verifier"}' ``` --- ## 功能展示 ### 1. 系统首页 系统提供统一的角色入口页面,支持患者、管理员和审核员三种角色快速登录。 ![系统首页](screenshots/01-首页.png) **核心特性**: - 清晰的角色定位说明 - 安全的身份认证入口 - 响应式设计,支持多设备访问 ### 2. 身份认证 基于角色的访问控制(RBAC),不同角色拥有不同的功能权限。 ![身份认证](screenshots/02-身份认证.png) **支持的角色**: - **患者(Patient)**:提交和追踪理赔申请 - **管理员(Admin)**:导入保单、审核工作流、管理用户 - **审核员(Verifier)**:审核标记为需要人工审查的理赔 - **理赔专员(Claims Officer)**:上传和追踪理赔 - **审计员(Auditor)**:查看审计日志 ### 3. 理赔上传 患者或理赔专员可以在线提交理赔申请,支持 PDF、PNG、JPG 格式文档上传。 ![理赔上传](screenshots/03-理赔上传.png) **功能亮点**: - 表单自动验证 - 支持最大 10MB 文档上传 - 实时文件类型检查 - 提交后立即返回理赔编号 ### 4. 数据分析仪表板 管理员和审计员可以查看系统全局统计数据,包括理赔状态分布、金额统计、决策分析等。 ![数据分析](screenshots/04-数据分析.png) **统计指标**: - 总理赔数、已批准、已拒绝、待审核 - 总理赔金额 - 自动决策 vs 人工决策对比 - 平均置信度分数 - 可视化图表(饼图、柱状图) ### 5. 保单管理 管理员可以导入新的保险策略,系统会自动注册缺失的医疗项目代码。 ![保单管理](screenshots/05-保单管理.png) **智能特性**: - 自动注册缺失的医疗项目 - 策略文本存储用于本地 RAG 检索 - 支持批量导入 - 策略版本管理 ### 6. 人工审核队列 当智能体决策置信度较低或检测到高风险时,理赔会自动进入人工审核队列。 ![审核队列](screenshots/06-审核队列.png) **审核流程**: - 查看完整的智能体分析报告 - 查看所有证据和置信度分数 - 输入审核理由(10-2000 字) - 批准或拒绝决策 - 审核记录自动写入审计日志 ### 7. 审计日志 系统记录所有智能体操作和用户行为,确保审核过程完全可追溯。 ![审计日志](screenshots/07-审计日志.png) **审计内容**: - 每个智能体的输入输出摘要 - 置信度分数和推理过程 - 操作时间戳 - 理赔 ID 关联 - 不可篡改的审计追踪 --- ## 智能体工作流 系统采用 LangGraph 编排 6 个专业化智能体,实现并行处理和决策聚合。 ### 工作流程 ``` 开始 ↓ 文档验证智能体 ├─ 验证文档完整性 ├─ OCR 文本提取 ├─ 输入护栏检查(PII/注入检测) └─ LLM 判断文档有效性 ↓ ┌────────────────────────┐ │ 并行执行 4 个智能体 │ ├────────────────────────┤ │ 保单核验 医疗评估 │ │ 智能体 智能体 │ │ │ │ 欺诈检测 重复理赔 │ │ 智能体 检测智能体 │ └────────────────────────┘ ↓ 决策聚合智能体 ├─ 证据聚合 ├─ 确定性决策引擎 ├─ 策略合规检查 └─ 生成可解释性报告 ↓ 结束 ``` ### 智能体职责 | 智能体 | 职责 | 工具 | 置信度来源 | |--------|------|------|-----------| | **文档验证** | 验证文档真实性、提取字段 | OCR MCP, Guardrails | LLM 判断 | | **保单核验** | 检查保单有效性、覆盖范围、余额 | 保单 MCP, 本地 RAG | 事实核查(1.0 或 0.95) | | **医疗评估** | 评估医疗费用合理性 | 历史 MCP, 成本参考 | LLM + 成本范围检查 | | **欺诈检测** | 计算欺诈风险分数 | 欺诈 MCP, 医院 MCP | 确定性规则引擎 | | **重复检测** | 检测 30 天内重复理赔 | 历史 MCP | 概率计算 | | **决策聚合** | 综合所有证据做出最终决策 | 证据聚合器, 决策引擎 | LLM 仅生成叙述 | ### 决策引擎 决策引擎采用**三阶段确定性评估**,LLM 无法覆盖决策结果: **阶段 1:硬性拒绝** - 文档无效 - 保单无效或未激活 - 患者/项目不在覆盖范围 - 医院在黑名单 - 欺诈风险等级为"严重" **阶段 2:需要人工审核** - OCR 回退(无法提取文本) - 字段不匹配 - 医疗费用不确定 - 欺诈风险在审核区间 - 超过自动批准限额 - 余额不足 - 智能体置信度低 **阶段 3:自动批准** - 所有检查通过 - 策略合规检查通过 --- ## API 文档 ### 认证接口 ```bash # 用户注册 POST /api/auth/signup { "username": "patient01", "password": "Test1234", "role": "patient" } # 用户登录 POST /api/auth/login { "username": "patient01", "password": "Test1234" } ``` ### 理赔管理 ```bash # 上传理赔 POST /api/claims/upload Headers: X-User-Role: patient Content-Type: multipart/form-data { "patient_id": "PAT-001", "patient_name": "张三", "policy_number": "POL-1001", "hospital_id": "HOSP-01", "procedure_code": "CARD-ANGIO", "claimed_amount": 120000, "document": } # 触发智能体处理 POST /api/claims/{claim_id}/process Headers: X-User-Role: admin # 查询理赔状态 GET /api/claims/{claim_id} Headers: X-User-Role: patient # 获取理赔列表 GET /api/claims Headers: X-User-Role: patient # 下载理赔报告 GET /api/claims/{claim_id}/report ``` ### 审核管理 ```bash # 获取待审核理赔 GET /api/reviews/pending Headers: X-User-Role: verifier # 提交人工审核 POST /api/claims/{claim_id}/review Headers: X-User-Role: verifier { "reviewer": "verifier01", "decision": "approved", "reasoning": "经审核,所有材料齐全,费用合理,予以批准。" } ``` ### 策略管理 ```bash # 导入保单策略 POST /api/policies/import Headers: X-User-Role: admin { "policy_number": "POL-2001", "holder_name": "张三", "patient_id": "PAT-1001", "member_name": "张三", "plan_type": "金钻计划", "coverage_limit": 800000, "remaining_coverage": 800000, "covered_procedures": ["CARD-ANGIO", "ORTHO-KNEE"], "status": "active", "start_date": "2025-01-01", "end_date": "2028-01-01", "policy_text": "本保单涵盖心脏导管插入术和膝关节置换术..." } ``` ### 数据分析 ```bash # 获取仪表板统计 GET /api/dashboard/stats Headers: X-User-Role: admin # 获取审计日志 GET /api/audit-logs Headers: X-User-Role: auditor # 获取单个理赔审计日志 GET /api/claims/{claim_id}/audit-logs Headers: X-User-Role: claims_officer ``` 完整 API 文档请访问:http://localhost:8000/docs --- ## 项目结构 ``` ClaimLedger/ ├── backend/ │ ├── api/ │ │ └── routes.py # API 路由定义 │ ├── agents/ │ │ ├── document_agent.py # 文档验证智能体 │ │ ├── policy_agent.py # 保单核验智能体 │ │ ├── medical_agent.py # 医疗评估智能体 │ │ ├── fraud_agent.py # 欺诈检测智能体 │ │ ├── duplicate_agent.py # 重复理赔检测智能体 │ │ ├── decision_agent.py # 决策聚合智能体 │ │ └── llm_utils.py # LLM 调用工具 │ ├── graph/ │ │ └── workflow.py # LangGraph 工作流定义 │ ├── mcp_client/ │ │ └── client.py # MCP 客户端管理器 │ ├── mcp_servers/ │ │ ├── ocr_server.py # OCR MCP 服务 │ │ ├── policy_server.py # 保单 MCP 服务 │ │ ├── hospital_server.py # 医院 MCP 服务 │ │ ├── fraud_server.py # 欺诈 MCP 服务 │ │ └── history_server.py # 患者历史 MCP 服务 │ ├── database/ │ │ └── db.py # 数据库操作层 │ ├── guardrails_engine/ │ │ └── validators.py # AI 护栏验证器 │ ├── governance/ │ │ └── audit.py # 审计日志管理 │ ├── config.py # 配置文件 │ ├── main.py # FastAPI 应用入口 │ ├── requirements.txt # Python 依赖 │ └── Dockerfile # 后端 Docker 镜像 ├── frontend/ │ ├── src/ │ │ ├── components/ │ │ │ ├── Landing.jsx # 首页 │ │ │ ├── AuthPage.jsx # 认证页面 │ │ │ ├── Portal.jsx # 门户框架 │ │ │ ├── ClaimUpload.jsx # 理赔上传 │ │ │ ├── ClaimTracking.jsx # 状态追踪 │ │ │ ├── ReviewQueue.jsx # 审核队列 │ │ │ ├── PolicyImport.jsx # 策略导入 │ │ │ ├── AuditLogs.jsx # 审计日志 │ │ │ ├── Analytics.jsx # 数据分析 │ │ │ └── Dashboard.jsx # 仪表板 │ │ ├── api/ │ │ │ └── api.js # API 客户端 │ │ ├── App.jsx # 路由配置 │ │ └── main.jsx # 应用入口 │ ├── package.json # Node 依赖 │ ├── vite.config.js # Vite 配置 │ ├── Dockerfile # 前端 Docker 镜像 │ └── nginx.conf # Nginx 配置 ├── docker-compose.yml # Docker Compose 编排 ├── README.md # 英文文档 └── README.ZH-CN.md # 中文文档 ``` --- ## 开发指南 ### 本地开发环境 #### 后端开发 ```bash cd ClaimLedger/backend # 创建虚拟环境 python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows # 安装依赖 pip install -r requirements.txt # 安装 Ollama 并拉取模型 ollama pull llama3.2:1b # 启动后端服务 uvicorn main:app --reload --host 0.0.0.0 --port 8000 ``` #### 前端开发 ```bash cd ClaimLedger/frontend # 安装依赖 npm install # 启动开发服务器 npm run dev ``` ### 添加新的智能体 1. 在 `backend/agents/` 创建新的智能体文件 2. 实现智能体逻辑,使用 `ask_llm_json` 调用 LLM 3. 在 `backend/graph/workflow.py` 中注册智能体节点 4. 更新工作流图,定义智能体之间的边 示例: ```python # backend/agents/my_agent.py from agents.llm_utils import ask_llm_json def my_agent(state): # 智能体逻辑 result = ask_llm_json( prompt="分析以下数据...", schema={"conclusion": "string", "confidence": "float"} ) return { "my_agent_result": result["conclusion"], "my_agent_confidence": result["confidence"] } # backend/graph/workflow.py from agents.my_agent import my_agent workflow.add_node("my_agent", my_agent) workflow.add_edge("some_agent", "my_agent") workflow.add_edge("my_agent", "decision_agent") ``` ### 添加新的 MCP 工具 1. 在 `backend/mcp_servers/` 创建或修改 MCP 服务 2. 使用 `@mcp.tool()` 装饰器暴露工具 3. 在 `backend/config.py` 的 `MCP_SERVERS` 中注册服务 示例: ```python # backend/mcp_servers/my_server.py from mcp.server.fastmcp import FastMCP mcp = FastMCP("my-service") @mcp.tool() def my_tool(param1: str, param2: int) -> dict: """工具描述 Args: param1: 参数1说明 param2: 参数2说明 """ return {"result": "value"} if __name__ == "__main__": mcp.run(transport="stdio") ``` --- ## 部署指南 ### 生产环境部署 #### 1. 调整资源配置 编辑 `docker-compose.yml`: ```yaml backend: environment: - OLLAMA_MODEL=llama3.2:3b # 使用更大的模型提高准确性 - AUTO_APPROVE_CONFIDENCE=0.90 # 提高自动批准阈值 - MAX_CLAIM_AMOUNT_AUTO=300000 # 降低自动批准限额 ``` #### 2. 数据持久化 确保以下卷已挂载到持久化存储: - `backend_db`:SQLite 数据库 - `backend_uploads`:上传的文档 - `backend_logs`:应用日志 - `ollama_data`:Ollama 模型数据 #### 3. 反向代理配置 使用 Nginx 或 Traefik 作为反向代理: ```nginx server { listen 80; server_name claims.example.com; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /api { proxy_pass http://localhost:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /api/ws { proxy_pass http://localhost:8000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } } ``` #### 4. HTTPS 配置 使用 Let's Encrypt 免费 SSL 证书: ```bash # 安装 Certbot apt install certbot python3-certbot-nginx # 获取证书 certbot --nginx -d claims.example.com ``` #### 5. 备份策略 ```bash # 备份数据库 docker exec claimledger-backend sqlite3 /app/database/claims.db .dump > backup_$(date +%Y%m%d).sql # 备份上传文档 docker cp claimledger-backend:/app/uploads ./backup_uploads_$(date +%Y%m%d) ``` ### 性能优化 1. **增加 Ollama 内存限制**: ```bash OLLAMA_NUM_PARALLEL=4 ollama serve ``` 2. **使用更大的 LLM 模型**: ```bash ollama pull llama3.2:3b # 或 llama3.1:8b ``` 3. **启用数据库索引**: ```sql CREATE INDEX idx_claims_patient ON claims(patient_id); CREATE INDEX idx_claims_status ON claims(status); CREATE INDEX idx_audit_logs_claim ON audit_logs(claim_id); ``` 4. **前端资源 CDN 加速**: 修改 `frontend/vite.config.js` 配置 CDN 地址。 --- ## 安全特性 ### 数据安全 - **本地化部署**:所有数据存储在本地,不传输到外部 - **密码哈希**:PBKDF2-SHA256,200,000 次迭代 - **SQL 注入防护**:使用参数化查询 - **XSS 防护**:React 自动转义输出 - **CSRF 防护**:CORS 配置限制源 ### AI 安全 - **PII 检测**:自动识别和标记个人身份信息 - **提示注入防护**:检测并阻止恶意提示注入 - **幻觉防护**:验证 LLM 输出与事实一致性 - **置信度验证**:确保所有置信度在 [0, 1] 范围内 - **JSON Schema 验证**:使用 Pydantic 验证所有 LLM 输出 ### 审计合规 - **不可篡改日志**:所有操作记录在审计日志中 - **完整证据链**:每个决策都有完整的推理过程 - **角色权限控制**:基于角色的访问控制(RBAC) - **操作追踪**:记录每个智能体的输入输出 --- ## 常见问题 ### Q1: 首次启动很慢怎么办? A: 首次启动需要下载 Ollama 模型(约 1.3GB),请耐心等待。可以通过以下命令查看进度: ```bash docker logs -f claimledger-ollama-init ``` ### Q2: 后端启动失败,提示数据库错误? A: 可能是数据库文件损坏。删除数据库卷并重启: ```bash docker-compose down -v docker-compose up -d ``` ### Q3: LLM 响应很慢或超时? A: 可以尝试: 1. 增加 Docker 内存分配(建议 8GB+) 2. 使用更小的模型:`ollama pull llama3.2:1b` 3. 检查 Ollama 日志:`docker logs claimledger-ollama` ### Q4: 如何更换 LLM 模型? A: 修改 `docker-compose.yml` 中的环境变量: ```yaml backend: environment: - OLLAMA_MODEL=llama3.1:8b # 更换为其他模型 ``` 然后重启后端: ```bash docker-compose restart backend ``` ### Q5: 前端无法连接到后端? A: 检查: 1. 后端是否正常运行:`curl http://localhost:8000/health` 2. CORS 配置是否正确:检查 `docker-compose.yml` 中的 `CORS_ORIGINS` 3. 浏览器控制台是否有错误信息 ### Q6: 如何查看智能体处理的详细日志? A: 查看后端日志: ```bash docker logs -f claimledger-backend ``` 或查看审计日志 API: ```bash curl http://localhost:8000/api/audit-logs \ -H "X-User-Role: auditor" ``` ### Q7: 如何备份数据? A: 备份数据库和上传文件: ```bash # 备份数据库 docker exec claimledger-backend sqlite3 /app/database/claims.db .dump > backup.sql # 备份上传文件 docker cp claimledger-backend:/app/uploads ./uploads_backup ``` ### Q8: 支持哪些文档格式? A: 目前支持: - PDF(数字生成和扫描件) - PNG - JPG/JPEG 最大文件大小:10MB ### Q9: 如何提高决策准确性? A: 可以: 1. 使用更大的 LLM 模型(如 llama3.1:8b) 2. 导入详细的保单文本用于 RAG 检索 3. 调整决策阈值(`AUTO_APPROVE_CONFIDENCE` 等) 4. 完善医疗项目成本参考数据 ### Q10: 系统可以处理多少并发理赔? A: 取决于硬件配置: - 默认配置(llama3.2:1b):建议 5-10 个并发 - 推荐配置(llama3.1:8b + 16GB 内存):建议 20-30 个并发 - 可以通过增加 Ollama 实例实现水平扩展 --- ## 贡献指南 欢迎贡献!请遵循以下步骤: 1. Fork 本仓库 2. 创建特性分支:`git checkout -b feature/amazing-feature` 3. 提交更改:`git commit -m 'Add amazing feature'` 4. 推送分支:`git push origin feature/amazing-feature` 5. 提交 Pull Request ### 代码规范 - Python:遵循 PEP 8 - JavaScript:遵循 Airbnb Style Guide - 提交信息:使用语义化提交(Conventional Commits) ### 测试 ```bash # 后端测试 cd backend pytest # 前端测试 cd frontend npm test ``` --- ## 许可证 本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件 --- ## 致谢 - [LangChain](https://github.com/langchain-ai/langchain) - LLM 应用开发框架 - [LangGraph](https://github.com/langchain-ai/langgraph) - 智能体编排框架 - [Ollama](https://ollama.ai/) - 本地 LLM 运行环境 - [FastAPI](https://fastapi.tiangolo.com/) - 现代 Web 框架 - [React](https://react.dev/) - 前端 UI 框架 - [MCP](https://modelcontextprotocol.io/) - 模型上下文协议 --- ## 联系方式 - 项目问题:提交 GitHub Issue - 功能建议:提交 Feature Request - 安全漏洞:请私信联系