Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
typli-2api 改动说明
基于原项目 v2.2.0 版本进行的修改,当前版本 v2.4.1。
一、新增功能
1. Gemini API 兼容
新增路由:
/v1beta/models/{model}:generateContent- 内容生成/v1beta/models/{model}:streamGenerateContent- 流式内容生成/v1beta/models/{model}:predict- 图片生成(Imagen 格式)新增函数:
handleGeminiApi()- Gemini API 路由分发handleGeminiGenerateContent()- 处理 Gemini 聊天请求handleGeminiImageFromChat()- 处理 Gemini 图片模型的 generateContent 请求handleGeminiPredict()- 处理 Gemini Imagen 格式图片生成handleGeminiNonStreamResponse()- Gemini 非流式响应处理createGeminiErrorResponse()- Gemini 格式错误响应createGeminiStreamChunk()- Gemini 流式响应块新增配置:
2. 双重鉴权方式
修改
verifyAuth()函数:原代码仅支持
Authorization: Bearer xxx头部鉴权。修改后同时支持:
Authorization: Bearer xxx头部?key=xxxURL 参数(Gemini 风格)3. 非流式响应支持
问题: 原代码所有响应均为流式 SSE 格式,导致 new-api 等项目解析失败。
修改:
isStream判断逻辑,默认非流式:handleNonStreamChatCompletions()函数处理非流式请求,返回标准 JSON 格式。4. 模型名称映射
新增配置
MODEL_DISPLAY_MAP:新增
resolveModelName()函数:修改
handleModelsRequest(): 返回显示名而非原始模型名。5. 会话持久化(Cloudflare KV)
新增配置:
修改 Worker 入口,注入 KV 绑定:
新增函数:
generateSessionId(identifier)- 生成会话 IDextractSessionIdentifier(request, body)- 从请求中提取会话标识getSession(kv, sessionId)- 获取会话历史saveSession(kv, sessionId, messages)- 保存会话appendToSession(kv, sessionId, userMessage, assistantMessage)- 追加消息新增端点
/v1/sessions:GET /v1/sessions?session_id=xxx- 获取会话历史DELETE /v1/sessions?session_id=xxx- 清除会话修改
handleChatCompletions()和handleNonStreamChatCompletions():6. 图片生成高级参数
新增配置:
新增函数:
parseImageParams(body)- 解析图片参数(兼容 OpenAI 和 Gemini 格式)buildImagePayload(prompt, model, imageParams)- 构建上游请求载荷buildOpenAIImageResponse(imageUrls, imageParams, requestId)- 构建 OpenAI 格式响应新增端点
handleImageGenerations():/v1/images/generations返回标准 OpenAI 图片生成格式:{ "created": 1234567890, "data": [ { "url": "https://..." }, { "b64_json": "..." } ] }修改图片生成逻辑:
BASIC_ONLY_IMAGE_MODELS中的模型跳过额外参数7. 图片限流绕过增强
增强
generateRandomUserOrigin()函数:visitor_id、session_token、_ga8. 新增模型
在
CHAT_MODELS和MODEL_DISPLAY_MAP中添加:openai/gpt-5.2(显示名:gpt-5.2)二、文件变更汇总
worker.js 修改点
SESSION_*、IMAGE_DEFAULTS、SIZE_MAP、BASIC_ONLY_IMAGE_MODELS、GEMINI_*_MODELS、MODEL_DISPLAY_MAP/v1beta/路由verifyAuth()handleApi()/v1/images/generations、/v1/sessions路由handleModelsRequest()handleChatCompletions()新增文件
README.md- 更新文档(可选合并)post.md- 宣传帖(不需要合并)三、兼容性说明
四、部署说明变更
新增可选步骤:
SESSIONSSESSIONS)改动作者: nsuanningmeng
基于版本: v2.2.0
当前版本: v2.4.1