基于 NestJS 和 Next.js 的智能法律咨询系统,采用 Plan-and-Execute Agent 架构,支持自然语言查询法律案例和咨询法律问题。系统提供专业的法律建议和智能分析服务。
让公正触手可及 - Rightify致力于通过AI技术让法律服务更加智能化、便民化。
- 智能法律咨询 - 基于 Plan-and-Execute Agent 的专业法律建议
- 法律案例分析 - 智能分析和检索相关法律案例
- 案例搜索 - 快速查找相关法律案例和判例
- 律师推荐 - 根据案件类型推荐合适的律师
- 法律报告生成 - 自动生成专业的法律分析报告
- 实时流式响应 - 基于 SSE 技术的实时交互体验
- 现代化界面 - 基于 Next.js 和 Tailwind CSS 的美观界面
- 完整的 API 文档 - 基于 Swagger/OpenAPI 的自动文档
- NestJS 11+ - 企业级 Node.js 框架
- TypeScript 5+ - 类型安全的 JavaScript
- OpenAI SDK - 大语言模型接口
- RxJS - 响应式编程库
- Winston - 日志记录
- Class Validator - DTO 验证
- Swagger - API 文档
- Next.js 15.4.6 - React 全栈框架
- React 19.1.0 - 用户界面库
- TypeScript 5.x - 类型安全的 JavaScript
- Tailwind CSS 4.x - 实用优先的 CSS 框架
- Headless UI 2.2.6 - 无样式 UI 组件
- Framer Motion 12.23.12 - 动画库
- Heroicons & Lucide React - 图标库
rightify/
├── apps/
│ ├── backend/ # NestJS 后端
│ │ ├── src/
│ │ │ ├── config/ # 配置模块
│ │ │ ├── common/ # 公共工具、过滤器、拦截器
│ │ │ │ ├── filters/
│ │ │ │ ├── interceptors/
│ │ │ │ └── utils/
│ │ │ └── modules/ # 功能模块
│ │ │ ├── legal/ # 法律咨询模块
│ │ │ │ ├── controllers/
│ │ │ │ ├── services/
│ │ │ │ ├── dto/
│ │ │ │ └── interfaces/
│ │ │ ├── agent/ # AI Agent 模块
│ │ │ │ ├── controllers/
│ │ │ │ ├── interfaces/
│ │ │ │ └── legal-agent.service.ts
│ │ │ └── tools/ # 法律工具模块
│ │ │ └── tools.service.ts
│ │ ├── package.json
│ │ └── tsconfig.json
│ └── frontend/ # Next.js 前端
│ ├── src/
│ │ ├── app/ # Next.js App Router
│ │ ├── components/ # React 组件
│ │ └── contexts/ # React 上下文
│ ├── package.json
│ └── tsconfig.json
├── .env.example # 环境变量模板
├── package.json # 根 package.json (workspaces)
└── README.md
- Node.js 20+
- npm 10+
# 安装根依赖和后端依赖
cd apps/backend && npm install
# 安装前端依赖
cd ../frontend && npm install# 复制环境变量模板
cp .env.example .env
# 编辑 .env 文件,设置你的 API 密钥
# OPENAI_API_KEY=your_api_key_here# 启动后端服务 (端口 8000)
cd apps/backend
npm run start:dev
# 启动前端服务 (端口 3000)
cd apps/frontend
npm run dev或使用 npm workspaces:
# 同时启动前后端
npm run dev启动后端服务后,访问 http://localhost:8000/api/docs 查看 Swagger API 文档。
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /api/legal/consult |
法律咨询接口(流式响应) |
| POST | /api/legal/analyze |
法律案情分析接口 |
| POST | /api/legal/search-cases |
案例检索接口 |
| POST | /api/legal/recommend-lawyers |
律师推荐接口 |
| POST | /api/legal/generate-report |
生成法律分析报告接口 |
| GET | /api/health |
健康检查接口 |
| GET | /api/agent/status |
Agent 状态检查接口 |
cd apps/backend
# 开发模式(热重载)
npm run start:dev
# 生产构建
npm run build
# 生产模式运行
npm run start:prod
# 运行测试
npm run test
# 代码检查
npm run lint
# 格式化代码
npm run formatcd apps/frontend
# 开发模式
npm run dev
# 构建
npm run build
# 生产模式
npm run start
# 代码检查
npm run lint- 访问 http://localhost:3000 打开前端界面
- 选择服务类型:
- 法律咨询 - 获取专业法律建议
- 案例分析 - 分析具体法律案例
- 案例搜索 - 查找相关判例
- 律师推荐 - 获取律师推荐
- 报告生成 - 生成法律分析报告
- 输入您的问题或案例描述
- 点击提交按钮获取实时流式回复
系统采用 Plan-and-Execute Agent 架构:
- 规划节点 (Planner) - 分析用户查询并制定执行计划
- 执行节点 (Executor) - 执行当前计划步骤
- 分析节点 (Analyzer) - 分析执行结果并决定是否继续
- 最终化节点 (Finalizer) - 生成最终答案
- LegalAnalysisTool - 案情分析
- LegalCaseSearchTool - 案例搜索
- LawyerRecommendationTool - 律师推荐
- WebSearchTool - 网络搜索
- ReportGeneratorTool - 报告生成
- 请确保在使用前设置有效的 OpenAI API 密钥(或 DeepSeek API 密钥)
- 后端服务默认运行在 8000 端口
- 前端开发服务器默认运行在 3000 端口
- 系统支持实时流式响应,提供更好的用户体验
- 使用 Class Validator 进行请求参数验证
MIT License