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

77 lines
3.4 KiB
Python
Executable File

from volcengine.ApiInfo import ApiInfo
from volcengine.imagex.ImageXConfig import api_info, IMAGEX_API_VERSION
def init():
for v in ["DescribeImageXDomainTrafficData",
"DescribeImageXDomainBandwidthData",
"DescribeImageXBucketUsage",
"DescribeImageXRequestCntUsage",
"DescribeImageXBaseOpUsage",
"DescribeImageXCompressUsage",
"DescribeImageXEdgeRequest",
"DescribeImageXHitRateTrafficData",
"DescribeImageXHitRateRequestData",
"DescribeImageXCDNTopRequestData",
"DescribeImageXSummary",
"DescribeImageXEdgeRequestBandwidth",
"DescribeImageXEdgeRequestTraffic",
"DescribeImageXEdgeRequestRegions",
"DescribeImageXServiceQuality",
"GetImageXQueryApps",
"GetImageXQueryRegions",
"GetImageXQueryDims",
"GetImageXQueryVals",
]:
api_info[v] = ApiInfo("GET", "/", {"Action": v, "Version": IMAGEX_API_VERSION}, {}, {})
for v in ["DescribeImageXMirrorRequestTraffic",
"DescribeImageXMirrorRequestBandwidth",
"DescribeImageXMirrorRequestHttpCodeByTime",
"DescribeImageXMirrorRequestHttpCodeOverview",
"DescribeImageXUploadSuccessRateByTime",
"DescribeImageXUploadErrorCodeAll",
"DescribeImageXUploadErrorCodeByTime",
"DescribeImageXUploadCountByTime",
"DescribeImageXUploadFileSize",
"DescribeImageXUploadSpeed",
"DescribeImageXUploadDuration",
"DescribeImageXUploadSegmentSpeedByTime",
"DescribeImageXCdnSuccessRateByTime",
"DescribeImageXCdnSuccessRateAll",
"DescribeImageXCdnErrorCodeByTime",
"DescribeImageXCdnErrorCodeAll",
"DescribeImageXCdnDurationDetailByTime",
"DescribeImageXCdnDurationAll",
"DescribeImageXCdnReuseRateByTime",
"DescribeImageXCdnReuseRateAll",
"DescribeImageXCdnProtocolRateByTime",
"DescribeImageXClientErrorCodeAll",
"DescribeImageXClientErrorCodeByTime",
"DescribeImageXClientDecodeSuccessRateByTime",
"DescribeImageXClientDecodeDurationByTime",
"DescribeImageXClientQueueDurationByTime",
"DescribeImageXClientLoadDurationAll",
"DescribeImageXClientLoadDuration",
"DescribeImageXClientFailureRate",
"DescribeImageXClientSdkVerByTime",
"DescribeImageXClientFileSize",
"DescribeImageXClientTopFileSize",
"DescribeImageXClientCountByTime",
"DescribeImageXClientScoreByTime",
"DescribeImageXClientDemotionRateByTime",
"DescribeImageXClientTopDemotionURL",
"DescribeImageXClientQualityRateByTime",
"DescribeImageXClientTopQualityURL",
"DescribeImageXSensibleCountByTime",
"DescribeImageXSensibleCacheHitRateByTime",
"DescribeImageXSensibleTopSizeURL",
"DescribeImageXSensibleTopRamURL",
"DescribeImageXSensibleTopResolutionURL",
"DescribeImageXSensibleTopUnknownURL",
]:
api_info[v] = ApiInfo("POST", "/", {"Action": v, "Version": IMAGEX_API_VERSION}, {}, {})
init()