From 784115ce58b724923e7fe959a56e57d43e62e175 Mon Sep 17 00:00:00 2001 From: repair-agent Date: Thu, 26 Mar 2026 09:53:02 +0800 Subject: [PATCH] fix huoshan key --- apps/devices/views.py | 19 +++++++++++++++---- k8s/backend-deployment-dev.yaml | 8 ++++++++ k8s/backend-deployment-prod.yaml | 8 ++++++++ 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/apps/devices/views.py b/apps/devices/views.py index 905bb03..9e59296 100644 --- a/apps/devices/views.py +++ b/apps/devices/views.py @@ -132,9 +132,18 @@ class DeviceViewSet(viewsets.ViewSet): if existing and existing.user != request.user: return error(code=ErrorCode.DEVICE_ALREADY_BOUND, message='设备已被其他用户绑定') - # 创建角色记忆(始终创建新的) - role_memory = None - if device.device_type: + # 检查是否已有绑定关系(重复绑定时复用已有的角色记忆) + existing_binding = UserDevice.objects.filter( + user=request.user, device=device + ).select_related('role_memory').first() + + if existing_binding and existing_binding.role_memory: + # 已有绑定且有角色记忆 → 复用,不重复创建 + role_memory = existing_binding.role_memory + role_memory.is_bound = True + role_memory.save(update_fields=['is_bound', 'updated_at']) + elif device.device_type: + # 首次绑定 → 创建新角色记忆 role_memory = RoleMemory.objects.create( user=request.user, device_type=device.device_type, @@ -142,8 +151,10 @@ class DeviceViewSet(viewsets.ViewSet): prompt=device.device_type.default_prompt, voice_id=device.device_type.default_voice_id, ) + else: + role_memory = None - # 创建绑定关系 + # 创建或更新绑定关系 user_device, created = UserDevice.objects.update_or_create( user=request.user, device=device, diff --git a/k8s/backend-deployment-dev.yaml b/k8s/backend-deployment-dev.yaml index bb3c818..6ac5711 100644 --- a/k8s/backend-deployment-dev.yaml +++ b/k8s/backend-deployment-dev.yaml @@ -61,6 +61,14 @@ spec: - name: ALIYUN_LOG_ACCESS_KEY_SECRET value: "U1z3d0p5saPRD5sCxVooJYSjxSAmKB" + # Volcengine / 火山引擎豆包 (AI Generation) + - name: VOLCENGINE_API_KEY + value: "846b6981-9954-4c58-bb39-63079393bdb8" + + # MiniMax (Music Generation) + - name: MINIMAX_API_KEY + value: "sk-api-MG0xNIYWDOnMVVus1nHbVS_PQleDh9-aJOCiVJLpAyzqWwUfYcMrbiWcHrV4Ri1HFsYgycSZSMirUEI_1L5wzcvAnu8ijoMDmGBkoGEBAKAl8MCzMpj8XRk" + # Log Center - name: ENVIRONMENT value: "development" diff --git a/k8s/backend-deployment-prod.yaml b/k8s/backend-deployment-prod.yaml index a9cae7d..e5a5384 100644 --- a/k8s/backend-deployment-prod.yaml +++ b/k8s/backend-deployment-prod.yaml @@ -69,6 +69,14 @@ spec: - name: CSRF_TRUSTED_ORIGINS value: "https://qiyuan-rtc-web.airlabs.art,https://qiyuan-rtc-dev-web.airlabs.art,https://qiyuan-rtc-api.airlabs.art" + # Volcengine / 火山引擎豆包 (AI Generation) + - name: VOLCENGINE_API_KEY + value: "846b6981-9954-4c58-bb39-63079393bdb8" + + # MiniMax (Music Generation) + - name: MINIMAX_API_KEY + value: "sk-api-MG0xNIYWDOnMVVus1nHbVS_PQleDh9-aJOCiVJLpAyzqWwUfYcMrbiWcHrV4Ri1HFsYgycSZSMirUEI_1L5wzcvAnu8ijoMDmGBkoGEBAKAl8MCzMpj8XRk" + # Log Center - name: ENVIRONMENT value: "production"