更新 readme
This commit is contained in:
104
CLAUDE.md
104
CLAUDE.md
@@ -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)
|
|
||||||
61
README.md
61
README.md
@@ -4,42 +4,71 @@
|
|||||||
|
|
||||||
## 功能特性
|
## 功能特性
|
||||||
|
|
||||||
- 🔄 一键切换不同供应商(Anthropic、OpenRouter 等)
|
- 一键切换不同供应商(Anthropic、packycode 等)
|
||||||
- 🔍 实时监控供应商状态和响应时间
|
- 支持添加自定义供应商
|
||||||
- ⚡ 支持添加自定义供应商
|
- 简洁美观的图形界面
|
||||||
- 🎨 简洁美观的图形界面
|
|
||||||
- 🔒 安全存储 API 密钥
|
## 下载安装
|
||||||
|
|
||||||
|
### 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
|
```bash
|
||||||
# 安装依赖
|
# 安装依赖
|
||||||
|
pnpm install
|
||||||
|
# 或
|
||||||
npm 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
|
- Electron
|
||||||
- React
|
- React
|
||||||
- TypeScript
|
- TypeScript
|
||||||
- Vite
|
- Vite
|
||||||
|
- electron-store
|
||||||
|
|
||||||
|
## 项目结构
|
||||||
|
|
||||||
|
```
|
||||||
|
├── src/
|
||||||
|
│ ├── main/ # 主进程代码
|
||||||
|
│ ├── renderer/ # 渲染进程代码
|
||||||
|
│ └── shared/ # 共享类型和工具
|
||||||
|
├── build/ # 应用图标资源
|
||||||
|
└── dist/ # 构建输出目录
|
||||||
|
```
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
MIT
|
MIT
|
||||||
|
|||||||
Reference in New Issue
Block a user