Skip to content

Enhance Docker configuration and UI performance improvements#17

Open
crazyrob425 wants to merge 155 commits into
crazyrob425:mainfrom
justlovemaki:main
Open

Enhance Docker configuration and UI performance improvements#17
crazyrob425 wants to merge 155 commits into
crazyrob425:mainfrom
justlovemaki:main

Conversation

@crazyrob425
Copy link
Copy Markdown
Owner

@copilot FIX - copy and combine the code updates from thejustlovemaki pull request into the blacklistedaiproxy repo such as where the PR makes several improvements to the Docker build process. Also remove all Japanese and Chinese TEXT documentation, and carefully translate, convert, and replace all non-English characters from the BAP coding. The main changes to integrate into the BAP repo include adding proxy support to the Dockerfile.

Dockerfile improvements to integrate into BAP:

  • Added support for HTTP and HTTPS proxy build arguments and environment variables to both the Go sidecar and Node.js build stages, improving build reliability in restricted network environments. [1] [2]
  • Modified the npm install step to be more robust, allowing the build to continue even if some scripts fail.
    MAKE SURE NONE OF THE INTEGRATIONS OR CHANGES BREAK ANY CURRENT BAP CODE OR FEATURES, ALL UPDATED FEATURES NEED TO FUNCTION NATIVELY SMOOTHENED & APPEAR CUSTOM-MADE FOR BAP, NOT CAUSING ISSUES OR BREAKING THE UI FLOW

Wenaixi and others added 30 commits April 12, 2026 14:30
- feat(docker): Dockerfile 添加 HTTP_PROXY/HTTPS_PROXY 构建参数
  - 支持在构建时使用代理
  - 适用于国内网络环境
- feat(docker): 添加 docker-compose.dev.yml 开发模式配置
  - 支持 Node.js --watch 热重载
- fix(docker): 修正 docker-compose.build.yml 路径和注释
- chore(docker): 添加 VERSION 文件用于版本追踪
问题:
所有模态弹窗打开时出现明显 UI 卡顿和掉帧。根因是 backdrop-filter: blur()
强制 GPU 对整个视口背景进行模糊计算,在高 DPI 屏幕或复杂页面布局下导致帧率骤降。

修复:
1. 移除所有 backdrop-filter: blur() 调用(CSS 类和 JS 内联样式)
2. 统一遮罩层背景为 var(--overlay-bg)(亮色 0.6,暗色 0.8)

影响:4 文件,+4 -10 行,无功能变更,安全合并。
- 移除 Dockerfile 中 ENV HTTP_PROXY/HTTPS_PROXY 持久化
- 修复 docker-compose.dev.yml 挂载配置
- 清除最终镜像中的代理变量
fix(ui): 移除弹窗 backdrop-filter blur 修复 UI 卡顿
- 在提供商页面添加搜索框,支持按名称、ID和节点内容过滤
- 为用量统计页面添加Token消耗日历,展示最近三个月趋势
- 在仪表盘新增提供商节点状态概览面板,显示健康状态统计
- 实现API密钥生成后自动复制到剪贴板功能
- 扩展用量统计保留期限至100天以支持三个月日历
- 优化提供商管理弹窗,支持列表和卡片两种视图模式
- 添加从用量页面直接跳转到节点管理功能
- 更新国际化文本支持新功能
chore(docker): 改进 Docker 配置支持代理和开发模式热重载
- 统一仪表盘卡片中节点状态摘要的样式,移除内联样式
- 修复节点圆点容器高度和滚动条问题
- 为提供商名称添加标题提示,改善长文本显示
- 调整仪表板网格的内边距,优化视觉间距
- 修复模型统计页面空状态显示逻辑
- 在服务器优雅关闭流程中增加插件销毁步骤,确保插件资源正确释放
- 为模型使用统计插件添加destroy方法,在销毁时同步写入统计数据
- 重构provider-pool-manager的统计数据初始化逻辑,区分冷启动、热重载和新增节点场景
- 改进stats-manager的数据规范化处理,修复每日统计数据丢失问题
- 更新版本号至2.14.0
- 修复日历循环条件,移除多余的+7天和周日跳过逻辑
- 在日历提示中同时显示请求次数和token数量
- 将分布图显示项从5/6个减少为3个,提高可读性
- 更新版本号至2.14.1
- 将版本号从 2.14.1 更新为 2.14.2

- 取消压缩 model-usage-stats.html 中的 CSS 和 JavaScript 代码,以提高可维护性

