farion1231
|
c5843ae849
|
修复UI问题:禁用正在使用供应商的编辑按钮
- 为正在使用中的供应商禁用编辑按钮,避免编辑活跃配置
- 添加edit-btn的disabled样式,保持界面一致性
- 防止用户编辑正在使用的settings.json导致配置冲突
|
2025-08-08 15:29:28 +08:00 |
|
farion1231
|
72e34ab025
|
更新 README:补充功能特性和使用说明
- 添加支持的供应商示例(智谱 GLM、Qwen coder 等)
- 强调本地存储无隐私风险
- 完善使用说明,提醒重启 Claude Code 生效
|
2025-08-08 15:25:35 +08:00 |
|
farion1231
|
482298411a
|
代码重构:移除 any 类型并抽取共享表单组件
- 移除所有 any 类型声明,提升类型安全性
- 简化 ClaudeCodeSettings 接口为通用的 Record<string, any>,支持任意供应商配置
- 创建 ProviderForm 共享组件,减少重复代码约 300 行
- 优化 Store 类型定义,使用泛型约束确保类型安全
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-08 15:03:38 +08:00 |
|
farion1231
|
fe71373e7d
|
界面改进和代码重构:设置窗口最小尺寸并抽象预设供应商配置
- 设置窗口最小尺寸为600x400,防止界面缩放问题
- 将预设供应商配置提取到独立文件providerPresets.ts
- 便于管理和维护预设供应商列表
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-08 12:12:28 +08:00 |
|
farion1231
|
6021ad8b22
|
代码质量优化:修复废弃API并改进ID生成
- 使用 crypto.randomUUID() 替换已废弃的 substr() 方法
- 将默认供应商名称从"默认"改为"default",提高国际化兼容性
- 优化 ID 生成算法,提供更可靠的唯一性保证
|
2025-08-07 23:58:07 +08:00 |
|
farion1231
|
100b3f6e21
|
重大功能改进:添加禁止 Claude Code 签名功能并重构代码
新增功能:
- 在添加供应商和编辑供应商窗口都增加"禁止 Claude Code 签名"选择框
- 自动同步 JSON 配置中的 includeCoAuthoredBy 字段
- 支持双向同步:手动编辑 JSON 时选择框状态自动更新
代码优化:
- 提取通用函数到 providerConfigUtils.ts 工具文件
- 重构代码避免重复,提高可维护性
- 保持原有自动提取官网地址功能
UI改进:
- 优化选择框与标签的对齐样式
- 统一两个窗口的交互体验
|
2025-08-07 23:05:11 +08:00 |
|
farion1231
|
b0d4537398
|
改进添加供应商界面:实现自动提取官网地址功能
- 新增 extractWebsiteUrl 函数,从 JSON 配置中自动解析 ANTHROPIC_BASE_URL
- 智能处理 URL 前缀,自动去掉 "api." 前缀生成官网地址
- 优化用户体验:仅在官网地址为空时自动填入,不覆盖用户手动输入
- 支持实时解析,用户输入 JSON 配置时立即更新官网地址字段
|
2025-08-07 22:20:03 +08:00 |
|
farion1231
|
db28ccb27b
|
优化用户体验:简化数据结构并改进文件夹访问
- 移除 Provider 中无用的 createdAt 和 updatedAt 字段
- 简化数据结构,去除冗余的时间戳设置代码
- 将底部"浏览"按钮改为"打开",直接打开配置文件夹
- 新增 openConfigFolder API,使用 shell.openPath 打开文件夹
- 优化用户体验,方便用户查看和管理所有配置文件
|
2025-08-07 22:08:47 +08:00 |
|
farion1231
|
45c75e826a
|
统一供应商处理逻辑:默认供应商与普通供应商一致处理
- 移除默认供应商在切换时的特殊逻辑
- 默认供应商现在也创建独立配置文件 settings-默认.json
- 移除删除时对默认供应商的特殊保护
- 所有供应商现在都遵循相同的文件管理规则
|
2025-08-07 21:56:30 +08:00 |
|
farion1231
|
5be45e269c
|
简化界面:删除导入当前配置功能
- 移除 ImportConfigModal 组件及相关文件
- 删除头部的导入当前配置按钮
- 移除 importCurrentConfig 相关的 API 和 IPC 处理器
- 保留 importCurrentConfigAsDefault 功能用于首次启动
- 界面更简洁,专注核心功能:添加、编辑、切换、删除供应商
- 减少用户困惑,因为自动创建的默认供应商已经满足大部分需求
|
2025-08-07 21:37:34 +08:00 |
|
farion1231
|
ac96f9f551
|
移除默认供应商删除时的过度保护逻辑
用户要删除就说明不需要了,没必要特别保护。
默认供应商现在可以正常删除,只是因为没有独立配置文件所以跳过文件删除操作。
|
2025-08-07 21:30:37 +08:00 |
|
farion1231
|
0cfd65cb90
|
优化首次启动体验:自动创建默认供应商且设为选中状态
- 新增 importCurrentConfigAsDefault 函数,创建 ID 为 'default' 的特殊供应商
- 默认供应商不生成独立配置文件,直接使用现有 settings.json
- 首次启动时自动导入现有配置为默认供应商,并设为选中状态
- 切换到默认供应商时无需文件操作,直接使用原配置
- 删除默认供应商时保护原配置文件不被误删
- 简化 ImportConfigModal 组件,移除 isEmpty 相关逻辑
- 提升用户体验:无需手动操作,开箱即用
|
2025-08-07 21:28:45 +08:00 |
|
farion1231
|
bbb1868899
|
修复编辑供应商名称后配置文件名不同步问题
- 修改 getProviderConfigPath 函数,支持基于供应商名称生成配置文件名
- 在 updateProvider 中添加文件重命名逻辑,当供应商名称改变时自动重命名配置文件
- 更新所有相关函数调用,传递供应商名称参数确保文件命名一致
- 完善 switchProvider 备份逻辑,使用正确的供应商名称生成备份文件名
- 添加必要的导入声明修复编译错误
现在编辑供应商名称后,对应的配置文件名会自动更新反映新名称
|
2025-08-07 20:51:13 +08:00 |
|
farion1231
|
9541970d10
|
改进用户体验:供应商列表为空时自动弹出导入配置对话框
- 当供应商列表为空时,自动显示导入配置对话框,引导用户导入当前配置
- 为导入配置对话框添加isEmpty属性,针对空列表场景优化界面文案
- 空列表场景下显示更友好的标题和说明文本
- 优化按钮文本:空列表时取消按钮显示为"稍后设置"
|
2025-08-07 20:27:16 +08:00 |
|
farion1231
|
c268f962af
|
重大重构:从字段替换切换到完整配置文件切换系统
- 实现基于文件重命名的供应商切换机制,支持完整settings.json配置切换
- 移除所有向后兼容代码,简化为纯JSON配置模式
- 添加导入当前配置功能,解决首次使用时配置丢失问题
- 移除描述字段,简化用户界面
- 完整的错误处理和回滚机制确保配置安全
- 清理所有调试代码,优化代码质量
|
2025-08-07 15:48:30 +08:00 |
|
farion1231
|
e03848af56
|
更新 pnpm-lock.yaml:移除 electron-store 依赖
|
2025-08-07 10:13:22 +08:00 |
|
farion1231
|
d5000ae30f
|
更新版本号到 1.0.8
|
2025-08-07 10:09:42 +08:00 |
|
farion1231
|
edc203a10b
|
重大改进:用原生 JSON 存储替换 electron-store
- 实现 SimpleStore 类,使用原生 fs 操作 JSON 文件
- 解决 "Cannot find module 'conf'" 的依赖问题
- 移除 electron-store 依赖,减少包体积
- 配置文件存储在 ~/.cc-switch/config.json
- 数据格式透明,便于备份和调试
- 修复 TypeScript 类型问题
- 测试通过:构建、打包、运行正常
|
2025-08-07 10:09:17 +08:00 |
|
Jason Young
|
1688f88226
|
Update README.md
|
2025-08-07 09:55:48 +08:00 |
|
farion1231
|
a13b67f2a1
|
修复依赖缺失问题:简化 electron-builder 文件过滤规则
|
2025-08-07 09:09:17 +08:00 |
|
farion1231
|
084a228728
|
更新版本号到 1.0.7
|
2025-08-07 08:49:57 +08:00 |
|
farion1231
|
0758a3c674
|
优化 GitHub Release: 只上传核心文件并添加详细说明
|
2025-08-07 07:48:13 +08:00 |
|
farion1231
|
eecfcdf40a
|
修复 macOS 构建和版本冲突问题
- 将 macOS 目标从 DMG 改为 ZIP 避免 hdiutil 问题
- 更新版本号到 1.0.5 避免标签冲突
- 添加 ARM64 和 x64 双架构支持
- 禁用自动发布避免版本冲突
|
2025-08-06 23:52:39 +08:00 |
|
farion1231
|
7c12b660dd
|
修复 GitHub Actions Release 工作流
- 添加 contents: write 权限解决 403 错误
- 使用 release/* 匹配所有构建文件
- 添加调试步骤显示构建产物
- 优化 matrix 配置增加平台标识
|
2025-08-06 23:45:41 +08:00 |
|
farion1231
|
b76ec06ae4
|
修复 pnpm 版本兼容性问题
- 更新 GitHub Actions 使用 pnpm 10.12.3(与本地一致)
- 重新生成 pnpm-lock.yaml 确保版本兼容
- 恢复使用 --frozen-lockfile 确保依赖一致性
|
2025-08-06 23:43:11 +08:00 |
|
farion1231
|
3594a101b8
|
修复依赖管理:添加 pnpm-lock.yaml 到版本控制
|
2025-08-06 23:39:56 +08:00 |
|
farion1231
|
849118c3b2
|
修复 GitHub Actions: 使用 pnpm 替代 npm
|
2025-08-06 23:36:43 +08:00 |
|
farion1231
|
76eeae3b77
|
添加 GitHub Actions 自动构建和发布工作流
- 支持跨平台自动构建(Windows、macOS、Linux)
- 在创建 tag 时自动触发构建和发布
- 自动上传构建产物到 GitHub Releases
- 添加跨平台构建脚本命令
|
2025-08-06 23:30:34 +08:00 |
|
farion1231
|
b02d907c52
|
更新 readme
|
2025-08-06 23:18:09 +08:00 |
|
farion1231
|
f39b665f86
|
配置应用图标:支持 Windows NSIS 安装包正确显示图标
- 添加跨平台图标配置(Windows .ico、macOS .icns、Linux .png)
- 配置 Windows 双重构建目标:NSIS 安装程序 + Portable 版本
- 解决 Windows 下 exe 文件显示默认图标的问题
- NSIS 安装程序版本可正确显示自定义图标
|
2025-08-06 23:09:29 +08:00 |
|
farion1231
|
1a7c3fcec5
|
完善发布配置:添加图标和优化构建
- 添加应用图标文件 (icon.ico, icon.icns, icon.png)
- 配置最大压缩以减小文件体积
- 修改Windows目标为portable版本,生成单文件exe
- 排除不必要的node_modules文件
- 完善作者信息
|
2025-08-06 22:42:55 +08:00 |
|
farion1231
|
75a5e8088e
|
移除模态框点击外部关闭功能,防止误触关闭
- 移除 AddProviderModal 的点击遮罩层关闭功能
- 移除 EditProviderModal 的点击遮罩层关闭功能
- 用户现在只能通过按钮主动关闭模态框,提升用户体验
|
2025-08-06 21:00:49 +08:00 |
|
farion1231
|
588883ffc4
|
代码优化:清理冗余功能并修复关键问题
- 删除未使用的 axios 依赖
- 移除 Provider 接口中未使用的 model 字段
- 删除未使用的供应商连通性检查功能
- 修复 preload.ts 中缺失的 IPC 方法暴露
- 简化 UI:移除重复的单选按钮,仅保留启用按钮
- 修复 TypeScript 接口定义不完整的问题
|
2025-08-06 20:48:03 +08:00 |
|
farion1231
|
dbafab57cf
|
解决系统弹窗阻塞问题:实现非阻塞用户交互
- 创建自定义ConfirmDialog组件替代系统confirm
- 删除功能使用自定义确认对话框,避免界面阻塞
- 添加/编辑模态框使用内联错误提示替代alert
- 优化用户体验:更详细的确认信息和统一的视觉风格
|
2025-08-06 16:29:52 +08:00 |
|
farion1231
|
8a9ec05d33
|
优化UI样式:调整头部背景色和按钮焦点样式
|
2025-08-06 16:22:32 +08:00 |
|
farion1231
|
e87f206905
|
实现完美的浮动通知系统
- 添加自定义通知组件替代阻塞式alert
- 浮动定位不影响页面布局,宽度自适应内容
- 支持成功/错误两种样式,渐变背景+阴影效果
- 实现完整的淡入淡出动画,原地显示隐藏
- 重启提示显示4秒,普通操作反馈2-3秒
- 智能定时器管理,支持动画完成后清理
用户体验:切换供应商后优雅提示"请重启Claude Code终端以生效"
|
2025-08-06 16:16:09 +08:00 |
|
farion1231
|
6c7d4c158f
|
修复编辑后输入框无法选中的焦点管理问题
- 移除阻塞式alert调用,避免焦点管理冲突
- 清理不必要的CSS z-index层级设置
- 优化EditProviderModal的useEffect依赖管理
- 改用console日志记录操作结果
问题原因:alert()强制抢夺焦点,在模态框关闭时打断正常焦点流转
|
2025-08-06 15:20:08 +08:00 |
|
farion1231
|
41a6bda4ab
|
修复编辑供应商配置同步问题
- 修复当编辑当前激活供应商时,Claude Code配置文件未同步更新的问题
- 在updateProvider中增加逻辑检测是否为当前激活供应商
- 如果是当前激活供应商,同时调用switchProvider更新~/.claude/settings.json
- 确保编辑后的配置能立即生效,无需重新切换供应商
|
2025-08-06 11:50:13 +08:00 |
|
farion1231
|
208987107e
|
修复URL推测功能:支持不完整URL输入并保持验证
- 修复inferWebsiteUrl函数,支持无协议URL的推测
- 在API地址失焦时自动补全https://协议
- 同时更新API地址和网站地址字段
- 保持URL输入验证,确保API地址有效性
- 提升用户体验:用户可输入api.example.com等简化格式
|
2025-08-06 11:42:58 +08:00 |
|
farion1231
|
71a8fd166f
|
增强供应商配置:添加网站地址字段和智能推测功能
- 添加websiteUrl可选字段到Provider类型
- 实现API地址到网站地址的自动推测逻辑(去除api.前缀)
- 在添加/编辑供应商表单中增加网站地址字段
- 供应商列表智能显示:有网址显示可点击链接,无网址显示API地址
- 提升用户体验:避免点击API端点地址导致的错误页面
|
2025-08-06 10:09:58 +08:00 |
|
farion1231
|
4540ad613f
|
添加供应商URL可点击功能:支持在默认浏览器中打开链接
|
2025-08-06 09:56:27 +08:00 |
|
farion1231
|
b83652a162
|
修复fetch API超时实现:使用AbortController替换不支持的timeout参数
- 替换fetch中的timeout选项为AbortController + setTimeout实现
- 修复TypeScript编译错误:timeout不存在于RequestInit类型中
- 添加proper超时清理逻辑避免内存泄漏
- 更新CLAUDE.md文档:统一使用pnpm命令,补充IPC接口说明
|
2025-08-06 08:08:27 +08:00 |
|
farion1231
|
3bd65c2acb
|
简化过度设计,恢复原生弹窗
- 删除 ConfirmModal 和 MessageModal 组件
- 恢复原生 alert() 和 confirm() 弹窗
- 移除不必要的加载状态指示器
- 移除切换供应商的确认对话框
- 简化代码,提升响应速度和用户体验
|
2025-08-06 07:59:11 +08:00 |
|
farion1231
|
caa289bd7d
|
升级 Electron 到最新稳定版本
- 更新 Electron 从 28.0.0 到 32.2.5
- 提升安全性和性能
- 获得最新功能和bug修复
|
2025-08-06 07:49:45 +08:00 |
|
farion1231
|
c867cfdb32
|
添加加载状态指示器
- 在切换供应商时显示加载状态
- 禁用操作按钮防止重复提交
- 提供视觉反馈改善用户体验
|
2025-08-06 07:46:59 +08:00 |
|
farion1231
|
558103171e
|
添加切换供应商的确认对话框
- 切换供应商前显示确认对话框
- 防止误操作导致的意外切换
- 提升用户操作安全性
|
2025-08-06 07:45:54 +08:00 |
|
farion1231
|
779e24ee49
|
改进 ID 生成方式避免冲突
- 使用时间戳+随机字符串组合生成唯一ID
- 避免快速连击导致的ID冲突问题
- 提升数据一致性和稳定性
|
2025-08-06 07:45:18 +08:00 |
|
farion1231
|
48dcb23ea5
|
用 Modal 组件替换所有 alert 弹窗
- 创建 ConfirmModal 和 MessageModal 组件
- 更新 App.tsx 使用新的 Modal 组件
- 改进表单验证错误显示
- 提升用户体验和界面一致性
|
2025-08-06 07:44:50 +08:00 |
|
farion1231
|
e613696e08
|
修复 any 类型为具体的接口定义
- 定义 ClaudeCodeConfig 接口替代 any 类型
- 提升类型安全性和代码可维护性
- 明确配置文件结构
|
2025-08-06 07:42:57 +08:00 |
|
farion1231
|
135b634581
|
移除调试用的 console.log 语句
- 清理 EditProviderModal.tsx 中的调试日志
- 保留必要的错误日志输出
- 提升代码整洁度
|
2025-08-06 07:42:22 +08:00 |
|