调整用户初始化数据为管理员账号

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
2026-05-11 16:31:13 +08:00
parent 9836579887
commit c4e3d06072
3 changed files with 13 additions and 4 deletions
+2 -1
View File
@@ -81,7 +81,8 @@
- `POST /api/v1/chat/sessions/{id}/messages`(需要 `chat.use`
初始化管理员(可选):
- 在 `.env` 设置 `INITIAL_ADMIN_EMAIL`、`INITIAL_ADMIN_USERNAME`、`INITIAL_ADMIN_PASSWORD`
- 在 `.env` 设置 `INITIAL_ADMIN_EMAIL`、`INITIAL_ADMIN_USER_ID`、`INITIAL_ADMIN_USERNAME`、`INITIAL_ADMIN_PASSWORD`
- 默认值:`INITIAL_ADMIN_USER_ID=admin`、`INITIAL_ADMIN_USERNAME=管理员`
- API 启动时会自动创建并赋予 `admin` 角色
## Docker Compose 部署
+2 -1
View File
@@ -70,7 +70,8 @@ class Settings(BaseSettings):
atp_engine_max_timeout_seconds: int = 3600
initial_admin_email: str | None = None
initial_admin_username: str = "admin"
initial_admin_user_id: str = "admin"
initial_admin_username: str = "管理员"
initial_admin_password: str | None = None
model_config = SettingsConfigDict(
+9 -2
View File
@@ -487,10 +487,15 @@ def _seed_initial_admin(db: Session) -> None:
if not admin_role:
return
admin_user_id = settings.initial_admin_user_id.strip()
if not admin_user_id:
return
admin_email = settings.initial_admin_email.lower()
user = db.scalar(select(User).where(User.email == admin_email))
user = db.scalar(select(User).where((User.id == admin_user_id) | (User.email == admin_email)))
if not user:
user = User(
id=admin_user_id,
email=admin_email,
username=settings.initial_admin_username,
password_hash=hash_password(settings.initial_admin_password),
@@ -509,7 +514,9 @@ def _seed_legacy_tower_models_if_empty(db: Session) -> None:
if existing_count > 0:
return
actor = db.scalar(select(User).where(User.username == settings.initial_admin_username))
actor = db.scalar(select(User).where(User.id == settings.initial_admin_user_id))
if actor is None:
actor = db.scalar(select(User).where(User.username == settings.initial_admin_username))
if actor is None:
actor = db.scalar(select(User).order_by(User.created_at.asc()))
if actor is None: