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

36 lines
994 B
Python
Executable File

# coding:utf-8
import os
class FileSectionReader(object):
def __init__(self, file_object, size, init_offset=None, can_reset=False):
self.file_object = file_object
self.size = size
self.offset = 0
self.init_offset = init_offset
self.can_reset = can_reset
if init_offset:
self.file_object.seek(init_offset, os.SEEK_SET)
def read(self, amt=None):
if self.offset >= self.size:
return ''
if (amt is None or amt < 0) or (amt + self.offset >= self.size):
data = self.file_object.read(self.size - self.offset)
self.offset = self.size
return data
self.offset += amt
return self.file_object.read(amt)
@property
def len(self):
return self.size
def reset(self):
if self.can_reset:
self.offset = 0
if self.init_offset is not None:
self.file_object.seek(self.init_offset, os.SEEK_SET)