Skip to content

v1.2.0 - 引入 SQLite 持久化、重构主题及粘性节点池机制,全面修复流式与并发调度稳定性

Latest

Choose a tag to compare

@Scluzlep Scluzlep released this 20 Jul 18:46
· 32 commits to master since this release
af8e492

新特性 (Features)

前端与 UI

  • 主题与背景:
    • 重构背景预设模块功能,支持持久化保存自定义纯色与渐变预设,并增加删除背景接口。
    • 动态读取并加载历史上传的所有背景图片。
    • 切换背景时自动提取主色调并应用到主题变量,动态生成背景玻璃和描边等颜色以跟随主题色。
    • 改进主题色提取算法并替换 CSS 中写死的发光与阴影颜色。
  • 管理面板设置项:
    • 前端增加请求超时设置项,并提取为可配置项。
    • 设置页并发数补充 max/min 限制及文案。
    • 增加设置页未保存离开拦截及挽留弹窗功能,优化未保存修改时的模态框选项。
  • 节点与测速模块:
    • 支持前端即时暂停、恢复与终止全局批量测速。
    • 增加按延迟降序排序和导出所有节点功能。
  • 日志与控制面板:
    • 将日志定时自动刷新升级为毛玻璃 Pill Toggle 样式并默认打开,在加载页时同步状态。
    • 优化日志表格自适应排版、截断与定时自动刷新。
    • 恢复运行日志页面功能。
  • 其他 UI 优化:
    • 重构颜色选择器,支持移动端手势与自适应弹出位置。
    • 前端集成完善,支持多端同步背景及功能对齐。
    • 实现前端管理员密码修改。

⚙️ 后端与核心功能

  • 节点池管理:
    • 粘性节点池:支持逐出失败节点、循环遍历、竞速降级、后台收集及管理面板展示。
  • 请求与代理:
    • 简化代理设置并实现了浏览器指纹伪装 (browser spoofing)。
    • 移植 sukaka/gcli2api 随机指纹库以对抗 PVP 探针。
    • 拒绝处理带有 sk-your-key-here 默认密钥的请求。
  • 日志与持久化:
    • 引入 SQLite 持久化 nodes 和 node_health 数据。
    • 支持本地日志文件写入及 TUI 日志控制台优化。
    • 后台设置接口放行 debug_mode 字段。

问题修复

  • 核心调度与并发:
    • 修复多工具并发调用报错、避免非重试性错误无限重试并优化 ID 冲突。
    • 修复重试时直接修改原始 payload 导致的工具参数翻倍问题。
    • 修复并发非流式 map 竞争恐慌、流式收尾多余帧及升级 TLS 指纹。
    • 修复流式请求多节点并发竞速导致的 map 并发读写恐慌。
    • 修复 StreamParallel 在全部节点失败时未向外抛出最后报错导致静默返回 200 的 bug。
    • 修复流式截断 & 200 空回系列问题。
    • 关池时粘性节点 prepend 竞速及 Add() 守卫回退修复。
  • 节点与前端交互:
    • 修复后台节点按延迟降序排序失效的问题。
    • 修复多节点测速导致浏览器异常终止的问题。
    • 优化批量测速暂停后的轮询终止逻辑及按钮样式同步。
    • 关闭并发请求池时自动清除其依赖的子选项状态。
  • 鉴权与主题适配:
    • 优化修改密码校验拦截,避免原密码错误时异常登出并正确回显错误。
    • 修复未登录状态下无法拉取主题背景导致回落默认颜色的问题。
    • 放行 /assets/ 路由,修复从 Canvas 提取同源背景图主题色时报 401 Unauthorized 的问题。
  • 其他细节修复:
    • 修复前端控制台代理回显、移动端空列表重叠及并发输入上限问题。
    • 修复自定义字体颜色不生效及 Docker 环境下日志未写入文件的问题。
    • 修复 settings API 缺失 parallel_pool_retry_enabled 字段的问题。
    • 修复状态追踪面板 UI 打印及终端横幅展示逻辑。
    • 修复测试代码中的变量遮蔽错误。

重构与优化

  • 核心代码重构:
    • 将 Token 计算由远端替换为离线预估 (replaced remote token counting with offline estimation)。
    • 拆分超大文件为模块化结构,优化了设置页面与粘性池逻辑。
    • CompleteChat 改用所有候选跑完再选最优的策略(非流式)。
    • 优化流扫描缓冲与健康更新,升级 Go 1.26.5 修复漏洞。
    • 移除合并相邻同角色消息的功能。
  • 配置与依赖整理:
    • 移除 Getter 方法的 Get 前缀以符合 Go 命名规范并实现静态 Provider,全面适配主入口及所有子模块接口。
    • 节点保存重构为调用 config.ConfigDir。
    • 同步内置默认模型列表与配置文件。
    • 精简 TokenPool、状态文件迁移至 config/state/。
    • 清理代码文件首空行与未使用依赖。
  • UI 与遥测:
    • 彻底移除遥测收集代码及前端设置项。
    • 引入命令行状态追踪面板,重构终端 UI 渲染引擎并移除 uilive 依赖。

构建与日常维护

  • Docker 与环境:
    • 在 docker-compose.yml 中增加资源目录与日志目录的持久化挂载。
    • 完善 .gitignore 与 .dockerignore 排除 SQLite 数据库及日志。
    • 迁移 agreed-rules-docker.txt 到 config/state/ 目录。
  • 代码规范与维护:
    • 变更版权所有者为 Deconstructed_Cube 并清除代码文件中的版权声明。
    • 引入 Windows 环境 PowerShell 构建发布脚本。
    • 统一调色板重置按钮与吸管工具按钮样式并添加文字说明。
    • 全面修复 golangci-lint 规范问题并调整了 lint 检查规则。
    • 清理富有 AI 味的优雅关闭提示及残留的 test_uuid.go。

下载

  • vertex-proxy-windows-amd64.zip — Windows x64
  • vertex-proxy-windows-386.zip — Windows 32 位 / 老机器
  • vertex-proxy-linux-amd64.zip — Linux x86_64
  • vertex-proxy-linux-386.zip — Linux 32 位 / 老机器
  • vertex-proxy-linux-arm64.zip — Linux ARM64
  • vertex-proxy-linux-arm32.zip — Linux ARM 32 位
  • vertex-proxy-android-arm64.zip — Android / Termux arm64
  • vertex-proxy-darwin-amd64.zip — Mac Intel
  • vertex-proxy-darwin-arm64.zip — Mac Apple Silicon

相关