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

40 lines
1.8 KiB
Python
Executable File

class Function:
@staticmethod
def get_meta_func():
return {'Name': 'GetMeta'}
@staticmethod
def get_snapshot_func(snapshot_time):
return {'Name': 'Snapshot', 'Input': {'SnapshotTime': snapshot_time}}
@staticmethod
def get_add_option_info_func(title, tags, description, classification_id, is_hls_index_only=False):
return {'Name': 'AddOptionInfo',
'Input': {'Title': title, 'Tags': tags, 'Description': description,
'ClassificationId': classification_id, "IsHlsIndexOnly": is_hls_index_only}}
@staticmethod
def get_add_material_option_info_func(title, tags, description, category, record_type, format_input):
return {'Name': 'AddOptionInfo',
'Input': {'Title': title, 'Tags': tags, 'Description': description, 'Category': category,
'RecordType': record_type, 'Format': format_input}}
@staticmethod
def get_start_workflow_func(template_id, templates=None):
return {'Name': 'StartWorkflow', 'Input': {'TemplateId': template_id, 'Templates': templates}}
@staticmethod
def get_start_workflow_template_func(templates):
return {'Name': 'StartWorkflow', 'Input': {'Templates': templates}}
@staticmethod
def get_caption_func(title, format, vid, fid, language, source, tag, action_type, store_uri, auto_publish=False):
return {'Name': 'CaptionUpload',
'Input': {'Title': title, 'Format': format, 'Vid': vid, 'Fid': fid, 'Language': language,
'Source': source, 'Tag': tag, 'ActionType': action_type, 'StoreUri': store_uri,
'AutoPublish': auto_publish}}
@staticmethod
def get_encryption_func(conf, policy):
return {'Name': 'Encryption', 'Input': {'Config': conf, 'PolicyParams': policy}}