- 改进图表显示,将前 3 项限制为最多 3 项,并将其他项分组

- 在柱状图中为“其他”类别添加视觉区分

- 更新日历标题,使其更具描述性
- 将Claude适配器注册顺序提前,使其在Gemini之前
- 注释掉Qwen和IFlow适配器,移除这些服务
添加自定义模型配置支持,允许用户通过UI界面创建和管理自定义模型配置。主要功能包括:
1. 自定义模型参数设置(上下文长度、温度、最大Token数等)
2. 模型别名映射和提供商路由配置
3. 完整的UI管理界面,支持增删改查操作
4. 自动将自定义模型注入到模型列表中
5. 支持在API请求中自动应用自定义参数

新增配置文件示例、API端点、前端组件和管理逻辑,同时更新相关模块以支持自定义模型功能。
- 在GrokApiService中为缺失responseId的响应设置默认值
- 为流式转换方法添加requestId参数以确保responseId传递
- 在toGeminiStreamChunk和toOpenAIResponsesStreamChunk中添加usage数据支持
- 增强provider-pool-manager中的日志记录和错误处理
- 新增配置管理界面中的凭据强制刷新按钮,可手动触发关联节点的令牌刷新流程
- 在配置扫描器中添加过期时间解析逻辑,支持多种过期时间字段格式
- 优化 Grok 提供商的流式响应处理,支持 include_usage 选项
- 移除 Grok NSFW 模型列表,更新版本号至 2.14.5
- 改进令牌使用量统计插件,支持数组形式的用量数据合并
- 增强 Claude Kiro 提供商的凭据加载逻辑,避免使用过期的内存令牌
- 添加过期时间显示样式和国际化支持
在分析OAuth配置文件时,发现某些配置可能使用'expired'字段来表示令牌过期时间。为兼容更多配置格式,在启发式转换时间戳的逻辑中,将'expired'字段加入识别列表。
- 重构403错误处理,区分可刷新(令牌相关)与不可刷新(账户/策略/配额)情况
- 增强令牌刷新逻辑,自动推断认证方法并添加缺失字段验证
- 改进错误响应文本提取,支持Buffer和JSON格式
- 修复令牌刷新后字段赋值,确保refreshToken和profileArn的向后兼容
- 统一callApi、stream和getUsageLimits中的403处理逻辑
- 新增 `getServiceInstanceKey` 和 `invalidateServiceAdapter` 工具函数
- 在更新、删除提供商或刷新 UUID 时主动使对应适配器缓存失效
- 修复 Claude Kiro 凭据加载路径错误
- 允许不健康节点尝试刷新以恢复状态
移除配置示例中的 Qwen 服务提供商配置块,并更新所有语言版本的 README 文档,删除对 Qwen3 Coder Plus 模型的支持说明、配置指南和相关里程碑记录。
在用户指南常见问题板块新增两条内容,解答用户关于令牌自动续期机制的疑惑以及预加载配置对凭据有效性的影响。涵盖中英日三语文档更新,同步调整前端国际化资源文件与 UI 展示组件。
- 新增 RateManager 类用于跟踪请求和 Token 速率
- 在 API Key 和模型使用统计中集成 QPS/TPS 数据
- 在管理界面展示实时速率指标
- 使用滑动窗口算法确保统计数据的准确性和性能
- 在key-manager.js中添加请求ID防重机制,防止同一请求多次统计速率
- 修改incrementUsage函数,支持通过requestId避免重复记录
- 在stats-manager.js中添加rateRecorded标记,防止请求重复处理
- 移除前端界面中不再需要的QPS/TPS显示,简化统计表格
- 更新VERSION文件至2.14.7.1版本
- 在RateTracker中新增maxQps和maxTps字段记录峰值速率
- 新增resetPeaks方法用于重置峰值统计
- 在getStats返回结果中增加maxQps和maxTps字段
- 更新API接口、统计页面和用户界面以显示峰值速率
- 同步更新版本号至2.14.7.2
- 在 provider-models.js 中为 claude-kiro-oauth 提供者添加新模型
- 在模型映射表中添加 claude-opus-4-7 的映射
- 修复模型选择逻辑,避免不必要的映射回退
- 更新项目版本号至 2.14.7.3
在速率跟踪器中新增 RPM(每分钟请求数)统计,并在 API 响应、管理后台、用户面板和模型使用统计页面中展示当前 RPM 及其峰值。同时更新版本号至 2.14.8。
修复 appendCustomModelsToModelList 函数中处理 OPENAI_MODEL_LIST 类型时未正确合并自定义模型的问题,现在能正确更新现有模型元数据或添加新模型。
修复 handleContentGenerationRequest 函数中请求体转换时丢失内部属性(如 _monitorRequestId)的问题,转换后现在会保留所有以下划线开头的内部字段。
- 在日历工具提示中显示每日峰值速率(QPS/RPM/TPS)
- 在API密钥管理页面添加实时速率和峰值统计卡片
- 扩展数据模型以持久化峰值速率数据
- 修改工具提示样式支持多行显示
- 更新版本号至2.14.8.2
- 在密钥管理面板的排序下拉菜单中添加 QPS 和 RPM 排序选项
- 重新组织密钥统计信息的布局,将累计数据、请求频率和 Token 速率分栏显示
- 调整响应式设计,确保移动端布局正常
修复前端统计图表和后端统计记录因时区不一致导致的日期键不匹配问题。在 utils/common.js 中新增 getBeijingDateString 工具函数,并在 stats-manager.js 和 key-manager.js 中使用该函数生成日期键,确保前后端均使用北京时间 (UTC+8) 进行统计。
同时更新项目版本号至 2.14.9。
引入文件锁管理器,为关键配置文件操作提供异步锁保护,防止并发写入导致的数据损坏。重构多个UI API模块,使用原子化写入和文件锁确保配置更新、自定义模型管理、提供商状态持久化等操作的安全性。同时更新项目文档标题和添加日志目录到.gitignore。
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review is ineligible. To be eligible to request a review, you need a paid Copilot license, or your organization must enable Copilot code review.

