Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
303 commits
Select commit Hold shift + click to select a range
d887306
fix: 使用本地类型定义避免 Wails 绑定类型导出问题
Rogers-F Nov 25, 2025
b7aff06
fix: 从 Wails 生成的 models.ts 导入类型
Rogers-F Nov 25, 2025
7867630
refactor: 精简 UI 导航,移除重复入口
Rogers-F Nov 25, 2025
20443d8
fix: 恢复 Gemini CLI 配置页面入口
Rogers-F Nov 25, 2025
b16dbcd
feat: 移除 Gemini 侧边栏入口并添加侧边栏收起功能
Rogers-F Nov 25, 2025
0ba1002
fix: 修复侧边栏收起后图标不居中和按钮文字竖排问题
Rogers-F Nov 25, 2025
217ae3e
fix: 修复按钮文字垂直居中问题
Rogers-F Nov 25, 2025
a72faa7
fix: 修复侧边栏NEW徽章逻辑和多页面按钮样式问题
Rogers-F Nov 25, 2025
3916738
fix: 修复按钮文字溢出问题,使用更高优先级的CSS选择器覆盖全局样式
Rogers-F Nov 25, 2025
4031e98
fix: 修复按钮文字溢出问题,限制全局样式作用范围
Rogers-F Nov 25, 2025
d9cbd1e
fix: 修复按钮文字溢出和页面切换状态丢失问题
Rogers-F Nov 25, 2025
e8e1543
fix: 修复按钮文字垂直排列问题,强制 flex-direction: row
Rogers-F Nov 25, 2025
f9f7185
fix: 修复按钮内SVG被Tailwind preflight影响导致文字溢出
Rogers-F Nov 25, 2025
8726397
fix: 按钮添加 width:fit-content 和 padding 确保文字在按钮内
Rogers-F Nov 25, 2025
527cea8
fix: 使用 !important 强制按钮样式,确保宽度自适应
Rogers-F Nov 25, 2025
8dc0097
fix: 修正显示版本号为 v1.1.11
Rogers-F Nov 25, 2025
7b10e38
feat: 添加 Claude Opus 4.5 定价支持
Rogers-F Nov 26, 2025
7267331
feat: 完善 Claude 4.5 系列模型定价支持
Rogers-F Nov 26, 2025
5e3357a
fix: 修复固定拉黑模式失败阈值硬编码为3的问题
Rogers-F Nov 27, 2025
3bc2ff1
feat: 添加拉黑功能总开关和修复配置读取
Rogers-F Nov 27, 2025
892bac9
fix: 修复 SQLite 数据库锁问题和连接池未初始化导致首次写入失败
Rogers-F Nov 27, 2025
3b40431
feat: 添加控制台日志查看器和修复非流式请求状态码0判断
Rogers-F Nov 27, 2025
19d0497
fix: 修复数据库并发写入导致的SQLITE_BUSY错误
Rogers-F Nov 27, 2025
8adf709
fix: 彻底修复数据库并发锁冲突 + 控制台日志3天自动清理
Rogers-F Nov 27, 2025
7831924
chore: 更新版本号至v1.1.14
Rogers-F Nov 27, 2025
a36a7bb
fix: 移除未使用的strings导入
Rogers-F Nov 27, 2025
d5455da
fix: 修复状态码0和2xx被错误判定为失败的问题
Rogers-F Nov 28, 2025
f4bfbf1
chore: 更新版本号至v1.1.15
Rogers-F Nov 28, 2025
8ed2315
feat: 改进自动更新功能的日志输出和调试信息
Rogers-F Nov 28, 2025
f83aba6
chore: 更新版本号至v1.1.16
Rogers-F Nov 28, 2025
c06cb1f
fix: 修复request_log写入时的事务嵌套错误
Rogers-F Nov 28, 2025
2452c55
fix: 修复多项核心问题并实现故障切换
Rogers-F Nov 28, 2025
9ce1aaa
fix: 修复UI问题和版本号显示
Rogers-F Nov 28, 2025
9ca79dd
chore: 更新版本号至v1.1.19
Rogers-F Nov 28, 2025
a7559eb
fix: 修复等级拉黑开关不生效的问题
Rogers-F Nov 28, 2025
7438f83
fix: 修复模块导入路径问题
Rogers-F Nov 28, 2025
3cfee83
feat: 优化拉黑模式行为并修复多项问题
Rogers-F Nov 28, 2025
4afbfa7
feat: 优化拉黑响应速度并修复阈值同步问题
Rogers-F Nov 29, 2025
8859b87
fix: 修复Windows安装版自动更新权限问题和GitHub链接
Rogers-F Nov 29, 2025
09d825b
fix: 修复供应商添加后刷新消失的问题
Rogers-F Nov 29, 2025
b113585
fix: 修复 Gemini 配置写入和代理问题
Rogers-F Nov 29, 2025
2c19d87
feat: 支持 Gemini 供应商拖拽排序
Rogers-F Nov 29, 2025
92e0868
fix: 修复SQLite SQLITE_BUSY数据库锁死问题
Rogers-F Nov 30, 2025
a2f770b
feat: Windows安装版静默更新支持
Rogers-F Dec 1, 2025
fa9bc40
ci: 更新Release工作流支持静默更新
Rogers-F Dec 1, 2025
c387507
chore: bump version to v1.1.27
Rogers-F Dec 1, 2025
0b567ad
feat: Linux platform support with AppImage/DEB/RPM packages
Rogers-F Dec 1, 2025
5bcb7d2
fix: install Linux dependencies before Wails CLI
Rogers-F Dec 1, 2025
0b25062
fix: rename AppImage to standard name (linuxdeploy adds arch suffix)
Rogers-F Dec 1, 2025
89135f6
fix: handle lowercase AppImage filename from linuxdeploy
Rogers-F Dec 1, 2025
6afa2a9
feat: Gemini streaming token parsing & sidebar UI improvements
Rogers-F Dec 2, 2025
6dc339e
fix: prevent false blacklisting when client aborts connection
Rogers-F Dec 2, 2025
b6f8521
fix: Windows installer auto-update not triggering update flow
Rogers-F Dec 2, 2025
0ac25ea
fix: sidebar nav-item padding and border-radius alignment
Rogers-F Dec 2, 2025
9416b06
fix: complete overhaul of Windows auto-update system
Rogers-F Dec 2, 2025
f9e9d95
feat: add CLI configuration editor for providers
Rogers-F Dec 5, 2025
f57b9d1
feat: add custom fields support in CLI config editor
Rogers-F Dec 5, 2025
df705c6
fix: preserve blacklist level after auto-recovery
Rogers-F Dec 5, 2025
4108e07
feat: enhance cc-switch import with first-run detection and manual im…
Rogers-F Dec 5, 2025
1215262
chore: rename app to Code Switch R
Rogers-F Dec 5, 2025
c3b7323
feat: add CLI config preview and smart paste support
Rogers-F Dec 6, 2025
5a519f5
docs: update README with new features
Rogers-F Dec 6, 2025
3af2819
feat: add MCP JSON import and auto-sort providers by level
Rogers-F Dec 6, 2025
2729e37
fix: support cc-switch new config file name
Rogers-F Dec 6, 2025
2d9453b
chore: bump version to v1.3.5
Rogers-F Dec 6, 2025
f2b41b9
fix: extract Gemini model name from endpoint for accurate token count…
Rogers-F Dec 6, 2025
de4682c
chore: bump version to v1.3.6
Rogers-F Dec 6, 2025
54bc1a7
feat: add Gemini 3 Pro Preview pricing
Rogers-F Dec 6, 2025
f20a25f
chore: bump version to v1.3.7
Rogers-F Dec 6, 2025
91e7938
feat: add new services and update dependencies
GoldenTangerine Dec 6, 2025
231cc80
feat: implement provider endpoint synchronization and UI enhancements
GoldenTangerine Dec 6, 2025
70e0c8b
feat: add auto connectivity test for providers
Rogers-F Dec 7, 2025
85eab99
feat: improve dark mode button visibility and add token warning
Rogers-F Dec 7, 2025
cd11d95
Merge branch 'Rogers-F:main' into main
GoldenTangerine Dec 7, 2025
0f97752
fix: resolve connectivity timeout false blacklisting and duplicate pr…
Rogers-F Dec 7, 2025
dbe77e4
feat: enhance notification system and update app settings
GoldenTangerine Dec 7, 2025
b1d31e3
feat: add provider switch notification with UI highlight
GoldenTangerine Dec 7, 2025
e005cca
feat: add cost detail modal and enhance logs summary
GoldenTangerine Dec 7, 2025
60d817b
feat: add connectivity test service bindings
GoldenTangerine Dec 7, 2025
8e1951f
Merge upstream/main: sync with Rogers-F/code-switch-R
GoldenTangerine Dec 7, 2025
c619c38
fix: preserve existing settings when enabling proxy
Rogers-F Dec 7, 2025
cf66d66
Merge branch 'Rogers-F:main' into main
GoldenTangerine Dec 7, 2025
c10ac87
fix: continue with empty config on parse failure instead of blocking
Rogers-F Dec 7, 2025
9e8d858
fix: resolve model mapping save failure and allow provider name editing
Rogers-F Dec 7, 2025
d1dc743
fix: restore provider name immutability to preserve blacklist and sta…
Rogers-F Dec 7, 2025
22ada1b
fix: prevent empty supportedModels from blocking modelMapping save
Rogers-F Dec 8, 2025
66b1dde
Merge branch 'Rogers-F:main' into main
GoldenTangerine Dec 8, 2025
83668b7
feat: add reasoning cost to ReqeustLog model
GoldenTangerine Dec 8, 2025
ce87e6b
feat: add startup warning when modelMapping is set without supportedM…
Rogers-F Dec 8, 2025
bcc131b
Merge pull request #2 from GoldenTangerine/main
Rogers-F Dec 8, 2025
09907db
fix: 修复控制台日志递归爆炸问题
GoldenTangerine Dec 8, 2025
1704ce1
fix: resolve cc-switch import and connectivity test issues
Rogers-F Dec 8, 2025
2e8ac57
Merge branch 'Rogers-F:main' into main
GoldenTangerine Dec 8, 2025
8a998a8
feat: add SQLite import support and fix edit icon alignment
Rogers-F Dec 8, 2025
db7c7b5
fix: use supported model for connectivity test
Rogers-F Dec 8, 2025
44b91e9
feat: add connectivity test model selection
Rogers-F Dec 8, 2025
b7259ef
feat: add apiFormat field for third-party provider compatibility
Rogers-F Dec 8, 2025
1dab727
feat: add customizable endpoint and auth method for connectivity testing
Rogers-F Dec 8, 2025
920f488
fix: platform-aware defaults for connectivity test
Rogers-F Dec 8, 2025
d9d9e8f
feat: add debug logging for connectivity test troubleshooting
Rogers-F Dec 8, 2025
b8da451
Merge branch 'Rogers-F:main' into main
GoldenTangerine Dec 9, 2025
f02ac1b
feat: v1.5.3 - 修复代理开关状态、新增配置预览编辑
Rogers-F Dec 9, 2025
2ceb374
chore: update version to 1.5.3
Rogers-F Dec 9, 2025
751c9f3
chore: sync version_service.go to 1.5.3
Rogers-F Dec 9, 2025
0674002
ci: auto-update version from git tag in all platforms
Rogers-F Dec 9, 2025
1a6ba0f
fix: 修复代理开关刷新后状态显示错误 - 使用 in 检查字段存在性替代 ?? 运算符
Rogers-F Dec 9, 2025
4e1b309
ci: 从 RELEASE_NOTES.md 自动提取版本更新说明
Rogers-F Dec 9, 2025
250b9df
fix: 修复 Claude 代理状态因 env 非字符串值解析失败的问题 - 使用 map[string]any 宽容解析,避免 jso…
Rogers-F Dec 9, 2025
ff3af13
chore: bump version to v1.5.4 with release notes
Rogers-F Dec 9, 2025
8372b5d
feat: v2.0.0 自定义 CLI 工具支持 (Others Tab)
Rogers-F Dec 9, 2025
dc6077f
fix: 添加 ToastType warning 类型修复构建错误
Rogers-F Dec 9, 2025
6722c79
Initial plan
Copilot Dec 10, 2025
93688a2
Add /v1/models endpoint support for provider-based model list forwarding
Copilot Dec 10, 2025
c0a2ffe
Refactor: Extract common /v1/models request forwarding logic into sha…
Copilot Dec 10, 2025
7f68cfc
Complete /v1/models endpoint implementation with tests and documentation
Copilot Dec 10, 2025
80341f6
Merge pull request #1 from lwaay2025/copilot/add-model-access-endpoint
lwaay2025 Dec 10, 2025
b3b8838
fix: 修复配置迁移、后台服务管理和性能问题 (v2.1.0)
Rogers-F Dec 10, 2025
53b0228
fix: 修复 healthcheckservice 编译错误
Rogers-F Dec 10, 2025
133e9d9
fix: 添加缺失的 log 包导入到 providerservice.go
Rogers-F Dec 10, 2025
685bc9c
fix(critical): 修复配置加载死锁导致数据同步失效的严重问题
Rogers-F Dec 10, 2025
1620bef
feat: 添加可用性监控页面入口到侧边栏和路由
Rogers-F Dec 10, 2025
4b73e9e
feat: 完整迁移前端到可用性监控配置
Rogers-F Dec 10, 2025
de0d823
fix: 修复 timeout 字段的类型错误
Rogers-F Dec 10, 2025
6690bf9
fix(critical): 修复数据库表缺失和简化配置表单
Rogers-F Dec 10, 2025
e7d0d12
feat: 可用性页面添加配置编辑功能 (v2.1.1)
Rogers-F Dec 10, 2025
a06e8de
fix: 添加缺失的 availabilityConfig 类型定义
Rogers-F Dec 10, 2025
4855b13
feat: 完善可用性和 MCP 配置体验
Rogers-F Dec 10, 2025
b2ac7af
fix: 修复编辑模式下 JSON Tab 无法切换的问题
Rogers-F Dec 10, 2025
03ab437
fix(critical): 修复 MCP Tab 不可见和编辑按钮对比度问题
Rogers-F Dec 10, 2025
8cb3a31
feat: 实现开关双向同步和应用设置关联
Rogers-F Dec 10, 2025
9126403
feat: 应用 Gemini 设计方案 C (Elegant Glass) 优化按钮样式
Rogers-F Dec 10, 2025
07d4059
fix: 修复自动监控默认值和未使用的 import
Rogers-F Dec 10, 2025
534ac7d
fix(critical): 修复自动可用性监控默认值为开启
Rogers-F Dec 10, 2025
cd38623
fix(critical): 修复固定拉黑模式行为不一致问题
Rogers-F Dec 11, 2025
a78c49d
fix: 添加全局开关检查,避免拉黑关闭时误用固定模式
Rogers-F Dec 11, 2025
dad12d4
feat: 统一徽章样式设计 (v2.2.0)
Rogers-F Dec 11, 2025
8615520
feat: 添加可选 API 端点配置功能(核心实现)
Rogers-F Dec 11, 2025
0927ee1
feat: 完善 API 端点校验逻辑 (v2.2.1)
Rogers-F Dec 11, 2025
83e08b7
feat: 添加 API 端点配置 UI 和国际化
Rogers-F Dec 11, 2025
e9d3fae
fix: 健康检查支持自定义 API 端点
Rogers-F Dec 11, 2025
d4b6ad8
feat: 改进可用性监控 UI 和增强 Gemini API Key 安全性 (v2.2.2)
Rogers-F Dec 11, 2025
adac817
feat: 添加供应商认证方式配置功能 (v2.3.0)
Rogers-F Dec 11, 2025
c6da8a4
fix: 默认认证方式改回 Bearer,与 v2.2.x 保持兼容 (v2.3.1)
Rogers-F Dec 11, 2025
02a3532
fix: Gemini 托管启用时设置 GEMINI_API_KEY=code-switch (v2.3.2)
Rogers-F Dec 11, 2025
21c0b26
Merge pull request #3 from lwaay2025/main
Rogers-F Dec 12, 2025
3eb3b74
fix: /v1/models 端点支持认证方式配置 (v2.3.3)
Rogers-F Dec 12, 2025
119a061
feat: 全面修复三大平台更新系统与配置管理 (v2.4.0)
Rogers-F Dec 12, 2025
de67cca
fix: 修正 DeepLinkImportDialog 的 error.ts 导入路径
Rogers-F Dec 13, 2025
089fa91
fix: MCP modal 打开时重置模式状态,确保 tab 切换正常
Rogers-F Dec 13, 2025
6dc40bd
chore: 更新版本号到 v2.4.1
Rogers-F Dec 13, 2025
f8d956b
fix: CLI 配置预览 textarea 解锁时自动聚焦,修复 macOS WebView 键盘输入问题
Rogers-F Dec 13, 2025
02bb3d3
fix: 增强更新系统日志,显示详细错误信息,修复进度更新逻辑
Rogers-F Dec 13, 2025
7aeece8
chore: 更新版本号到 v2.4.2
Rogers-F Dec 13, 2025
bf0bdfa
fix: 增强自动更新系统稳定性和安全性
Rogers-F Dec 13, 2025
bd300d5
fix: 修复 MCP JSON 导入输入框在 macOS 上的键盘输入问题
Rogers-F Dec 13, 2025
315088a
debug: 添加调试日志诊断 MCP JSON 导入模态框渲染问题
Rogers-F Dec 13, 2025
5de1385
debug: 使用 alert() 替代 console.log 诊断 Tab 点击问题
Rogers-F Dec 13, 2025
9da290b
debug: 添加红色测试文本验证 JSON 模式渲染,移除 alert 调试
Rogers-F Dec 13, 2025
d9bb3b6
fix: 修复 InlineModal 点击事件穿透问题,使用 pointer-events: none 的 overlay
Rogers-F Dec 13, 2025
39657d4
fix: 移除内层重复的 v-if,修复 Tab 切换导致模态框关闭的问题
Rogers-F Dec 13, 2025
d0ddbdd
fix: 彻底修复 MCP JSON 导入模态框问题
Rogers-F Dec 14, 2025
88e228d
refactor: 重构 MCP 编辑为全屏面板,彻底解决 macOS WebView 问题
Rogers-F Dec 14, 2025
42c7f2e
fix: 补充 FullScreenPanel 可访问性功能(Esc关闭、焦点管理、aria属性)
Rogers-F Dec 14, 2025
27d0882
fix: 修复点击Tab按钮误关闭面板问题(移除window级Esc监听)
Rogers-F Dec 14, 2025
a66efa4
feat(mcp): 在表单填写模式下添加可编辑 JSON 配置区域
Rogers-F Dec 15, 2025
91ee918
fix(mcp): 修复批量导入Tab被遮罩层覆盖问题并改名
Rogers-F Dec 15, 2025
af03122
perf: 将HTTP请求超时时间从3小时延长到32小时
Rogers-F Dec 15, 2025
ed3a556
fix: 修复点击Tab按钮误关闭FullScreenPanel的问题
Rogers-F Dec 15, 2025
9606e03
fix(mcp): 修复批量导入多个问题并增强FullScreenPanel防误关闭
Rogers-F Dec 16, 2025
49264da
fix(mcp): 修复FullScreenPanel属性穿透问题导致z-index覆盖失效
Rogers-F Dec 16, 2025
1415bc9
fix(mcp): 修复批量导入Tab点击后输入框不显示的问题
Rogers-F Dec 16, 2025
f171171
fix: 添加跨平台 hideWindowCmd 函数定义
Rogers-F Dec 16, 2025
e983a5b
fix(mcp): 重构FullScreenPanel事件处理架构解决Tab误关闭问题
Rogers-F Dec 16, 2025
33ccc91
feat(mcp): 重构批量导入功能为两步向导模式
Rogers-F Dec 16, 2025
da058d9
chore: bump version to v2.5.12
Rogers-F Dec 16, 2025
a26e753
fix: 修复CI构建错误(类型定义和未使用导入)
Rogers-F Dec 16, 2025
f9f6926
chore: bump version to v2.5.13
Rogers-F Dec 16, 2025
517b4dc
debug(mcp): 添加批量导入按钮点击调试日志
Rogers-F Dec 16, 2025
9227d7e
debug(mcp): 使用 Toast 通知替代 console.log 调试
Rogers-F Dec 16, 2025
b5ae03e
debug(mcp): 在 BatchImportModal watch 中添加 Toast 调试
Rogers-F Dec 16, 2025
12b5500
debug(mcp): 在 FullScreenPanel 添加调试 toast 追踪 open 状态
Rogers-F Dec 16, 2025
8295041
fix(build): 修复 ToastType 类型错误(info -> success)
Rogers-F Dec 16, 2025
d3b75f9
fix(mcp): 修复批量导入弹窗被遮挡导致不显示的问题
Rogers-F Dec 16, 2025
035762d
debug(mcp): 临时禁用 Transition 测试动画是否卡住
Rogers-F Dec 16, 2025
520736f
debug(mcp): 临时禁用 Teleport 测试传送目标问题
Rogers-F Dec 16, 2025
cade752
debug(mcp): 添加极端可见样式(红色背景+z-index:99999)
Rogers-F Dec 16, 2025
dcdbf5a
debug(mcp): 在 BatchImportModal 添加直接测试 div
Rogers-F Dec 17, 2025
bf3728a
debug(mcp): 尝试使用 props.open 替代 open
Rogers-F Dec 17, 2025
d90fb6a
debug(mcp): 移除 v-bind=$attrs 测试属性冲突
Rogers-F Dec 17, 2025
0709f3d
debug(mcp): 使用 v-show 替代 v-if 测试
Rogers-F Dec 17, 2025
a2ba943
debug(mcp): 移除蓝色测试 div,避免遮挡
Rogers-F Dec 17, 2025
ee9d410
debug(mcp): 极简化 BatchImportModal 模板测试
Rogers-F Dec 17, 2025
b844b1d
fix(mcp): 恢复 FullScreenPanel 和 BatchImportModal 完整实现
Rogers-F Dec 17, 2025
f080f75
debug(mcp): 测试纯 HTML slot 内容 (v2.5.30)
Rogers-F Dec 17, 2025
34a6512
debug(mcp): 测试 BaseTextarea 组件 (v2.5.31)
Rogers-F Dec 17, 2025
4a554d7
debug(mcp): 分区测试 - 7个区块一次定位问题 (v2.5.32)
Rogers-F Dec 17, 2025
f0cd75d
debug(mcp): 测试 v-if 条件 (v2.5.34)
Rogers-F Dec 17, 2025
35f1604
debug(mcp): 测试 ref + i18n (v2.5.35)
Rogers-F Dec 17, 2025
ee9d884
debug(mcp): 只测 ref (v2.5.36)
Rogers-F Dec 17, 2025
6949acc
debug(mcp): 只测 i18n placeholder (v2.5.37)
Rogers-F Dec 17, 2025
d69b61d
debug(mcp): 测试简单 i18n key (v2.5.38)
Rogers-F Dec 17, 2025
428323f
fix(mcp): 修复批量导入弹窗因 i18n placeholder 多行 JSON 导致渲染失败
Rogers-F Dec 17, 2025
2e505be
feat(mcp): 修复内置MCP删除问题并新增Gemini平台支持 (v2.5.40)
Rogers-F Dec 17, 2025
6d0892c
feat: 新增供应商直连应用功能 (v2.5.41)
Rogers-F Dec 18, 2025
39151a5
feat: CLI配置预览增强与代理Token向后兼容 (v2.5.42)
Rogers-F Dec 18, 2025
32a55dd
fix(gemini): 允许编辑模式下修改API密钥 (v2.5.43)
Rogers-F Dec 18, 2025
47be92b
chore: 清理MCP批量导入debug弹窗
Rogers-F Dec 18, 2025
d3dccf0
Merge branch 'Rogers-F:main' into main
GoldenTangerine Dec 19, 2025
34fa2e1
feat(blacklist): 拉黑模式改为同Provider重试到拉黑再切换
Rogers-F Dec 21, 2025
78d38ba
fix(cli-config): 修复自定义字段无法删除的问题
Rogers-F Dec 21, 2025
663109f
fix(cli-config): 完善自定义字段编辑体验
Rogers-F Dec 21, 2025
6bc527e
chore: bump version to v2.5.44
Rogers-F Dec 22, 2025
e21f715
feat(network): WSL 支持与代理状态管理
Rogers-F Dec 22, 2025
318ff20
fix: 修复设置页面两个 bug
Rogers-F Dec 22, 2025
fc72fc1
fix: 修复 WSL 发行版检测乱码问题
Rogers-F Dec 22, 2025
5b4f55e
fix(wsl): 修复 WSL 配置失败及开关排版问题
Rogers-F Dec 22, 2025
ac86ed0
fix(wsl): 修复 bash -c 参数转义导致的配置失败
Rogers-F Dec 22, 2025
cfd65d2
fix(gemini): 允许编辑 Gemini 供应商的 API Key
Rogers-F Dec 25, 2025
90901e2
fix(gemini): 修复编辑供应商时字段丢失和强制禁用问题
Rogers-F Dec 25, 2025
f78e08d
fix: 修复提示词管理和CLI配置编辑器的同步问题
Rogers-F Dec 28, 2025
599b30b
fix: 编辑已启用提示词时自动同步文件最新内容
Rogers-F Dec 28, 2025
941b1d8
feat(skill): 重构技能管理支持多平台多位置
Rogers-F Dec 29, 2025
5b3b255
feat(update): 重构自动更新机制 + 同级轮询调度
Rogers-F Dec 30, 2025
43ce66e
fix(logs): sync provider dropdown with refreshed logs.
Jan 15, 2026
ef7f676
Merge pull request #17 from DragonFive/fix/fix_log
Rogers-F Jan 17, 2026
658a7a4
fix(cliconfig): 修复 CLI 配置预览一致性问题
Rogers-F Dec 31, 2025
8719531
fix(compat): 修复 macOS Monterey 输入框无法使用问题
Rogers-F Jan 18, 2026
2aead42
fix(customCli): 修复代理注入配置保存失败问题
Rogers-F Jan 18, 2026
f6b2e32
fix(atomicWrite): 修复错误信息缺失路径问题
Rogers-F Jan 19, 2026
bac716e
chore: bump version to v2.6.12
Rogers-F Jan 19, 2026
621def3
Merge branch 'Rogers-F:main' into main
GoldenTangerine Jan 21, 2026
cc32385
✨ feat(heatmap): 添加自适应热力图和图标搜索功能
GoldenTangerine Jan 21, 2026
a6fa272
chore: bump version to v2.6.14
GoldenTangerine Jan 21, 2026
f459d87
🐎 ci(release): 为构建产物添加版本号后缀
GoldenTangerine Jan 21, 2026
ffb1d59
✨ feat(logs): token 数值支持 k/M/B 单位换算
GoldenTangerine Jan 21, 2026
739e73b
✨ feat(main): 首页 token 数值支持 k/M/B 单位换算
GoldenTangerine Jan 21, 2026
307753f
✨ feat(logs): 增强日志界面统计功能
GoldenTangerine Jan 21, 2026
cef3fea
💄 style(logs): 优化缓存命中率显示样式
GoldenTangerine Jan 21, 2026
aa48cc6
✨ feat(tray): 添加托盘菜单预算进度功能
GoldenTangerine Jan 22, 2026
0a87439
fix(update): 修复自动更新多项安全漏洞和稳定性问题
Rogers-F Jan 22, 2026
4eb6913
chore: bump version to v2.6.13
Rogers-F Jan 22, 2026
cea261a
🐛 fix(tray): 修复托盘菜单禁用项 API 调用
GoldenTangerine Jan 22, 2026
1b4b612
✨ feat(tray): 添加独立托盘窗口和预算周期功能
GoldenTangerine Jan 22, 2026
9f8334d
💄 style(tray): 优化托盘窗口 UI 和 macOS 窗口行为
GoldenTangerine Jan 22, 2026
dae35b8
💄 style(tray): 优化预算周期显示和主窗口尺寸
GoldenTangerine Jan 22, 2026
80d2b05
✨ feat(tray): 添加托盘头部品牌标识和托管状态
GoldenTangerine Jan 22, 2026
ddd7f12
✨ feat(budget): 添加用量调整和预测方法配置功能
GoldenTangerine Jan 23, 2026
ccc5c72
✨ feat(budget): 为 Codex 平台添加独立预算配置系统
GoldenTangerine Jan 23, 2026
7505417
💄 style(ui): 优化面板标题和等级徽章样式
GoldenTangerine Jan 23, 2026
3998415
Merge pull request #24: 添加自适应热力图和图标搜索功能
Rogers-F Jan 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"permissions": {
"allow": [
"WebSearch",
"Bash(find:*)",
"mcp__exa__web_search_exa",
"mcp__ace-tool__search_context"
],
"deny": [],
"ask": []
}
}
354 changes: 322 additions & 32 deletions .github/workflows/release.yml

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
frontend/node_modules
frontend/bindings
frontend/dist
.DS_Store
.task
bin
CLAUDE.md
.ace-tool/
335 changes: 335 additions & 0 deletions API_ENDPOINT_PLAN_v2.2.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,335 @@
# API 端点配置功能方案(v2.2.0)

