GraphChat 是一个创新的网状思维图谱AI助手,打破传统线性对话模式,通过图谱结构组织知识,让AI交互更符合人类思维习惯。
- 网状思维界面:用节点和连线替代传统聊天框,支持多分支、跨主题的思维展开
- 注意力追踪:记录用户的交互轨迹,让AI理解思维重点和偏好
- 智能推荐:基于注意力数据提供个性化内容推荐和思维拓展
- 管理后台:提供用户行为分析、图谱复盘、系统监控等运营工具
- 实时协作:WebSocket支持的实时图谱更新和多用户同步
- Docker >= 20.10
- Docker Compose >= 1.29
- Node.js >= 18 (开发前端)
- Python 3.12 (开发后端)
GraphChat/
├── backend/ # FastAPI 后端
│ ├── app/
│ │ ├── api/ # API路由
│ │ ├── models/ # 数据库模型
│ │ ├── schemas/ # Pydantic模型
│ │ ├── services/ # 业务逻辑
│ │ └── core/ # 核心工具
│ └── alembic/ # 数据库迁移
├── frontend/ # React 前端
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── services/
│ │ └── stores/
│ └── public/
├── docker-compose.yml
└── scripts/
├── dev.sh # 开发环境启动
└── prod.sh # 生产环境启动
- 开发环境
# 启动完整开发环境(数据库 + 后端 + 前端)
./scripts/dev.sh- 生产环境
# 启动生产环境(Docker部署)
./scripts/prod.sh- 启动数据库和缓存
docker-compose up -d postgres redis- 配置后端
cd backend
cp .env.example .env
# 编辑 .env 文件,填入 OpenAI API Key
uv add -r requirements.txt
alembic upgrade head
uvicorn app.main:app --reload- 启动前端
cd frontend
npm install
npm run dev| 服务 | 地址 | 说明 |
|---|---|---|
| 前端应用 | http://localhost:3000 | React应用 |
| 后端API | http://localhost:8000 | FastAPI服务器 |
| API文档 | http://localhost:8000/api/v1/docs | Swagger文档 |
| PostgreSQL | localhost:5432 | 数据库 |
| Redis | localhost:6379 | 缓存 |
- 安装依赖
cd backend
uv add <package-name>- 数据库迁移
# 创建迁移
alembic revision --autogenerate -m "描述"
# 应用迁移
alembic upgrade head
# 回滚
alembic downgrade -1- 运行测试
pytest app/tests/- 安装依赖
cd frontend
npm install- 代码规范
# ESLint 检查
npm run lint
# 自动修复
npm run lint:fix
# Prettier 格式化
npm run format- 构建生产版本
npm run build- FastAPI - 现代Python Web框架
- SQLAlchemy - ORM
- Alembic - 数据库迁移
- PostgreSQL - 主数据库
- Redis - 缓存
- OpenAI - AI接口
- JWT - 认证
- React 18 - UI框架
- TypeScript - 类型安全
- Vite - 构建工具
- Tailwind CSS - 样式框架
- D3.js - 图谱可视化核心
- Cytoscape.js - 高级图谱渲染(管理后台)
- Zustand - 状态管理
- React Router - 路由管理
- React Hot Toast - 消息提示
- Lucide React - 图标库
DEBUG=true
POSTGRES_SERVER=localhost
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=graphchat
POSTGRES_PORT=5432
SECRET_KEY=your-secret-key
OPENAI_API_KEY=your-openai-api-key
OPENAI_MODEL=gpt-3.5-turboVITE_API_URL=http://localhost:8000/api/v1# 确保 PostgreSQL 正在运行
docker-compose up -d postgres
# 检查连接
psql -h localhost -U postgres -d graphchat# 检查 CORS 设置
# 确保后端 ALLOWED_HOSTS 包含前端地址
# 检查代理配置
# Vite 配置中的 proxy 设置# 检查 API Key 是否正确
# 确认网络连接
# 检查配额是否充足- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
- 基础用户系统(注册/登录)
- D3.js图谱可视化实现
- WebSocket实时通信
- 注意力追踪系统
- 管理后台(用户管理/图谱复盘)
- AI对话集成
- 图谱语义聚类与自动主题命名
- 注意力驱动的AI主动学习机制
- 图谱关系预测和智能推荐
- 图谱回放(思维路径动态可视化)
- 多人协作模式(团队图谱共享)
- 多模态节点支持(图片/文件/链接)
- 移动端适配优化
- 插件系统扩展
- 导出/导入功能增强
项目状态: 🚀 v0.2 已完成 - 管理后台与注意力追踪系统
联系方式: 请通过 GitHub Issues 提交问题和建议