Commit Graph
11 Commits
Author SHA1 Message Date
dreamhunter2333andClaude Sonnet 4.5 de24d420a4 refactor: 优化 Claude proxy 代码结构和 header 处理
- 简化 stream 条件判断(去掉冗余的 || reqJson.stream)
- 移除不必要的 else(stream 分支已有 return)
- 删除客户端的 x-api-key header 避免冲突
- 精简 header 处理逻辑

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-17 19:04:02 +08:00
dreamhunter2333andClaude Sonnet 4.5 4d4e78fa41 feat: ProxyEndpoint 支持 x-api-key 认证方式
- 支持 OpenAI 格式:Authorization: Bearer xxx
- 支持 Claude 格式:x-api-key: xxx
- 两种认证方式都可以使用
- 客户端可以使用任一格式调用 /v1/messages 和 /v1/chat/completions
- 更新 schema 使两个 header 都为 optional

Claude proxy 完善:
- 删除客户端 Authorization header 避免与上游 API 冲突
- 支持 message_complete 事件(最新格式)
- 保留 message_stop 作为向后兼容

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-17 18:57:08 +08:00
dreamhunter2333andClaude Sonnet 4.5 28efa1367b fix: 修复频道多选和 Claude API streaming 支持
1. 频道多选下拉框修复:
   - 将点击事件改为 checkbox onchange 事件
   - 新增 handleChannelCheckboxChange 函数
   - 避免手动切换导致状态重复切换的问题

2. Claude API 支持完善:
   - 删除客户端的 Authorization header 避免冲突
   - 支持 message_complete 事件(Claude 最新格式)
   - 保留 message_stop 处理作为向后兼容
   - 正确提取 streaming 和 non-streaming 的 token usage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-17 18:53:23 +08:00
dreamhunter2333andClaude Sonnet 4.5 198dc500aa feat: 重构管理界面并添加统一 loading 效果
- 完全重构前端管理界面,采用模块化架构
- 新增独立的 CSS 和 JS 模块(utils, auth, channels, tokens, pricing, api-test, database)
- 实现统一的 loading 遮罩效果,所有 API 请求自动显示加载状态
- 添加现代化多选下拉框组件用于频道选择
- 实现模型部署映射的可视化表格编辑
- 修复页面高度自适应问题,管理页面占满全屏
- 优化侧边栏布局,添加 GitHub 链接和版本号
- 令牌管理页面隐藏敏感 key,添加复制功能
- 管理页面切换时自动重置为列表视图并重新加载数据
- 新增 Claude Proxy 提供商支持
- 统一所有 API 调用的错误处理和 loading 状态管理

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-17 18:41:05 +08:00
dreamhunter2333 8bffed8a03 优化代理服务流式响应处理和使用量统计
- 修复 processStreamData 异步处理问题,使用 for..of 替代 forEach
- 优化流式响应处理,使用 response.body.tee() 分离客户端和服务端流
- 使用 executionCtx.waitUntil() 确保后台使用量统计不阻塞响应
- 为 Azure OpenAI 代理添加 api_version 条件检查
- 统一两个代理服务的流处理逻辑,提高代码一致性
2025-07-01 03:00:38 +08:00
dreamhunter2333 8d4af1b895 重构 TokenUtils: 从类改为对象,添加新的 pricing 和 usage 处理方法
- 将 TokenUtils 从类重构为对象
- 添加 getPricing 方法,支持 channel-specific 和 global pricing
- 添加 processUsage 方法,集中处理使用量计算和记录
- 在 providers/index.ts 中简化 usage 处理逻辑
- 添加 API key 掩码功能以保护敏感信息
2025-06-27 02:08:16 +08:00
dreamhunter2333 3b6c5b37c1 fix: use deployment_mapper for model replacement in OpenAI provider 2025-06-26 20:35:50 +08:00
dreamhunter2333 d4d318579b feat: add OpenAI provider support 2025-06-26 01:24:43 +08:00
dreamhunter2333 d62e662d20 feature: support azure deepseek 2025-06-24 19:02:52 +08:00
dreamhunter2333 4100cfd02d feature: update ux 2025-06-23 13:15:23 +08:00
dreamhunter2333 90525cdfd8 init 2025-06-21 19:30:54 +08:00