--- 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) - 高级预设主题