Commit Graph

645 Commits

Author SHA1 Message Date
Jason
731cfc47be chore(deps): remove unused @tauri-apps/plugin-shell dependency 2025-08-24 23:40:32 +08:00
Jason
95b3746e49 chore(version): align package.json version to 3.0.0-beta.1 to match Tauri app version 2025-08-24 23:39:41 +08:00
Jason
c8670aede6 feat(ui): drive config path UI from getClaudeConfigStatus (show path + existence hint) and remove direct getClaudeCodeConfigPath usage 2025-08-24 23:36:09 +08:00
Jason
95549473bd fix(tauri): ensure ~/.claude directory exists before copying provider settings into main settings file 2025-08-24 23:35:44 +08:00
Jason
f3f484a04b fix(tauri): normalize external URLs by auto-prepending https:// when protocol is missing 2025-08-24 23:35:07 +08:00
Jason
1458f1e45d fix(ui): use browser-safe timeout ref type (ReturnType<typeof setTimeout>) to avoid NodeJS.Timeout mismatch 2025-08-24 23:31:56 +08:00
Jason
0301d1aee7 fix(tauri): avoid duplicate import of default provider in import_default_config by early-exit when default exists 2025-08-24 23:30:35 +08:00
Jason
224d7a8be0 fix: 修复 Tauri 重构导致的配置读取与渲染问题
- 前端:始终绑定 ,避免环境判断失误造成白屏
- 后端: 仅初始化一次,并通过  注入,避免双实例不一致
- 配置: 兼容  回退,提高旧配置兼容性
- 结果:主页面数据正常加载,底部配置路径组件恢复显示
2025-08-24 23:04:55 +08:00
Jason
c4791ff523 - chore: 添加 Tauri CLI 开发依赖
- 在 `package.json` 新增 `@tauri-apps/cli`
- 更新 `pnpm-lock.yaml` 锁定文件
- 仅依赖变更,无业务代码改动
2025-08-24 22:38:13 +08:00
Jason
55c62a3753 - fix(types): 统一导入到 src/types.ts,移除 shared/types 残留路径
- chore(tsconfig): 将 include 扩展为 src/**/* 覆盖迁移后的源文件
- feat(build): Vite 设置 root 为 src,并将 build.outDir 设为 ../dist 以匹配 Tauri frontendDist
- refactor(api): 去除未使用的 plugin-shell import;统一 electronAPI 类型定义至 vite-env.d.ts
- build: 验证 renderer 构建通过,产物输出至 dist/
2025-08-23 23:11:39 +08:00
farion1231
12fa80e002 refactor: 清理 Electron 遗留代码并优化项目结构
- 删除 Electron 主进程代码 (src/main/)
- 删除构建产物文件夹 (build/, dist/, release/)
- 清理 package.json 中的 Electron 依赖和脚本
- 删除 TypeScript 配置中的 Electron 相关文件
- 优化前端代码结构至 Tauri 标准结构 (src/renderer → src/)
- 删除移动端图标和不必要文件
- 更新文档说明技术栈变更为 Tauri
2025-08-23 21:13:25 +08:00
farion1231
29581b85d9 fix: 修复 Rust 编译错误并成功启动 Tauri 应用
- 修复 commands.rs 中的重复导入问题
- 清理未使用的导入
- 统一 Vite 和 Tauri 配置的端口为 3000
- 添加 Tauri 前端依赖包
- 应用已成功编译并运行
2025-08-23 21:00:50 +08:00
farion1231
88e69e844a docs: 更新迁移计划 - 标记 Phase 4 已完成 2025-08-23 20:52:01 +08:00
farion1231
2a658af5b9 feat: 完成前端窗口控制和配置适配
- 更新 tauri.conf.json 配置正确的前端构建路径
- 调整开发服务器端口为 Vite 默认端口 5173
- 添加 Tauri 前端依赖包
- 窗口拖拽样式已兼容
2025-08-23 20:41:14 +08:00
farion1231
1402fd0cc5 feat: 创建 Tauri API 层替换 Electron IPC 调用
- 创建 tauri-api.ts 封装所有 Tauri invoke 调用
- 保持与 Electron API 相同的接口,确保代码兼容性
- 添加类型声明文件 vite-env.d.ts
- 在 main.tsx 中导入 Tauri API
2025-08-23 20:38:57 +08:00
farion1231
8a3133be43 feat: 实现 Tauri Commands - 完成所有供应商和配置管理命令 2025-08-23 20:15:10 +08:00
farion1231
f64320fbd6 feat: 实现 Rust 后端核心模块 - 配置管理、供应商管理和数据存储 2025-08-23 20:12:35 +08:00
farion1231
3479780639 feat: configure Tauri build system and app metadata
- Update Vite config for Tauri integration
- Configure package.json scripts for Tauri commands
- Generate multi-platform app icons
- Update app metadata and window configuration
2025-08-23 20:05:50 +08:00
farion1231
1b0ab269fb feat: initialize Tauri project structure
- Add @tauri-apps/api dependency
- Create src-tauri directory with base configuration
- Generate Tauri project Rust code framework
- Add application icon resources
2025-08-23 19:59:29 +08:00
farion1231
6706889387 删除多余文件 2025-08-22 20:54:45 +08:00
farion1231
093e54f23c 更新文档 2025-08-22 15:50:25 +08:00
farion1231
afb20f298a 更新文档 v2.0.3 2025-08-21 23:23:08 +08:00
farion1231
654a4745d5 feat: 添加 API Key 快速输入功能
- 选择预设模板后自动显示 API Key 输入框
- 输入 API Key 后自动更新 JSON 配置
- 简化用户配置流程,无需手动编辑 JSON
- 优化交互体验,API Key 输入框位于供应商名称下方
2025-08-21 22:20:57 +08:00
farion1231
0c7043154a feat: 添加快速选择模板按钮的选中状态
- 为模板选择按钮添加选中后保持深色的视觉反馈
- 选中状态与hover状态共享相同的样式
- 用户可以清楚地看到当前选中的模板
2025-08-21 21:46:48 +08:00
farion1231
3097894d30 增加对 DeepSeek v3.1 的支持 2025-08-21 20:05:42 +08:00
farion1231
23ab04af7c docs: 改进 README 文档
- 添加 macOS 自行编译说明
- 新增界面预览截图展示
- 优化安装说明结构
2025-08-14 14:43:27 +08:00
Jason Young
a0c09bfcca Update README.md 2025-08-14 12:18:17 +08:00
Jason Young
e6399e46b9 Update README.md 2025-08-14 12:16:56 +08:00
Jason
6355796a42 fix(mac): round app icon and regenerate .icns\n\n- Replace square icon with rounded squircle PNG\n- Regenerate build/icon.icns for mac packaging\n- Bump version to 2.0.1 2025-08-10 23:21:04 +08:00
Jason
9dac53b754 fix: 修复关键逻辑错误
- 修复 store 初始化的异步问题:构造函数中的异步方法现在正确等待
- 修复配置切换时删除原文件的严重 bug:使用 copyFile 替代 rename 避免文件丢失
- 简化代码实现,移除过度设计的部分
2025-08-10 20:36:17 +08:00
Jason
5f0ef8a441 fix(mac): 修复隐藏标题栏拖拽;标题与内容左对齐;增加 banner 高度以避让交通灯 2025-08-10 19:13:45 +08:00
Jason
65a660fcdc chore: 升级 Electron 到 ^32.3.3 并修复 macOS 开发环境二进制缺失问题(使用镜像完成下载验证) 2025-08-10 16:58:47 +08:00
Jason
9b4968fdfc 实施最终发布策略:Intel-only 配置
 配置 Intel-only 构建 (package.json)
 更新 GitHub Actions 发布流程
 完善 README 安装说明

核心策略:
- 只发布 Intel x64 版本,通过 Rosetta 2 支持 M 系列芯片
- 使用 ad-hoc 签名,避免 ARM64 签名复杂性
- 提供详细的 macOS 安全警告处理指南
- 强调兼容性和稳定性优于原生性能
2025-08-10 15:07:26 +08:00
farion1231
8d5d2841ee 更新版本号 2025-08-08 15:43:26 +08:00
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