新增插件卸载能力,后端提供 DELETE 接口并在卸载时清理
插件实例、配置与用户插件目录,同时限制仅允许卸载用户插件。

前端插件管理页增加卸载按钮,并在插件市场中识别已安装插件的可更新版本,显示更新操作入口;支付弹窗在缺少二维码时会自动隐藏扫码提示,避免空白展示。

同时优化 Gemini 与 Antigravity 的 tier 展示逻辑,补充
usage 计划名解析与 ultra 样式,提升套餐信息显示准确性。
在所有语言版本的 README 文件中添加 APIKEY.FUN 赞助商信息,包括:
- 添加赞助商 logo 图片
- 添加赞助商介绍和优惠信息
- 提供专属注册链接和折扣说明
Copilot AI review requested due to automatic review settings May 23, 2026 09:18
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review is ineligible. To be eligible to request a review, you need a paid Copilot license, or your organization must enable Copilot code review.

justlikemaki and others added 6 commits May 23, 2026 17:31
- 新增赞助商独立展示区块,包含 PackyCode、APIKEY.FUN、VisionCoder、AICodeMirror 四家赞助商信息
- 添加赞助商页面样式,支持响应式布局和悬停交互效果
- 在侧边栏导航中增加赞助商入口
- 完善中英文国际化配置,支持赞助商相关文案翻译
- 升级版本号至 3.1.6
feat: support Codex CPA/sub2api credential import
Copilot AI review requested due to automatic review settings May 27, 2026 09:08
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review is ineligible. To be eligible to request a review, you need a paid Copilot license, or your organization must enable Copilot code review.

justlovemaki and others added 2 commits May 27, 2026 17:15
…call-v3

fix(kiro): preserve first user images when merging system prompt
升级项目版本至3.1.7
新增busboy依赖,标记过时的@ungap/structured-clone包需更新至1.3.1及以上
移除多重复的请求体解析代码,复用通用的getRequestBody工具
为所有请求添加请求体大小限制,防止DoS攻击并针对超大请求返回413状态码
更新Claude系统提示,添加工具使用规范
优化错误处理逻辑,销毁异常请求连接避免挂起
Copilot AI review requested due to automatic review settings May 27, 2026 10:46
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review is ineligible. To be eligible to request a review, you need a paid Copilot license, or your organization must enable Copilot code review.

本次提交完整集成了AtlasCloud AI推理平台支持:
- 添加模型提供商常量与OpenAI兼容适配器注册
- 更新自定义模型、提供商池配置示例文件
- 补充界面展示名称、多语言翻译与路由配置
- 新增项目赞助信息与对应接口测试用例
- 更新所有相关UI组件与工具函数适配新提供商
Copilot AI review requested due to automatic review settings May 29, 2026 05:08
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review is ineligible. To be eligible to request a review, you need a paid Copilot license, or your organization must enable Copilot code review.