经过与 codex 的深入讨论,我们达成以下方案共识:

---

## 📋 问题分析

### 用户遇到的问题

**现象**:
```
Provider 阿萨 映射模型:claude-haiku-4-5-20251001 -> glm-4.6
错误:404 Not Found,路径:/v1/messages
```

**根本原因**:
- 代码根据平台(claude)硬编码使用 `/v1/messages` 端点
- 但 GLM 模型需要使用 `/v1/chat/completions` 或 `/api/paas/v4/chat/completions`
- 模型映射只改模型名,不改端点
- 导致 404 错误

---

## 🎯 解决方案(与 codex 达成共识)

### 采用方案 A:添加可选的 apiEndpoint 字段

**核心设计**:
1. ✅ 在 Provider 结构体添加 `apiEndpoint` 字段
2. ✅ 用户可选填,留空使用平台默认
3. ✅ 前端使用"下拉常用 + 自定义输入"混合方式
4. ✅ 轻量校验,不过度复杂

---

## 📊 与 codex 的争论结果

### 争论点 1:字段独立性

**我的观点**:应该独立于 `availabilityConfig.testEndpoint`
- `availabilityConfig.testEndpoint` → 健康检查用
- `apiEndpoint` → 生产请求用

**codex 观点**:完全同意,必须分离

