# 5.3 深度链接协议 ## 功能说明 CC Switch 支持 `ccswitch://` 深度链接协议,可以通过链接一键导入配置。 **使用场景**: - 团队共享配置 - 教程中的一键配置 - 跨设备快速同步 ## 在线生成工具 CC Switch 提供在线深度链接生成工具: **访问地址**:[https://farion1231.github.io/cc-switch/deplink.html](https://farion1231.github.io/cc-switch/deplink.html) ### 使用方法 1. 打开上述网页 2. 选择导入类型(供应商/MCP/Prompt) 3. 填写配置信息 4. 点击「生成链接」 5. 复制生成的深度链接 6. 分享给他人或在其他设备使用 ## 协议格式 ### V1 协议 使用 URL 参数格式,易读易生成: ``` ccswitch://v1/import?resource={type}&app={app}&name={name}&... ``` **通用参数**: | 参数 | 必填 | 说明 | |------|------|------| | `resource` | 是 | 资源类型:`provider` / `mcp` / `prompt` / `skill` | | `app` | 是 | 应用类型:`claude` / `codex` / `gemini` / `opencode` | | `name` | 是 | 名称 | **供应商参数**(resource=provider): | 参数 | 必填 | 说明 | |------|------|------| | `endpoint` | 否 | API 端点地址(支持逗号分隔多个 URL) | | `apiKey` | 否 | API 密钥 | | `homepage` | 否 | 供应商官网 | | `model` | 否 | 默认模型 | | `haikuModel` | 否 | Haiku 模型(仅 Claude) | | `sonnetModel` | 否 | Sonnet 模型(仅 Claude) | | `opusModel` | 否 | Opus 模型(仅 Claude) | | `notes` | 否 | 备注 | | `icon` | 否 | 图标 | | `config` | 否 | Base64 编码的配置内容 | | `configFormat` | 否 | 配置格式:`json` / `toml` | | `configUrl` | 否 | 远程配置 URL | | `enabled` | 否 | 是否启用(布尔值) | | `usageScript` | 否 | 用量查询脚本 | | `usageEnabled` | 否 | 是否启用用量查询(默认 true) | | `usageApiKey` | 否 | 用量查询专用 API Key | | `usageBaseUrl` | 否 | 用量查询专用地址 | | `usageAccessToken` | 否 | 用量查询访问令牌 | | `usageUserId` | 否 | 用量查询用户 ID | | `usageAutoInterval` | 否 | 自动查询间隔(分钟) | **提示词参数**(resource=prompt): | 参数 | 必填 | 说明 | |------|------|------| | `content` | 是 | 提示词内容 | | `description` | 否 | 描述 | | `enabled` | 否 | 是否启用(布尔值) | **MCP 参数**(resource=mcp): | 参数 | 必填 | 说明 | |------|------|------| | `apps` | 是 | 应用列表(逗号分隔,如 `claude,codex,gemini`) | | `config` | 是 | MCP 服务器配置(JSON 格式) | | `enabled` | 否 | 是否启用(布尔值) | **Skill 参数**(resource=skill): | 参数 | 必填 | 说明 | |------|------|------| | `repo` | 是 | 仓库(格式:`owner/name`) | | `directory` | 否 | 目录路径 | | `branch` | 否 | Git 分支 | **示例**: ``` ccswitch://v1/import?resource=provider&app=claude&name=My%20Provider&endpoint=https%3A%2F%2Fapi.example.com&apiKey=sk-xxx ``` ## 导入类型示例 ### 导入供应商 ``` ccswitch://v1/import?resource=provider&app=claude&name=My%20Provider&endpoint=https%3A%2F%2Fapi.example.com&apiKey=sk-xxx ``` ### 导入 MCP 服务器 ``` ccswitch://v1/import?resource=mcp&apps=claude,codex&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22mcp-server-fetch%22%5D%7D&name=mcp-fetch ``` ### 导入 Prompt 预设 ``` ccswitch://v1/import?resource=prompt&app=claude&name=%E4%BB%A3%E7%A0%81%E5%AE%A1%E6%9F%A5&content=%23%20%E8%A7%92%E8%89%B2%0A%E4%BD%A0%E6%98%AF%E4%B8%80%E4%B8%AA%E4%B8%93%E4%B8%9A%E7%9A%84%E4%BB%A3%E7%A0%81%E5%AE%A1%E6%9F%A5%E4%B8%93%E5%AE%B6 ``` ### 导入 Skill ``` ccswitch://v1/import?resource=skill&name=my-skill&repo=owner/repo&directory=skills/my-skill&branch=main ``` ## 生成深度链接 ### 手动生成 1. 准备参数 2. 按 V1 协议格式拼接 URL 3. URL 编码特殊字符 **示例**: ```javascript const params = new URLSearchParams({ resource: 'provider', app: 'claude', name: 'My Provider', endpoint: 'https://api.example.com', apiKey: 'sk-xxx' }); const url = `ccswitch://v1/import?${params.toString()}`; ``` ### 在线工具 使用 CC Switch 官方提供的在线深度链接生成工具更方便。 ## 使用深度链接 ### 点击链接 在浏览器或其他应用中点击深度链接: 1. 系统会询问是否打开 CC Switch 2. 确认后 CC Switch 打开 3. 显示导入确认对话框 4. 确认导入 ### 导入确认 导入前会显示确认对话框,包含: - 导入类型 - 配置预览 - 确认/取消按钮 **安全提示**:只导入来自可信来源的配置。 ## 协议注册 ### 自动注册 CC Switch 安装时会自动注册 `ccswitch://` 协议。 ### 手动注册 如果协议未正确注册: **macOS**: 重新安装应用,或运行: ```bash /usr/bin/open -a "CC Switch" --args --register-protocol ``` **Windows**: 重新安装应用,或检查注册表: ``` HKEY_CLASSES_ROOT\ccswitch ``` **Linux**: 检查 `.desktop` 文件中的 `MimeType` 配置。 ## 安全考虑 ### 敏感信息 深度链接中可能包含敏感信息(如 API Key): - 不要在公开场合分享包含 API Key 的链接 - 分享前移除或替换敏感信息 - 使用安全渠道传输链接 ### 验证来源 导入前 CC Switch 会: 1. 验证数据格式 2. 显示配置预览 3. 要求用户确认 ### 恶意链接防护 CC Switch 会检查: - 数据格式是否合法 - 必填字段是否完整 - 配置值是否在合理范围 ## 示例链接 ### 示例:导入 Claude 供应商 ``` ccswitch://v1/import?resource=provider&app=claude&name=Test%20Provider&apiKey=sk-xxx&endpoint=https%3A%2F%2Fapi.example.com ``` ### 示例:导入 MCP 服务器 ``` ccswitch://v1/import?resource=mcp&name=mcp-fetch&apps=claude,codex,gemini&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22mcp-server-fetch%22%5D%7D ``` ## 故障排除 ### 链接无法打开 **检查**: 1. CC Switch 是否已安装 2. 协议是否正确注册 3. 链接格式是否正确 ### 导入失败 **可能原因**: - Base64 编码错误 - JSON 格式错误 - 缺少必填字段 **解决方法**: 1. 检查原始 JSON 格式 2. 重新进行 Base64 编码 3. 确保所有必填字段都存在