添加对应链接的CSS样式,并在移动端隐藏该元素;同时更新全量文档与赞助组件的赞助商信息,将主赞助商替换为Atlas Cloud,原AICodeMirror赞助信息注释备用。
- 更新OpenAI Codex OAuth模型配置,移除旧版模型并修正默认检测模型为gpt-5.4
- 为所有转换器添加requestId参数,修复并发请求下的工具名称映射冲突
- 重构Antigravity/Gemini提供商实现:修复基础URL、新增完整模型元数据、支持模型自动降级同步
- 增强API客户端错误处理,将状态码与响应数据附加到错误对象
- 添加强制模型回退同步逻辑,确保监控与统计使用实际使用的模型
- 修复AWS凭证导入的冲突错误处理逻辑
- 新增GROK_STATSIG_ID配置项及对应的前端输入字段
- 优化Grok API的请求格式、请求头及设备环境参数
- 补充Statsig ID的多语言翻译内容
同步更新版本号至3.2.1,添加对应多语言翻译,调整Grok提供商设置表单字段顺序,完善Grok API的cookie处理逻辑
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 3, 2026

Important

Review skipped

Too many files!

This PR contains 168 files, which is 18 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 9026034c-cc9b-448f-a97e-85bebb853b2c

📥 Commits

Reviewing files that changed from the base of the PR and between 3df8ce3 and 9044bdb.

⛔ Files ignored due to path filters (8)
  • package-lock.json is excluded by !**/package-lock.json
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • static/apikey.fun.png is excluded by !**/*.png
  • static/atlascloud.png is excluded by !**/*.png
  • static/favicon.ico is excluded by !**/*.ico
  • static/favicon0.ico is excluded by !**/*.ico
  • static/ip2node.png is excluded by !**/*.png
  • static/visioncoder.png is excluded by !**/*.png