**最终共识**:✅ **新增独立的 apiEndpoint 字段**

---

### 争论点 2:前端 UI 设计

**codex 推荐**:下拉 + 自定义输入(选项 2)

**UI 设计**:
```
┌─────────────────────────────────────┐
│ API 端点(可选) │
│ [下拉选择 ▼] [或输入自定义] │
│ │
│ 选项: │
│ • /v1/messages (Anthropic) │
│ • /v1/chat/completions (OpenAI) │
│ • /api/paas/v4/chat/completions (GLM)│
│ • 自定义... │
│ │
│ 💡 留空使用平台默认 │
│ claude: /v1/messages │
│ codex: /responses │
└─────────────────────────────────────┘
```

**位置**:Provider 编辑弹窗的基础配置区域,API URL 下方

**最终共识**:✅ **下拉 + 自定义混合方式**

---

### 争论点 3:端点优先级

**我的方案 A**:provider.apiEndpoint > 平台默认

**codex 观点**:同意方案 A,不引入模型推断(避免误判)

**最终共识**:✅ **简单优先级,不做智能推断**

```
优先级:
1. provider.apiEndpoint(用户配置,最高优先级)
2. 平台默认端点
- claude: /v1/messages
- codex: /responses
```

---

### 争论点 4:配置验证

