diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index 432c0b3..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1,104 +0,0 @@ -# CLAUDE.md - -This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. - -## 项目概述 - -这是一个 Electron + React + TypeScript 的桌面应用,用于管理和切换 Claude Code 的不同供应商配置(Anthropic、OpenRouter 等)。 - -## 开发命令 - -```bash -# 安装依赖 -pnpm install - -# 开发模式(同时启动 Vite 开发服务器和 Electron 主进程监听) -pnpm run dev - -# 仅构建主进程 -pnpm run build:main - -# 仅构建渲染进程 -pnpm run build:renderer - -# 完整构建 -pnpm run build - -# 启动应用(需要先构建) -pnpm start -# 或 -electron . - -# 打包发布 -pnpm run dist -``` - -## 代码架构 - -### 三层架构设计 - -1. **主进程 (src/main/)** - - `index.ts`: Electron 主进程入口,处理窗口创建和 IPC 通信 - - `services.ts`: 核心业务逻辑,包含供应商状态检查和 Claude Code 配置文件操作 - - `preload.ts`: 预加载脚本,提供安全的 IPC API 接口 - -2. **渲染进程 (src/renderer/)** - - `App.tsx`: 主应用组件,状态管理和业务逻辑协调 - - `components/`: React 组件 - - `ProviderList.tsx`: 供应商列表显示和操作 - - `AddProviderModal.tsx`: 添加供应商的模态框 - - `EditProviderModal.tsx`: 编辑供应商的模态框 - -3. **共享类型 (src/shared/types.ts)** - - 定义主进程和渲染进程间的数据结构 - - 声明 `window.electronAPI` 接口用于类型安全的 IPC 调用 - -### 数据流 - -- 使用 `electron-store` 在主进程中持久化供应商配置 -- 通过 IPC 在主进程和渲染进程间通信 -- 供应商状态通过 HTTP 请求实时检测 -- 切换供应商时直接修改 `~/.claude/settings.json` 文件 - -### 关键文件操作 - -- Claude Code 配置文件路径: `~/.claude/settings.json` -- 配置更新通过 `services.ts` 中的 `switchProvider()` 函数完成 -- 应用配置存储在 `electron-store` 默认位置 - -## 构建配置 - -- 主进程使用 `tsconfig.main.json` 配置 -- 渲染进程使用 `tsconfig.json` + Vite 构建 -- 开发时渲染进程运行在 `localhost:3000` -- 生产时渲染进程文件位于 `dist/renderer/` - -## 依赖管理 - -项目使用 npm 管理依赖,但检测到 `pnpm-lock.yaml`,建议使用 pnpm: - -```bash -# 安装依赖 -pnpm install - -# 或使用 npm -npm install -``` - -## 核心 IPC 接口 - -主要的 IPC 接口定义在 `src/shared/types.ts` 中的 `window.electronAPI`: - -- `getProviders()`: 获取所有供应商配置 -- `switchProvider(providerId)`: 切换当前供应商 -- `addProvider(provider)`: 添加新供应商 -- `updateProvider(provider)`: 更新供应商配置 -- `deleteProvider(id)`: 删除供应商 -- `getClaudeCodeConfigPath()`: 获取 Claude Code 配置路径 -- `selectConfigFile()`: 打开文件选择对话框 - -## 重要说明 - -- 供应商配置存储在 `electron-store` 中,自动持久化 -- 切换供应商会直接修改 `~/.claude/settings.json` 中的 `ANTHROPIC_AUTH_TOKEN` 和 `ANTHROPIC_BASE_URL` -- 应用支持多平台打包(Windows NSIS、macOS DMG、Linux AppImage) \ No newline at end of file diff --git a/README.md b/README.md index 79624ac..10898fb 100644 --- a/README.md +++ b/README.md @@ -4,42 +4,71 @@ ## 功能特性 -- 🔄 一键切换不同供应商(Anthropic、OpenRouter 等) -- 🔍 实时监控供应商状态和响应时间 -- ⚡ 支持添加自定义供应商 -- 🎨 简洁美观的图形界面 -- 🔒 安全存储 API 密钥 +- 一键切换不同供应商(Anthropic、packycode 等) +- 支持添加自定义供应商 +- 简洁美观的图形界面 + +## 下载安装 + +### Windows 用户 + +从 [Releases](../../releases) 页面下载: + +- **安装版 (推荐)**: `CC-Switch-Setup-x.x.x.exe` + - 完整系统集成,正确显示应用图标 + - 自动创建桌面快捷方式和开始菜单项 +- **便携版**: `CC-Switch-Portable-x.x.x.exe` + - 无需安装,直接运行 + - 适合需要绿色软件的用户 + +### 其他平台 + +- **macOS**: `CC-Switch-x.x.x.dmg` +- **Linux**: `CC-Switch-x.x.x.AppImage` + +## 使用说明 + +1. 点击"添加供应商"添加你的 API 配置 +2. 选择要使用的供应商,点击单选按钮切换 +3. 配置会自动保存到 Claude Code 的配置文件中 ## 开发 ```bash # 安装依赖 +pnpm install +# 或 npm install # 开发模式 -npm run dev +pnpm run dev # 构建应用 -npm run build +pnpm run build # 打包发布 -npm run dist +pnpm run dist ``` -## 使用说明 - -1. 点击"添加供应商"添加你的 API 配置 -2. 系统会自动检测每个供应商的状态 -3. 选择要使用的供应商,点击单选按钮切换 -4. 配置会自动保存到 Claude Code 的配置文件中 - ## 技术栈 - Electron - React - TypeScript - Vite +- electron-store + +## 项目结构 + +``` +├── src/ +│ ├── main/ # 主进程代码 +│ ├── renderer/ # 渲染进程代码 +│ └── shared/ # 共享类型和工具 +├── build/ # 应用图标资源 +└── dist/ # 构建输出目录 +``` ## License -MIT \ No newline at end of file +MIT