This commit is contained in:
musistudio
2026-01-01 21:17:41 +08:00
parent 5ac38d3d0f
commit e7608ada4a
76 changed files with 8652 additions and 1187 deletions

View File

@@ -0,0 +1,254 @@
---
sidebar_position: 5
---
# ccr preset
管理预设Presets——可共享和重用的配置模板。
## 概述
预设功能让您可以:
- 将当前配置保存为可重用的模板
- 与他人分享配置
- 安装社区提供的预配置方案
- 在不同配置之间轻松切换
## 命令
### export
将当前配置导出为预设。
```bash
ccr preset export <名称> [选项]
```
**选项:**
- `--output <路径>` - 自定义输出目录路径
- `--description <文本>` - 预设描述
- `--author <名称>` - 预设作者
- `--tags <标签>` - 逗号分隔的关键字
- `--include-sensitive` - 包含 API 密钥等敏感数据(不推荐)
**示例:**
```bash
ccr preset export my-config --description "我的生产环境配置" --author "您的名字"
```
**执行过程:**
1. 读取 `~/.claude-code-router/config.json` 中的当前配置
2. 提示输入描述、作者和关键字(如未通过命令行提供)
3. 自动清理敏感字段API 密钥变为占位符)
4.`~/.claude-code-router/presets/<名称>/` 创建预设目录
5. 生成包含配置和元数据的 `manifest.json`
### install
从本地目录安装预设。
```bash
ccr preset install <来源>
```
**来源:**
- 本地目录路径:`/path/to/preset-directory`
- 预设名称(用于重新配置已安装的预设):`preset-name`
**示例:**
```bash
# 从目录安装
ccr preset install ./my-preset
# 重新配置已安装的预设
ccr preset install my-preset
```
**执行过程:**
1. 从预设目录读取 `manifest.json`
2. 验证预设结构
3. 如果预设包含 `schema`提示输入必需的值API 密钥等)
4. 将预设复制到 `~/.claude-code-router/presets/<名称>/`
5.`manifest.json` 中保存用户输入
**注意:** 目前不支持从 URL 安装。请先下载预设目录。
### list
列出所有已安装的预设。
```bash
ccr preset list
```
**示例输出:**
```
Available presets:
• my-config (v1.0.0)
My production setup
by Your Name
• openai-setup
Basic OpenAI configuration
```
### info
显示预设的详细信息。
```bash
ccr preset info <名称>
```
**显示内容:**
- 版本、描述、作者、关键字
- 配置摘要Providers、Router 规则)
- 必需输入(如果有)
**示例:**
```bash
ccr preset info my-config
```
### delete / rm / remove
删除已安装的预设。
```bash
ccr preset delete <名称>
ccr preset rm <名称>
ccr preset remove <名称>
```
**示例:**
```bash
ccr preset delete my-config
```
## 预设结构
预设是一个包含 `manifest.json` 文件的目录:
```json
{
"name": "my-preset",
"version": "1.0.0",
"description": "我的配置",
"author": "作者姓名",
"keywords": ["openai", "production"],
"Providers": [
{
"name": "openai",
"api_base_url": "https://api.openai.com/v1",
"api_key": "{{apiKey}}",
"models": ["gpt-4", "gpt-3.5-turbo"]
}
],
"Router": {
"default": "openai:gpt-4"
},
"schema": [
{
"id": "apiKey",
"type": "password",
"label": "OpenAI API 密钥",
"prompt": "请输入您的 OpenAI API 密钥"
}
]
}
```
### Schema 系统
`schema` 字段定义用户在安装时必须提供的输入:
**字段类型:**
- `password` - 隐藏输入(用于 API 密钥)
- `input` - 文本输入
- `select` - 单选下拉框
- `multiselect` - 多选下拉框
- `confirm` - 是/否确认
- `editor` - 多行文本编辑器
- `number` - 数字输入
**动态选项:**
```json
{
"id": "provider",
"type": "select",
"label": "选择提供商",
"options": {
"type": "providers"
}
}
```
**条件显示:**
```json
{
"id": "model",
"type": "select",
"label": "选择模型",
"when": {
"field": "provider",
"operator": "exists"
},
"options": {
"type": "models",
"providerField": "#{selectedProvider}"
}
}
```
## 分享预设
分享预设的步骤:
1. **导出配置:**
```bash
ccr preset export my-preset
```
2. **分享目录:**
```bash
~/.claude-code-router/presets/my-preset/
```
3. **分发方式:**
- 上传到 GitHub 仓库
- 创建 GitHub Gist
- 打包为 zip 文件分享
- 发布到 npm未来功能
4. **用户安装:**
```bash
ccr preset install /path/to/my-preset
```
## 安全性
### 自动清理
默认情况下,`export` 会清理敏感字段:
- 名为 `api_key`、`apikey`、`password`、`secret` 的字段会被替换为 `{{字段名}}` 占位符
- 这些占位符会成为 schema 中的必需输入
- 用户在安装时会被提示提供自己的值
### 包含敏感数据
要包含实际值(不推荐):
```bash
ccr preset export my-preset --include-sensitive
```
**警告:** 永远不要分享包含敏感数据的预设!
## 相关文档
- [配置指南](/zh/docs/cli/config/basic) - 基础配置
- [项目级配置](/zh/docs/cli/config/project-level) - 项目特定设置
- [服务器:预设](/zh/docs/server/advanced/presets) - 高级预设主题