📒 Files selected for processing (168)
  • .gitignore
  • Dockerfile
  • README-JA.md
  • README-ZH.md
  • README.md
  • VERSION
  • configs/config.json.example
  • configs/custom_models.json.example
  • configs/market.json
  • configs/market.json.example
  • configs/provider_pools.json.example
  • docker/VERSION
  • docker/docker-compose.build.yml
  • docker/docker-compose.dev.yml
  • docker/docker-compose.yml
  • docs/OPENCLAW_CONFIG_GUIDE-JA.md
  • docs/OPENCLAW_CONFIG_GUIDE-ZH.md
  • docs/OPENCLAW_CONFIG_GUIDE.md
  • docs/OPENCODE_CONFIG_EXAMPLE.md
  • docs/skills/aiclient-cli-usage.md
  • package.json
  • src/auth/codex-import-normalizer.js
  • src/auth/codex-oauth.js
  • src/auth/gemini-oauth.js
  • src/auth/grok-auth.js
  • src/auth/grok-cli-oauth.js
  • src/auth/index.js
  • src/auth/kiro-oauth.js
  • src/auth/oauth-handlers.js
  • src/convert/convert.js
  • src/converters/strategies/ClaudeConverter.js
  • src/converters/strategies/CodexConverter.js
  • src/converters/strategies/GeminiConverter.js
  • src/converters/strategies/GrokConverter.js
  • src/converters/strategies/OpenAIConverter.js
  • src/converters/strategies/OpenAIResponsesConverter.js
  • src/converters/utils.js
  • src/core/config-manager.js
  • src/core/master.js
  • src/core/plugin-manager.js
  • src/core/plugin-security.js
  • src/core/security-hardening.js
  • src/handlers/request-handler.js
  • src/img/logo-mid.webp
  • src/img/logo-mid0.webp
  • src/img/logo-min.webp
  • src/img/logo.webp
  • src/plugins/ai-monitor/index.js
  • src/plugins/api-potluck/api-routes.js
  • src/plugins/api-potluck/index.js
  • src/plugins/api-potluck/key-manager.js
  • src/plugins/model-usage-stats/index.js
  • src/plugins/model-usage-stats/stats-manager.js
  • src/providers/adapter.js
  • src/providers/claude/claude-core.js
  • src/providers/claude/claude-kiro.js
  • src/providers/forward/forward-core.js
  • src/providers/forward/forward-strategy.js
  • src/providers/gemini/antigravity-core.js
  • src/providers/gemini/antigravity-tool-config.js
  • src/providers/gemini/gemini-core.js
  • src/providers/grok/grok-cli-core.js
  • src/providers/grok/grok-core.js
  • src/providers/grok/grok-strategy.js
  • src/providers/grok/ws-imagine.js
  • src/providers/openai/codex-core.js
  • src/providers/openai/iflow-core.js
  • src/providers/openai/openai-core.js
  • src/providers/openai/openai-responses-core.js
  • src/providers/openai/openai-responses-strategy.js
  • src/providers/openai/openai-strategy.js
  • src/providers/openai/qwen-core.js
  • src/providers/provider-models.js
  • src/providers/provider-pool-manager.js
  • src/scripts/example-api.js
  • src/scripts/help.js
  • src/scripts/kiro-idc-token-refresh.js
  • src/scripts/kiro-token-refresh.js
  • src/scripts/merge-json-files.js
  • src/services/api-manager.js
  • src/services/api-server.js
  • src/services/plugin-installer.js
  • src/services/service-manager.js
  • src/services/ui-manager.js
  • src/services/usage-service.js
  • src/ui-modules/access-api.js
  • src/ui-modules/auth.js
  • src/ui-modules/config-api.js
  • src/ui-modules/config-scanner.js
  • src/ui-modules/custom-models-api.js
  • src/ui-modules/event-broadcast.js
  • src/ui-modules/oauth-api.js
  • src/ui-modules/plugin-api.js
  • src/ui-modules/provider-api.js
  • src/ui-modules/update-api.js
  • src/ui-modules/upload-config-api.js
  • src/ui-modules/usage-api.js
  • src/ui-modules/usage-cache.js
  • src/utils/common.js
  • src/utils/constants.js
  • src/utils/context.js
  • src/utils/docs-data.js
  • src/utils/file-lock.js
  • src/utils/grok-assets-proxy.js
  • src/utils/logger.js
  • src/utils/provider-config-normalizer.js
  • src/utils/provider-strategy.js
  • src/utils/provider-utils.js
  • src/utils/proxy-utils.js
  • src/utils/rate-tracker.js
  • src/utils/ui-utils.js
  • src/utils/version-tag.js
  • static/app/access-manager.js
  • static/app/app.js
  • static/app/auth.js
  • static/app/base.css
  • static/app/component-loader.js
  • static/app/config-manager.js
  • static/app/custom-models-manager.js
  • static/app/event-handlers.js
  • static/app/event-stream.js
  • static/app/file-upload.js
  • static/app/i18n.js
  • static/app/mobile.css
  • static/app/modal.js
  • static/app/models-manager.js
  • static/app/navigation.js
  • static/app/playground-manager.js
  • static/app/plugin-manager.js
  • static/app/provider-manager.js
  • static/app/routing-examples.js
  • static/app/upload-config-manager.js
  • static/app/usage-manager.js
  • static/app/utils.js
  • static/components/header.css
  • static/components/header.html
  • static/components/section-access.css
  • static/components/section-access.html
  • static/components/section-config.css
  • static/components/section-config.html
  • static/components/section-custom-models.css
  • static/components/section-custom-models.html
  • static/components/section-dashboard.css
  • static/components/section-dashboard.html
  • static/components/section-guide.html
  • static/components/section-playground.css
  • static/components/section-playground.html
  • static/components/section-plugins.css
  • static/components/section-plugins.html
  • static/components/section-providers.css
  • static/components/section-providers.html
  • static/components/section-sponsors.css
  • static/components/section-sponsors.html
  • static/components/section-tutorial.html
  • static/components/section-upload-config.css
  • static/components/section-usage.css
  • static/components/sidebar.html
  • static/index.html
  • static/login.html
  • static/model-usage-stats.html
  • static/potluck-user.html
  • static/potluck.html
  • tests/api-integration.test.js
  • tests/codex-import-normalizer.test.js
  • tests/provider-models.unit.test.js
  • tests/request-body.test.js
  • tests/security-fixes.test.js
  • tests/security-fixes.unit.test.js

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

包含以下变更:
- 新增Grok CLI OAuth授权流程、API适配器与核心服务实现
- 更新Docker Compose配置,开放56121端口用于OAuth回调
- 补充前端UI支持:配置页面、模型列表、路由示例与多语言翻译
- 更新中英日三语言的README文档
- 将项目版本从3.2.1升级至3.2.2
- 修复Grok核心服务硬编码的temporary参数问题
- 优化请求体大小校验逻辑与敏感字段检测规则
新增当sessionId不可用时从authUrl提取state参数的逻辑,优化空状态参数的处理,同时将版本更新至3.2.2.1
将Gemini提供商的工具配置相关代码抽取至独立模块,统一配置字段格式转换,优化服务端工具处理流程,版本更新至3.2.2.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.