**我的担心**:用户填错端点

**codex 方案**:
- 前端:轻量校验(必须以 `/` 开头)
- 后端:不强校验,记录日志
- 测试:可选,不强制

**最终共识**:✅ **轻量校验 + 日志记录**

---

## 🛠️ 完整实施方案

### 后端修改

#### 1. services/providerservice.go

**添加字段**(第 26 行附近):
```go
type Provider struct {
// ... 现有字段 ...
APIEndpoint string `json:"apiEndpoint,omitempty"` // 可选:覆盖平台默认端点
}
```

**添加方法**(GetEffectiveModel 附近):
```go
// GetEffectiveEndpoint 获取有效的 API 端点
// 优先使用用户配置的端点,否则使用平台默认
func (p *Provider) GetEffectiveEndpoint(defaultEndpoint string) string {
ep := strings.TrimSpace(p.APIEndpoint)
if ep == "" {
return defaultEndpoint
}
// 确保以 / 开头
if !strings.HasPrefix(ep, "/") {
ep = "/" + ep
}
return ep
}
```

**复制供应商时保留**(第 389 行附近):
```go
cloned := &Provider{
// ... 现有字段 ...
APIEndpoint: source.APIEndpoint,
}
```

#### 2. services/providerrelay.go

**更新 4 处转发调用**:

