klaudes 0.1.2

CLI tool for managing multiple Anthropic API configurations
# klaudes Import 功能

`klaudes account import` 功能允许用户通过 JSON 格式快速导入环境变量配置。

## 使用方法

```bash
# 启动交互式导入
klaudes account import

# 或者使用自定义配置文件
klaudes -c /path/to/config.toml account import
```

## 支持的 JSON 格式

### 格式 1: 带 `env` 包装器
```json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.anthropic.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-ant-api03-your-key-here",
    "ANTHROPIC_MODEL": "claude-3-5-sonnet-20241022"
  }
}
```

### 格式 2: 直接的键值对
```json
{
  "ANTHROPIC_BASE_URL": "https://api.anthropic.com",
  "ANTHROPIC_AUTH_TOKEN": "sk-ant-api03-your-key-here",
  "ANTHROPIC_MODEL": "claude-3-5-sonnet-20241022"
}
```

## JSON 修复功能

import 功能内置了 JSON 修复功能,可以自动修复常见的 JSON 格式错误:

- 缺失引号的键名:`{key: "value"}``{"key": "value"}`
- 缺失引号的字符串值:`{key: value}``{key: "value"}`
- 缺失逗号:`{key: value key2: value2}``{key: value, key2: value2}`
- 尾随逗号:`{key: value,}``{key: value}`
- 注释:`{key: value /* comment */}``{key: value}`

## 导入流程

1. **输入组名**: 为配置组指定一个唯一的名称
2. **多行 JSON 编辑**:
   - 使用内置的多行编辑器输入 JSON
   - 支持粘贴多行 JSON 配置
   - 使用箭头键导航
   - 按 Enter 在空行或 Ctrl+D 完成
   - 按 Esc 取消
3. **预览解析结果**: 查看解析出的环境变量(显示行数和字符数)
4. **确认导入**: 确认是否要保存配置

## 示例配置

### MiniMax API 配置
```json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.minimaxi.com/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "<MINIMAX_API_KEY>",
    "API_TIMEOUT_MS": "3000000",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
    "ANTHROPIC_MODEL": "MiniMax-M2",
    "ANTHROPIC_SMALL_FAST_MODEL": "MiniMax-M2",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "MiniMax-M2",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "MiniMax-M2",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "MiniMax-M2"
  }
}
```

### Anthropic 官方 API 配置
```json
{
  "ANTHROPIC_BASE_URL": "https://api.anthropic.com",
  "ANTHROPIC_AUTH_TOKEN": "sk-ant-api03-your-key-here",
  "ANTHROPIC_MODEL": "claude-3-5-sonnet-20241022",
  "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-3-5-sonnet-20241022",
  "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-3-5-haiku-20241022"
}
```

### 开发环境配置
```json
{
  "ANTHROPIC_BASE_URL": "https://api.anthropic.com",
  "ANTHROPIC_AUTH_TOKEN": "sk-ant-api-dev-key",
  "ANTHROPIC_MODEL": "claude-3-5-sonnet-20241022",
  "CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR": "1",
  "CLAUDE_CODE_DISABLE_TERMINAL_TITLE": "1",
  "BASH_DEFAULT_TIMEOUT_MS": "30000",
  "BASH_MAX_OUTPUT_LENGTH": "100000",
  "DISABLE_AUTOUPDATER": "1",
  "DISABLE_BUG_COMMAND": "0",
  "DISABLE_COST_WARNINGS": "1",
  "DISABLE_TELEMETRY": "1"
}
```

## 导入后使用

导入配置后,可以使用以下方式查看和使用:

```bash
# 列出所有配置组
klaudes account list

# 使用特定的配置组
klaudes account use <group-name>

# 直接使用配置组运行 claude 命令
klaudes account use minimax --help
```

## 完整工作流示例

```bash
# 1. 导入新的配置
$ klaudes account import
Import configuration group from JSON

Configuration group name: minimax

Paste your JSON configuration (supports both formats):

Format 1: {"env": {...}}
Format 2: {"KEY": "value", ...}

Example:
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.anthropic.com",
    "ANTHROPIC_AUTH_TOKEN": "your-api-key",
    "ANTHROPIC_MODEL": "claude-3-5-sonnet-20241022"
  }
}

JSON configuration:
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.minimaxi.com/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "sk-minimax-key-12345",
    "ANTHROPIC_MODEL": "MiniMax-M2"
  }
}

Parsed environment variables:
  ANTHROPIC_AUTH_TOKEN = sk-m...2345
  ANTHROPIC_BASE_URL = https://api.minimaxi.com/anthropic
  ANTHROPIC_MODEL = MiniMax-M2

Import configuration group 'minimax'? [Y/n]: y
✓ Successfully imported configuration group: minimax

# 2. 验证导入结果
$ klaudes account list
Configuration groups:

  📝 minimax
     ANTHROPIC_AUTH_TOKEN = sk-m...2345
     ANTHROPIC_BASE_URL = https://api.minimaxi.com/anthropic
     ANTHROPIC_MODEL = MiniMax-M2

# 3. 使用新配置
$ klaudes account use minimax --version
claude 0.7.1
```

## 注意事项

- 配置组名称不能包含空格
- 如果配置组已存在,会提示冲突并拒绝导入
- 敏感信息(包含 KEY、TOKEN、SECRET 的值)会在显示时被遮蔽
- 配置会自动保存到 TOML 格式,支持所有 klaudes 功能