Repository navigation
Changelog
v2.0.0
发布日期:2026-05-19
从 Python 版本正式升级为 Go 重写版,带来嵌入式 WebUI、原生跨平台二进制、多账号管理、配置热重载与更完整的协议兼容能力,项目整体进入全新的 2.0 阶段。
新特性
- Go + Vue 3 全栈重写:后端改为 Go,前端采用 Vue 3 + TypeScript + Naive UI,并通过
go:embed直接嵌入到二进制中,实现单文件启动 - 嵌入式 WebUI:新增图形化管理后台,支持账号管理、配置编辑、模型选择、额度查看与请求统计
- 多账号支持:可在控制台中添加、切换和管理多个 GitHub 账号,各账号 Token 独立维护
- 设备授权流程:支持在 WebUI 内直接完成 GitHub Device Flow 授权,无需手动复制复杂配置
- Token 加密存储:采用 AES-256-GCM 加密,并结合机器硬件标识派生密钥,提高本地凭据安全性
- 请求统计面板:实时展示请求数量、Token 消耗与最近访问记录
- Copilot 配额查询:新增配额探测接口与可视化展示,便于查看当前剩余额度
- 配置热重载:保存配置后自动应用,无需手动关闭并重新启动程序
- Graceful Handoff:重启时优化进程接管逻辑,降低端口切换过程中的中断风险
API 兼容
-
OpenAI API 兼容
POST /v1/chat/completions- 支持流式与非流式响应
-
Anthropic API 兼容
POST /v1/messages- 支持 Anthropic Messages 格式与 SSE 流式转换
-
Gemini API 兼容
POST /v1beta/models/{model}:generateContent- 支持 Gemini 请求格式与流式响应转换
安全与管理
- 管理端鉴权机制:新增 Admin Password,用于保护控制台与管理接口
- 敏感配置保护:修复配置读取和保存过程中可能导致 Token 泄露、丢失或被错误覆盖的问题
- 状态一致性增强:优化并发访问下的配置与模型状态管理,减少竞态问题
修复
- 修复 Copilot Token 刷新时因鉴权头格式错误导致的
401 - 修复保存配置时,已加密保存的 GitHub Token 可能被意外清空的问题
- 修复 UI 主题与语言设置保存时触发不必要重启的问题
- 修复 Anthropic 流式响应中的 usage 统计映射异常
- 修复 fallback 模型选择在并发访问与配置更新场景下的状态一致性问题
- 调整错误处理逻辑:移除自动 fallback 重试,改为直接返回原始错误码与错误信息,便于调用方准确感知真实失败原因
优化
- 优化 Copilot 配额探测逻辑,兼容更多返回结构,并提供更清晰的界面展示
- 优化登录页、设备授权页、账号面板、设置表单与主题切换等前端交互体验
- 优化模型筛选与选择逻辑,使候选模型判断更加准确
- 优化 SSE 长连接处理,减少流式响应被提前截断的情况
- 关闭 HTTP/2 以规避部分代理环境下可能出现的 EOF / 空响应问题
- 启动时增加端口重试机制,更适合重启与热切换场景
- 持续保留 Copilot Token 自动刷新能力,降低长时间运行时的维护成本
打包与部署
- 提供 Windows、macOS、Linux 多平台原生二进制
- 提供 Docker 部署支持
- 引入 GoReleaser 进行自动化跨平台构建
- 使用 Makefile 统一前后端构建流程,简化开发与发布步骤
完整变更日志:v1.1.0...v2.0.0