**位置 1**:claude/codex 拉黑模式(约第 332 行)
```go
effectiveEndpoint := firstProvider.GetEffectiveEndpoint(endpoint)
ok, err := prs.forwardRequest(c, kind, *firstProvider, 1, effectiveEndpoint, query, ...)
```

**位置 2**:claude/codex 降级模式(约第 417 行)
```go
effectiveEndpoint := provider.GetEffectiveEndpoint(endpoint)
ok, err := prs.forwardRequest(c, kind, provider, 1, effectiveEndpoint, query, ...)
```

**位置 3**:custom CLI 拉黑模式(约第 1426 行)
```go
effectiveEndpoint := firstProvider.GetEffectiveEndpoint(endpoint)
ok, err := prs.forwardRequest(c, kind, *firstProvider, 1, effectiveEndpoint, query, ...)
```

**位置 4**:custom CLI 降级模式(约第 1492 行)
```go
effectiveEndpoint := provider.GetEffectiveEndpoint(endpoint)
ok, err := prs.forwardRequest(c, kind, provider, 1, effectiveEndpoint, query, ...)
```

---

### 前端修改

#### 1. frontend/src/data/cards.ts

**添加字段**:
```typescript
export type AutomationCard = {
// ... 现有字段 ...
apiEndpoint?: string // 可选:API 端点路径
}
```

