shaw
|
2e511fa6f8
|
refactor: 简化Docker部署,使用环境变量替代.env文件映射
- 移除 docker-compose.yml 中的 .env 文件映射
- 添加所有必要的环境变量到 docker-compose.yml
- 简化 docker-entrypoint.sh,直接使用环境变量
- 更新 README,说明通过环境变量配置的方式
- 删除不再需要的初始化脚本
- 解决了 sed -i 在某些 Docker 环境下的 'Resource busy' 错误
|
2025-07-24 15:51:10 +08:00 |
|
shaw
|
232c276c8c
|
docs: 加强 Docker 部署时 .env 文件创建的说明和提示
- 在 docker-compose.yml 顶部添加醒目的注释说明必须先创建 .env 文件
- 更新 README.md,在 Docker 部署章节开头突出强调创建 .env 的重要性
- 解释为什么必须先创建文件(避免 Docker 创建成目录)
- 改进 docker-compose-init.sh 脚本,增加错误检测和修复功能
- 提供清晰的步骤指引和故障排除方法
|
2025-07-24 15:51:10 +08:00 |
|
github-actions[bot]
|
4c572b82ba
|
chore: sync VERSION file with release v1.1.16 [skip ci]
|
2025-07-24 06:53:59 +00:00 |
|
shaw
|
38c68ca831
|
fix: 修复Docker部署时加密密钥持久化问题
- 在docker-compose.yml中添加.env文件映射,避免重建容器时生成新密钥
- 修改docker-entrypoint.sh,只在密钥不存在时生成新的,否则使用现有的
- 移除Dockerfile中自动复制.env的逻辑,改为运行时检查
- 更新README文档,添加重要提示说明.env文件映射的必要性
- 解决了每次重建容器导致之前加密数据无法解密的严重问题
|
2025-07-24 14:53:34 +08:00 |
|
github-actions[bot]
|
36201cee6b
|
chore: sync VERSION file with release v1.1.15 [skip ci]
|
2025-07-24 06:19:06 +00:00 |
|
shaw
|
afdfdc8fe7
|
feat: 支持通过 LOG_LEVEL 环境变量动态设置日志级别
- 允许在不修改配置文件的情况下调整日志级别
- 便于生产环境调试和故障排查
- 环境变量优先级高于配置文件
|
2025-07-24 14:18:45 +08:00 |
|
shaw
|
f567ad0532
|
fix: 修复版本比较逻辑,确保正确处理VERSION文件与tag不同步的情况
- 同时检查git tag和VERSION文件的版本号
- 使用两者中较大的版本作为基准
- 避免因VERSION文件已包含新版本号而导致版本不递增的问题
|
2025-07-24 14:06:54 +08:00 |
|
shaw
|
48f11b4adf
|
feat: 添加 service:logs:follow 命令用于实时查看日志
|
2025-07-24 14:03:50 +08:00 |
|
shaw
|
17e9aafe6e
|
refactor: 重构GitHub Actions工作流程为统一的自动发布管道
- 删除分离的workflow文件(auto-version-bump, release-on-version, docker-publish, release)
- 创建新的统一workflow: auto-release-pipeline.yml
- 整合版本管理、Release创建、Docker构建和Telegram通知到单一流程
- 使用[skip ci]标记避免死循环
- 解决GitHub Action提交无法触发后续workflow的问题
|
2025-07-24 14:01:21 +08:00 |
|
github-actions[bot]
|
d2f16e416c
|
chore: bump version to 1.1.14
|
2025-07-24 04:07:19 +00:00 |
|
shaw
|
521ba99f48
|
refactor: 重构GitHub Actions发布流程和修复管理界面问题
- 删除旧的auto-release.yml工作流,避免循环触发问题
- 新增auto-version-bump.yml:自动同步VERSION文件与release版本
- 新增release-on-version.yml:基于VERSION文件变更自动创建release
- 更新docker-publish.yml:简化触发条件,仅在tag推送时构建
- 添加RELEASE_PROCESS.md文档:详细说明新的发布流程
- 修复web管理界面:解决OAuth账户token刷新和代理配置相关问题
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-24 11:30:54 +08:00 |
|
Wesley Liddick
|
5aaf51d7e0
|
Merge pull request #57 from geminiwen/main
Update .dockerignore
|
2025-07-24 09:25:29 +08:00 |
|
Gemini Wen
|
ccd281ce6b
|
Update .dockerignore
if use docker compose up --build
docker build will ignore .env file, this behavior is unexpected.
|
2025-07-24 09:18:18 +08:00 |
|
shaw
|
04c65da21f
|
fix: 修复 GitHub Action 版本同步死循环问题
- 移除工作流开始时的VERSION同步步骤,避免产生新提交导致无限循环
- 修改变更检查逻辑,忽略仅修改VERSION文件的提交
- 在工作流结束时确保VERSION文件与最新release同步
- 解决了VERSION文件追不上releases版本的问题
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-24 00:02:29 +08:00 |
|
github-actions[bot]
|
0a291eb1fd
|
chore: sync VERSION file with release v1.1.10 [skip ci]
|
2025-07-23 15:48:56 +00:00 |
|
shaw
|
1a3dd05ba3
|
fix: 修复 GitHub Action 版本同步问题
- 添加工作流开始时的 VERSION 文件同步步骤
- 确保 VERSION 文件始终与最新 release 保持一致
- 移除不存在的 CHANGELOG.md 更新逻辑
- 解决因分支合并导致的版本不同步问题
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-23 23:48:33 +08:00 |
|
Wesley Liddick
|
b67cf05f63
|
Merge pull request #52 from mouyong/patch-1
修复用户提供的 密钥太短导致无法保存授权的问题
|
2025-07-23 22:58:58 +08:00 |
|
Wesley Liddick
|
f3dd3d3c69
|
Merge pull request #51 from mouyong/patch-2
chore: 增加调试日志
|
2025-07-23 22:58:46 +08:00 |
|
mouyong
|
9c96f18a7c
|
Update sessionHelper.js
|
2025-07-23 22:35:41 +08:00 |
|
mouyong
|
33561bcc80
|
修复用户提供的 密钥太短导致无法保存授权的问题
|
2025-07-23 22:34:26 +08:00 |
|
shaw
|
ef8e0eb1e1
|
Merge branch 'dev'
|
2025-07-23 16:25:12 +08:00 |
|
shaw
|
5392ee9799
|
更新 README.md 与 main 分支保持一致
|
2025-07-23 16:20:36 +08:00 |
|
shaw
|
3553f5cc1f
|
fix: 修复流式响应的 Parse Error 和缓冲问题
主要修改:
1. 从 compression 中间件中排除 SSE 流式响应,避免压缩导致的缓冲
2. 移除导致 Parse Error 的 res.flushHeaders() 调用
3. 改进流式响应的错误处理,发送 SSE 错误事件而不是破坏流
4. 在写入数据前检查流状态,避免写入已销毁的流
5. 优化响应结束时的处理逻辑,确保缓冲区数据正确处理
这些修改确保了流式请求能够正常显示打字机效果,同时保留了 usage token 收集功能。
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-23 16:13:07 +08:00 |
|
shaw
|
1e372dd365
|
fix: 修复流式响应缓冲问题,实现真正的实时流传输
- 配置 compression 中间件排除 SSE 流式响应,避免压缩导致的缓冲
- 添加 X-Accel-Buffering: no 响应头,禁用 Nginx 等代理的缓冲
- 使用 res.flushHeaders() 立即发送响应头
- 禁用 Nagle 算法确保数据立即发送
- 在每次写入流数据后调用 flush() 确保实时传输
这些修复确保了流式请求能够正常显示打字机效果,数据从上游 Claude API 接收后能够立即转发给客户端。
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-23 15:56:27 +08:00 |
|
shaw
|
283f5303af
|
feat 增加第三方工具API接入
|
2025-07-23 12:12:15 +08:00 |
|
shaw
|
67861caea0
|
Merge branch 'dev'
|
2025-07-23 11:20:36 +08:00 |
|
shaw
|
2f4730baba
|
优化: 替换第三方CDN资源以提升加载速度
- 将所有第三方资源从 bootcdn 迁移到 cdnjs.cloudflare.com
- 移除 SRI 完整性校验以避免哈希值不匹配问题
- 添加 DNS 预取和预连接以加速资源加载
- 调整脚本加载顺序,确保依赖关系正确
- 保持所有库版本号不变 (Vue 3.3.4, Element Plus 2.4.4, Chart.js 4.4.0)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-23 11:15:33 +08:00 |
|
shaw
|
d6675a4d8e
|
feat: 添加 /claude/v1/messages 路由别名并优化非 Claude Code 客户端支持
- 添加 /claude 路由作为 /api 的别名,支持 /claude/v1/messages 端点
- 实现智能判断请求来源,通过 user-agent 和系统提示词识别真实的 Claude Code 请求
- 为非 Claude Code 客户端自动设置系统提示词和必要的 headers
- 优化 headers 更新逻辑,只有真实的 Claude Code 请求才更新缓存
- 确保 /api 和 /claude 路由功能完全一致
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-22 21:07:25 +08:00 |
|
shaw
|
e2cece6162
|
fix 修复x-request-id问题
|
2025-07-22 18:36:53 +08:00 |
|
shaw
|
a431778363
|
fix 修复openai格式流式响应的结束标记问题
|
2025-07-22 18:00:24 +08:00 |
|
shaw
|
e77945a3e3
|
fix: 修复 API Key 编辑时服务权限和 Gemini 专属账号字段不显示的问题
- 创建 API Key 时添加 permissions 和 geminiAccountId 字段发送到后端
- 编辑 API Key 时正确加载和保存 permissions 和 geminiAccountId 字段
- 更新 openEditApiKeyModal 函数以包含这两个字段
- 更新 updateApiKey 函数的请求体以发送这两个字段
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-22 17:10:04 +08:00 |
|
shaw
|
6150ed4258
|
fix openai兼容格式转发claude固定系统提示词
|
2025-07-22 16:26:17 +08:00 |
|
shaw
|
dabf3bf7ea
|
feat: 实现 Claude Code headers 动态管理功能
- 创建 claudeCodeHeadersService 管理各账号的 Claude Code headers
- 自动捕获成功请求的 headers 并按账号存储在 Redis
- 智能版本管理,只保留最新版本的 headers
- OpenAI 转发时根据账号动态获取对应的 headers
- 添加管理端点查看和清除各账号的 headers 信息
- 完整支持 Claude Code 必需的 beta headers
解决了 "This credential is only authorized for use with Claude Code" 错误
避免了固定版本号带来的风控问题
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-22 16:03:31 +08:00 |
|
shaw
|
b2ad2a4a61
|
fix: 修复 OpenAI 兼容路由的 Claude API 认证和 Function Calling 支持
- 添加必需的系统消息 "You are Claude Code, Anthropic's official CLI for Claude."
- 修改 anthropic-beta header 为 OAuth-only 模式 (oauth-2025-04-20)
- 不再传递客户端 headers,使用固定的 4 个必需 headers
- 增强流式响应的 Function Calling 支持,正确处理 tool_use 事件
- 支持自定义 beta header 参数,允许不同路由使用不同的认证模式
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-22 14:38:30 +08:00 |
|
shaw
|
6ceed5c3ee
|
fix 修复openai格式转发失败的问题
|
2025-07-22 13:55:14 +08:00 |
|
shaw
|
9ad7feb94c
|
fix: 修复 OpenAI 路由中的 req.apiKeyData undefined 错误
- 将所有路由中的 req.apiKeyData 改为 req.apiKey(与中间件一致)
- 在 authenticateApiKey 中间件中添加缺失的字段(permissions, geminiAccountId, usage)
- 修复 openaiClaudeRoutes.js、openaiGeminiRoutes.js 和 geminiRoutes.js 中的引用错误
- 确保 API 权限检查正常工作
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-22 13:08:24 +08:00 |
|
shaw
|
6b0832bc2d
|
fix: 修复 OpenAI 兼容路由中的 router.handle() 错误
- 移除了 openaiClaudeRoutes.js 中错误的 router.handle() 调用
- 提取 handleChatCompletion 函数作为共享处理逻辑
- 修复了 /v1/completions 端点的实现
- 确保 /openai/claude 和 /openai/gemini 路由正常工作
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-22 12:58:11 +08:00 |
|
shaw
|
12d68af421
|
update default redirectUri
|
2025-07-22 11:52:07 +08:00 |
|
shaw
|
11318c22b0
|
feat: 优化 Gemini OAuth 授权流程,使用固定的 localhost 回调地址
- 将 Gemini OAuth 回调地址固定为 http://localhost:45462
- 更新前端提示文字为"复制oauth后的链接"
- 实现自动提取 localhost:45462 链接中的 code 参数功能
- 删除不再需要的 web/auth_gemini 路由
- 添加详细的用户操作说明和错误处理提示
- 支持两种输入方式:完整链接或仅授权码
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-22 11:42:54 +08:00 |
|
shaw
|
ed99043127
|
fix: 修复 geminiAccountService 配置读取错误并添加 secret scanning 排除规则
- 直接使用硬编码的 Gemini OAuth 凭据,避免配置依赖
- 添加 .github/secret_scanning.yml 排除公开的 OAuth 凭据文件
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-22 10:37:43 +08:00 |
|
shaw
|
38c1fc4785
|
feat: 添加多模型支持和OpenAI兼容接口
- 新增 Gemini 模型支持和账户管理功能
- 实现 OpenAI 格式到 Claude/Gemini 的请求转换
- 添加自动 token 刷新服务,支持提前刷新策略
- 增强 Web 管理界面,支持 Gemini 账户管理
- 优化 token 显示,添加掩码功能
- 完善日志记录和错误处理
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-22 10:17:39 +08:00 |
|
shaw
|
22dcd4d171
|
Merge branch 'dev'
|
2025-07-20 22:45:56 +08:00 |
|
shaw
|
4f0d8db757
|
fix: 修复总Token消耗USD计算重复统计问题
- 将usage-costs的all模式改为只使用monthly数据,避免daily、monthly、hourly重复计算
- 更新正则表达式只匹配monthly格式的key
- 确保总消耗与模型统计表格的USD计算保持一致
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-20 21:36:51 +08:00 |
|
shaw
|
ff554d7c70
|
fix: 修复总Token消耗USD计算与模型统计不一致的问题
- 修正Redis key匹配模式从 'usage:model:*:*' 到 'usage:model:*:*:*'
- 更新正则表达式以支持hourly统计数据
- 确保所有模型都使用正确的价格计算费用
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-20 21:18:39 +08:00 |
|
shaw
|
ddf814526d
|
Merge branch 'dev' into main
|
2025-07-20 20:38:10 +08:00 |
|
shaw
|
7e5fb514cb
|
fix: 修复 Docker 镜像版本号与 Release 版本号不一致的问题
- 在 auto-release.yml 中集成 Docker 构建步骤,确保版本号一致性
- 优化 docker-publish.yml 的标签生成策略,添加 sha- 前缀避免混淆
- 现在每次自动发布时会同时构建对应版本的 Docker 镜像
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-20 20:33:00 +08:00 |
|
shaw
|
b77c600f05
|
fix: 修复更新日志链接,指向 GitHub Releases 页面
|
2025-07-20 17:36:45 +08:00 |
|
shaw
|
262ca74d19
|
chore: 移除手动维护的 CHANGELOG.md,使用自动生成方案
|
2025-07-20 17:30:49 +08:00 |
|
shaw
|
1348941cd6
|
docs: 添加完整的 CHANGELOG.md 文件
|
2025-07-20 17:24:23 +08:00 |
|
shaw
|
088ce266ba
|
feat: 添加API Key时间窗口限流功能并移除累计总量限制
- 新增时间窗口限流功能,支持按分钟设置时间窗口
- 支持在时间窗口内限制请求次数和Token使用量
- 移除原有的累计总量限制,只保留时间窗口限制
- Token统计包含所有4种类型:输入、输出、缓存创建、缓存读取
- 前端UI优化,明确显示限流参数的作用范围
- 限流触发时提供友好的错误提示和重置时间
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-20 15:58:00 +08:00 |
|