# cc-switch **Repository Path**: xiaochenyang1314/cc-switch ## Basic Information - **Project Name**: cc-switch - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-18 - **Last Updated**: 2025-11-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Claude API 配置管理工具
一个基于 Electron 的跨平台桌面应用,专为 Claude API 用户打造的配置管理和快速切换工具。 [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.txt) [![Electron](https://img.shields.io/badge/Electron-28.3.3-47848F.svg)](https://www.electronjs.org/) [![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/electron/electron)
--- ## 📖 项目简介 **Claude API 配置管理工具** 是一款轻量级桌面应用程序,帮助开发者轻松管理多个 Claude API 配置,并一键启动终端并自动注入环境变量。无需手动修改系统环境变量,即可快速在不同 API 配置之间切换。 ### 核心特性 - ✨ **多配置管理**:支持添加、编辑、删除多个 API 配置 - 🚀 **一键启动终端**:自动注入环境变量到新终端会话 - 🔒 **安全存储**:配置文件本地保存,Token 脱敏显示 - 🌍 **跨平台支持**:Windows、macOS、Linux 全平台兼容 - 💼 **便携绿色**:配置文件随程序移动,无系统污染 - 🎨 **现代化 UI**:渐变紫色主题,卡片式布局,流畅动画 --- ## 🖼️ 应用截图 ### 主界面 配置列表展示,支持快速操作 ### 添加/编辑配置 模态对话框表单,简洁直观 --- ## 🛠️ 技术栈 | 技术 | 版本 | 用途 | |------|------|------| | Electron | 28.3.3 | 跨平台桌面应用框架 | | electron-builder | 24.9.1 | 应用打包和分发工具 | | HTML5 + CSS3 | - | 前端界面 | | Vanilla JavaScript | ES6+ | 业务逻辑 | | Node.js | - | 后端进程处理 | --- ## 📦 安装与使用 ### 方式一:下载安装包(推荐) 1. 前往 [Releases](https://gitee.com/xiaochenyang1314/cc-switch/releases) 页面 2. 下载最新版本的 `API配置管理工具 Setup 1.0.0.exe`(Windows) 3. 运行安装程序,选择安装路径 4. 建议安装到用户目录,避免权限问题(如 `D:\MyApps\`) **注意**:避免安装到以下系统目录: - `C:\Program Files` - `C:\Windows` - `C:\Windows\System32` ### 方式二:从源码构建 #### 前置要求 - Node.js >= 16.x - npm >= 8.x #### 构建步骤 ```bash # 克隆仓库 git clone https://gitee.com/xiaochenyang1314/cc-switch.git cd cc-switch # 安装依赖 npm install # 开发模式运行 npm start # 打包应用(Windows) npm run build ``` 构建产物位于 `dist/` 目录: - `API配置管理工具 Setup 1.0.0.exe` - 安装包 - `win-unpacked/` - 免安装便携版 --- ## 📝 使用指南 ### 1. 添加 API 配置 点击 **添加新配置** 按钮,填写以下信息: | 字段 | 说明 | 示例 | |------|------|------| | 配置名称 | 自定义名称,用于识别配置 | `官方API`、`备用API` | | Base URL | Claude API 的基础 URL | `https://api.anthropic.com` | | Auth Token | 你的 API 密钥 | `sk-ant-xxx...` | 点击 **保存** 完成添加。 ### 2. 编辑配置 点击配置卡片上的 **编辑** 按钮,修改配置信息后保存。 ### 3. 删除配置 点击配置卡片上的 **删除** 按钮,二次确认后删除。 ### 4. 启动终端 点击 **启动终端** 按钮,应用会: 1. 根据操作系统类型启动终端程序 2. 自动设置以下环境变量: - `ANTHROPIC_BASE_URL`:配置的 Base URL - `ANTHROPIC_AUTH_TOKEN`:配置的 Auth Token 3. 打开独立的终端窗口,环境变量仅在该会话有效 ### 5. 跨平台终端支持 | 操作系统 | 终端程序 | 环境变量设置命令 | |---------|---------|-----------------| | Windows | `cmd.exe` | `set VAR=value` | | macOS | `Terminal.app` | `export VAR=value` | | Linux | `gnome-terminal` / `konsole` / `xterm` | `export VAR=value` | --- ## 📂 配置文件 ### 存储位置 #### 开发环境 ``` 项目根目录/configs.json ``` #### 打包后应用 ``` [安装目录]/configs.json ``` 例如安装到 `D:\MyApps\API配置管理工具\`,配置文件位于: ``` D:\MyApps\API配置管理工具\configs.json ``` ### 文件格式 ```json { "configs": [ { "id": "1234567890", "name": "官方API", "baseUrl": "https://api.anthropic.com", "authToken": "sk-ant-xxx..." }, { "id": "9876543210", "name": "备用API", "baseUrl": "https://api.example.com", "authToken": "your-token-here..." } ] } ``` ### 备份与迁移 1. **备份**:复制 `configs.json` 文件到安全位置 2. **迁移**:将 `configs.json` 文件复制到新安装目录 --- ## 🔒 安全说明 ### 已实现的安全特性 1. **上下文隔离**:Electron 上下文隔离(`contextIsolation: true`) 2. **Node 集成禁用**:渲染进程禁用 Node 集成(`nodeIntegration: false`) 3. **XSS 防护**:HTML 转义函数防止跨站脚本攻击 4. **Token 脱敏**:界面仅显示 Token 前 30 个字符 5. **IPC 白名单**:仅暴露必要的 API 通道 6. **独立进程**:终端进程 detached 模式运行 ### 安全建议 - ⚠️ **配置文件以明文存储**,请妥善保管 - 🔐 不要将 `configs.json` 文件分享给他人 - 📁 建议将应用安装到用户目录,避免权限问题 - 🗑️ 卸载前请手动备份或删除配置文件 --- ## 🏗️ 项目结构 ``` cc-switch/ ├── main.js # Electron 主进程入口 ├── preload.js # 预加载脚本(IPC 桥接层) ├── package.json # 项目配置 ├── installer.nsh # NSIS 安装程序自定义脚本 ├── LICENSE.txt # MIT 许可证 ├── .gitignore # Git 忽略文件 │ ├── renderer/ # 渲染进程(前端界面) │ ├── index.html # 主界面 HTML │ ├── renderer.js # 前端业务逻辑 │ └── styles.css # 样式表 │ ├── dist/ # 构建输出目录 │ ├── API配置管理工具 Setup 1.0.0.exe │ └── win-unpacked/ │ └── node_modules/ # 依赖包 ``` --- ## 🚀 核心功能实现 ### IPC 通信架构 ``` 渲染进程(前端) ↓ window.electronAPI 预加载脚本(安全桥接层) ↓ ipcRenderer 主进程(后端) ↓ ipcMain.handle 文件系统 / 子进程 ``` ### 环境变量注入流程 ```mermaid graph LR A[用户点击启动] --> B[IPC 通信] B --> C[主进程获取配置] C --> D[根据系统选择终端] D --> E[spawn 启动进程] E --> F[注入环境变量] F --> G[显示终端窗口] ``` --- ## 🤝 参与贡献 欢迎提交 Issue 和 Pull Request! ### 贡献步骤 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ### 开发建议 - 遵循现有代码风格 - 添加必要的注释 - 测试跨平台兼容性 - 更新相关文档 --- ## 📄 开源协议 本项目采用 [MIT License](LICENSE.txt) 开源协议。 --- ## 🔧 常见问题 ### 1. 终端启动失败怎么办? **Windows**:确保系统路径中包含 `cmd.exe` **macOS**:确保 Terminal.app 存在 **Linux**:确保安装了 `gnome-terminal`、`konsole` 或 `xterm` ### 2. 配置文件丢失了怎么办? 配置文件存储在应用程序目录下的 `configs.json`,如果误删需要重新添加配置。 ### 3. 可以加密存储 Token 吗? 当前版本为明文存储,后续版本可能会添加加密功能。如有需求请提交 Issue。 ### 4. 支持导入/导出配置吗? 当前版本不支持,但你可以手动复制 `configs.json` 文件实现备份和迁移。 ### 5. 为什么建议不要安装到系统目录? 系统目录(如 `C:\Program Files`)可能需要管理员权限才能写入 `configs.json`,导致保存配置失败。 --- ## 📞 联系方式 - **仓库地址**:[https://gitee.com/xiaochenyang1314/cc-switch](https://gitee.com/xiaochenyang1314/cc-switch) - **问题反馈**:[提交 Issue](https://gitee.com/xiaochenyang1314/cc-switch/issues) --- ## 🌟 致谢 感谢所有为本项目做出贡献的开发者! ---
**如果这个项目对你有帮助,请给个 Star ⭐** Made with ❤️ by Claude Code