#### 2. frontend/src/components/Main/Index.vue

**VendorForm 添加字段**:
```typescript
type VendorForm = {
// ... 现有字段 ...
apiEndpoint?: string
}
```

**defaultFormValues 添加默认值**:
```typescript
const defaultFormValues = (platform?: string): VendorForm => ({
// ... 现有字段 ...
apiEndpoint: '',
})
```

**表单模板添加控件**(API URL 下方):
```vue
<div class="form-field">
<span>{{ t('components.main.form.labels.apiEndpoint') }}</span>
<div class="endpoint-select-combo">
<select v-model="modalState.form.apiEndpoint" class="endpoint-select">
<option value="">{{ t('components.main.form.placeholders.defaultEndpoint') }}</option>
<option value="/v1/messages">/v1/messages (Anthropic)</option>
<option value="/v1/chat/completions">/v1/chat/completions (OpenAI/GLM 代理)</option>
<option value="/api/paas/v4/chat/completions">/api/paas/v4/chat/completions (GLM 官方)</option>
<option value="custom">{{ t('components.main.form.placeholders.customEndpoint') }}</option>
</select>
<BaseInput
v-if="modalState.form.apiEndpoint === 'custom'"
v-model="modalState.form.apiEndpoint"
:placeholder="t('components.main.form.placeholders.enterCustomEndpoint')"
class="endpoint-input"
/>
</div>
<span class="field-hint">
{{ t('components.main.form.hints.apiEndpoint') }}
</span>
</div>
```

