chenpei d0dc94e36d feat: 将弹幕功能替换为AI聊天助手
新功能:
- 创建AI聊天助手组件(AIChatWidget)
- 支持文字+图片多模态对话
- 集成Gemini AI API
- 支持图片编辑和内容生成
- 实时对话历史管理
- 优雅的UI设计,支持黑夜模式

技术实现:
- 后端API代理Gemini API(/api/ai-chat)
- 支持最多5张图片上传
- 流式响应处理
- 对话历史管理
- Base64图片处理

配置:
- 在.env中添加Gemini API配置
- GEMINI_API_KEY
- GEMINI_API_BASE_URL
- GEMINI_MODEL

替换原弹幕功能,提供更强大的AI助手体验!
2025-10-27 17:45:37 +08:00

41 lines
836 B
Python
Executable File

import json
class ChatRole:
USER = "user"
ASSISTANT = "assistant"
SYSTEM = "system"
FUNCTION = "function"
class _Dict(dict):
__setattr__ = dict.__setitem__
__getattr__ = dict.__getitem__
def __missing__(self, key):
return None
def dict_to_object(dict_obj):
# 支持嵌套类型
if isinstance(dict_obj, list):
insts = []
for i in dict_obj:
insts.append(dict_to_object(i))
return insts
if isinstance(dict_obj, dict):
inst = _Dict()
for k, v in dict_obj.items():
inst[k] = dict_to_object(v)
return inst
return dict_obj
def json_to_object(json_str, req_id=None):
obj = dict_to_object(json.loads(json_str))
if obj and isinstance(obj, dict) and req_id:
obj["req_id"] = req_id
return obj