Files
aiagent/问题解决.md
2026-01-19 00:09:36 +08:00

1.6 KiB
Raw Blame History

注册失败问题 - 已解决

问题原因

注册失败有两个原因:

  1. 数据库不存在 - 数据库 agent_db 不存在
  2. 密码哈希错误 - passlib的bcrypt在初始化时遇到密码长度限制问题

解决方案

1. 创建数据库

已成功创建数据库和所有表结构:

# 创建数据库
docker-compose -f docker-compose.dev.yml exec backend python /app/scripts/create_database.py

# 创建表结构
docker-compose -f docker-compose.dev.yml exec backend python -c "from app.core.database import init_db; init_db(); print('✅ 数据库表创建成功')"

2. 修复密码哈希

将密码加密从 passlib 改为直接使用 bcrypt避免初始化时的bug检测问题

  • 使用 bcrypt.hashpw()bcrypt.checkpw() 直接处理密码
  • 正确处理72字节长度限制
  • 移除了对 passlib 的依赖

验证

数据库创建成功 表结构创建成功 注册功能测试通过

测试结果

curl -X POST http://localhost:8037/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"username":"demo","email":"demo@test.com","password":"demo123"}'

# 返回: {"id":"...","username":"demo","email":"demo@test.com","role":"user"}

已创建的表

  • users - 用户表
  • workflows - 工作流表
  • agents - 智能体表
  • executions - 执行记录表
  • model_configs - 模型配置表

下一步

现在可以:

  1. 注册新用户
  2. 登录系统
  3. 创建工作流
  4. 使用可视化编辑器

状态: 已解决 时间: 2024年