#### 3. 国际化文本

**zh.json**:
```json
{
"components": {
"main": {
"form": {
"labels": {
"apiEndpoint": "API 端点(可选)"
},
"placeholders": {
"defaultEndpoint": "使用平台默认端点",
"customEndpoint": "自定义端点...",
"enterCustomEndpoint": "输入端点路径,如 /v1/chat/completions"
},
"hints": {
"apiEndpoint": "留空使用平台默认(claude: /v1/messages, codex: /responses)。GLM 模型请使用 /v1/chat/completions"
}
}
}
}
}
```

**en.json**:
```json
{
"components": {
"main": {
"form": {
"labels": {
"apiEndpoint": "API Endpoint (optional)"
},
"placeholders": {
"defaultEndpoint": "Use platform default endpoint",
"customEndpoint": "Custom endpoint...",
"enterCustomEndpoint": "Enter endpoint path, e.g. /v1/chat/completions"
},
"hints": {
"apiEndpoint": "Leave blank to use platform default (claude: /v1/messages, codex: /responses). For GLM models use /v1/chat/completions"
}
}
}
}
}
```

---

## 📊 改动范围

| 组件 | 文件数 | 代码行数 | 复杂度 |
|------|--------|---------|--------|
| 后端 | 2 | ~30 行 | 低 |
| 前端 | 3 | ~50 行 | 低 |
| 国际化 | 2 | ~20 行 | 低 |
| **总计** | **7** | **~100 行** | **低** |

---

## 🧪 测试场景

### 测试 1:GLM 供应商配置
1. 编辑 GLM 供应商
2. API 端点选择:`/v1/chat/completions`
3. 保存
4. 发送请求
5. **预期**:使用 /v1/chat/completions,不再 404

### 测试 2:默认行为
1. 编辑 Anthropic 供应商
2. API 端点:留空
3. 保存
4. **预期**:使用默认 /v1/messages

### 测试 3:自定义端点
1. 输入自定义端点
2. 校验:必须以 `/` 开头
3. **预期**:格式错误时提示

---

## ✅ 方案优势

| 特性 | 优势 |
|------|------|
| **改动最小** | 仅 7 个文件,~100 行代码 |
| **向后兼容** | 留空时行为完全不变 |
| **易于使用** | 下拉选择,不需要记忆端点 |
| **灵活性强** | 支持自定义端点 |
| **安全性好** | 轻量校验,记录日志 |

---

## ❓ 请审核确认

1. **是否同意这个方案?**
2. **UI 设计是否符合预期?**
3. **是否需要调整?**

**确认后,我将立即实施所有修改!**
Loading