# Claude Launcher Assistant (CLA)

一个强大的 Claude 账户管理工具，让你轻松在多个 Claude 账户和代理服务之间切换。

## ✨ 特性

- 🤖 **零配置启动** - 直接运行 `bun dev` 自动分配独立实例
- 🏠 **智能实例隔离** - 每个进程自动获得独立配置，避免冲突
- 🔄 **多账户管理** - 保存和快速切换多个 Claude 账户
- 🌟 **代理服务支持** - 无缝连接各种 Claude 代理服务
- 💾 **智能配置合并** - 切换账户时保留项目记忆、上下文和设置
- ⚙️ **Crush配置管理** - 一键将clau配置转换为Crush格式，支持双向配置共享
- 🎨 **直观用户界面** - emoji 和颜色区分，清晰易用
- ⚡ **命令行支持** - 支持交互式和命令行参数两种使用方式
- 🔒 **安全设计** - 完全隔离，不破坏原有配置

## 🚀 快速开始

### 安装

```bash
# 进入项目目录
cd claude-launcher-assistant

# 安装依赖
bun install

# 全局安装 cla 命令
bun run install-global

# 重新加载 shell 配置
source ~/.zshrc  # 或 source ~/.bashrc
```

### 基础使用

```bash
# 零配置启动（推荐） - 自动分配独立实例
bun dev

# 查看帮助
bun dev --help

# 显示活跃实例  
bun dev --show-instances

# 实例管理
bun dev --manage-instances
```

## 📖 使用指南

### 自动实例分配

运行 `bun dev` 即可自动获得独立实例：

```
🤖 自动分配实例: auto-myproject-a1b2c3d4-ng8sh2lp
📂 工作目录: /Users/username/my-project
┌  Claude Code 快速启动器 v0.1.8
│
◆  选择操作
│  ● 🌟 官方账户 1 - 官方服务
│  ○ 🏠 Kimi K2 - 代理服务 (https://api.moonshot.cn)
│  ○ 🏠 Any Router - 代理服务 (https://anyrouter.top)
│  ○ 🔧 上游端点管理
│  ○ 🏠 管理实例
```

### 账户类型

#### 🌟 官方账户
- 连接 Claude 官方服务
- 支持所有官方功能
- 自动同步账户信息

#### 🏠 代理服务账户
- 连接代理服务
- 自动设置 `ANTHROPIC_BASE_URL` 环境变量
- 完美支持 claude-code-proxy 等工具

### 管理功能

- **添加账户** - 自动检测新账户或手动添加
- **重命名账户** - 给账户设置易记的名称
- **删除账户** - 清理不需要的配置
- **配置切换** - 智能合并，保留项目上下文

## 📚 完整文档

详细文档已移至 [docs](./docs/) 目录：

- [**自动实例分配指南**](./docs/AUTO-INSTANCE-GUIDE.md) - **推荐阅读** 零配置使用方法
- [**安装指南**](./docs/INSTALL.md) - 详细安装步骤
- [**实例隔离技术文档**](./docs/INSTANCE-ISOLATION.md) - 技术实现详情
- [**多实例使用指南**](./docs/MULTI-INSTANCE-USAGE.md) - 手动管理实例
- [**认证冲突解决方案**](./docs/claude-code-auth-conflict-resolution.md) - 技术分析

## 🛠️ 高级功能

### 自动实例分配特性

- 🤖 **零配置启动** - 无需手动设置环境变量
- 📂 **基于目录隔离** - 不同工作目录自动获得独立实例
- 🧹 **自动清理** - 进程退出时自动清理实例记录
- 🔄 **智能检测** - 自动检测并清理死进程实例

### 配置文件位置

```
~/.cla-launcher/
├── instances/                   # 实例配置
│   ├── auto-project-a-xxx/
│   └── auto-project-b-xxx/
├── auto-instances/              # 自动实例管理
│   ├── locks/                   # 进程锁
│   └── registry.json           # 实例注册表
└── profiles.json               # 全局配置列表
```

### 安全保证

- ✅ 完全实例隔离，避免配置冲突
- ✅ 自动进程管理，防止资源泄漏  
- ✅ 向后兼容，不影响现有配置
- ✅ 可随时清理，无残留文件

## 🔧 开发和维护

### 本地开发

```bash
# 开发模式 - 自动分配实例
bun dev

# 查看活跃实例
bun dev --show-instances

# 清理自动实例
bun dev --cleanup-instances

# 构建
bun run build
```

### Crush配置管理

```bash
# 一键转换clau配置到crush格式（完全兼容官方结构）
cla --cli crush convert              # 安全模式：使用环境变量占位符
cla --cli crush convert --real-keys  # 便捷模式：填入真实API密钥

# 查看当前crush配置
cla --cli crush view

# 备份crush配置
cla --cli crush backup

# 交互式管理界面
# 在主菜单中选择 "⚙️ Crush配置管理"
```

🎯 **完美兼容**: Crush配置管理功能现已**完全兼容Crush官方配置结构**，支持：

#### ✅ **结构精确**
- **零冗余字段**: 完全匹配官方schema，无多余字段
- **类型修正**: **所有配置都正确识别为anthropic类型**（clau专为Claude设计）
- **模型统一**: **默认使用Claude系列模型**（Claude 4 Sonnet / Claude 3.5 Sonnet）
- **多协议支持**: HTTP、SSE、STDIO三种MCP服务器类型

#### 🔐 **API密钥安全**
- **真实密钥模式**: 直接使用clau中存储的真实API密钥，无需额外配置
- **安全提示**: 转换完成后会提醒用户妥善保管包含密钥的配置文件

#### 🚀 **现代化界面体验**
- **SearchableList组件**: 与spotlight主界面一致的现代化交互
- **智能搜索**: 支持中文、拼音、首字母、双拼、英文模糊匹配
- **统一主题**: 完整的主题系统集成，响应式主题切换
- **分类显示**: 功能按类别分组，清晰易用的视觉设计

实现clau与Crush之间的无缝配置共享，详见 [Crush配置管理指南](docs/CRUSH_CONFIG_GUIDE.md)。

### 卸载

```bash
# 卸载全局命令
bun run uninstall-global

# 清理配置文件（可选）
rm -rf ~/.cla-launcher
```

## 📋 系统要求

- [Bun](https://bun.sh/) - JavaScript 运行时
- [Claude Code](https://claude.ai/code) - 必须已安装
- macOS, Linux 或 WSL

## 🤝 贡献

欢迎提交 Issue 和 Pull Request！

## 📄 许可证

MIT License

---

**💡 提示**: 这个启动器设计为完全兼容现有 Claude Code 配置，你可以安全地安装和使用，不会影响现有的工作流程。