Back to Cc Switch

5.3 Deep Link Protocol

docs/user-manual/en/5-faq/5.3-deeplink.md

3.14.16.6 KB
Original Source

5.3 Deep Link Protocol

Overview

CC Switch supports the ccswitch:// deep link protocol, enabling one-click configuration import via links.

Use cases:

  • Team configuration sharing
  • One-click setup in tutorials
  • Quick sync across devices

Online Generator Tool

CC Switch provides an online deep link generator tool:

URL: https://farion1231.github.io/cc-switch/deplink.html

How to Use

  1. Open the above URL
  2. Select the import type (Provider/MCP/Prompt)
  3. Fill in the configuration information
  4. Click "Generate Link"
  5. Copy the generated deep link
  6. Share with others or use on other devices

Protocol Format

V1 Protocol

Uses URL parameter format, easy to read and generate:

ccswitch://v1/import?resource={type}&app={app}&name={name}&...

Common parameters:

ParameterRequiredDescription
resourceYesResource type: provider / mcp / prompt / skill
appYesApp type: claude / codex / gemini / opencode / openclaw
nameYesName

Provider parameters (resource=provider):

ParameterRequiredDescription
endpointNoAPI endpoint URL (supports comma-separated multiple URLs)
apiKeyNoAPI key
homepageNoProvider website
modelNoDefault model
haikuModelNoHaiku model (Claude only)
sonnetModelNoSonnet model (Claude only)
opusModelNoOpus model (Claude only)
notesNoNotes
iconNoIcon
configNoBase64-encoded configuration content
configFormatNoConfiguration format: json / toml
configUrlNoRemote configuration URL
enabledNoWhether to enable (boolean)
usageScriptNoUsage query script
usageEnabledNoWhether to enable usage query (default true)
usageApiKeyNoUsage query API Key
usageBaseUrlNoUsage query base URL
usageAccessTokenNoUsage query access token
usageUserIdNoUsage query user ID
usageAutoIntervalNoAuto query interval (minutes)

Prompt parameters (resource=prompt):

ParameterRequiredDescription
contentYesPrompt content
descriptionNoDescription
enabledNoWhether to enable (boolean)

MCP parameters (resource=mcp):

ParameterRequiredDescription
appsYesApp list (comma-separated, e.g., claude,codex,gemini,opencode)
configYesMCP server configuration (JSON format)
enabledNoWhether to enable (boolean)

Skill parameters (resource=skill):

ParameterRequiredDescription
repoYesRepository (format: owner/name)
directoryNoDirectory path
branchNoGit branch

Example:

ccswitch://v1/import?resource=provider&app=claude&name=My%20Provider&endpoint=https%3A%2F%2Fapi.example.com&apiKey=sk-xxx

Import Type Examples

Import Provider

ccswitch://v1/import?resource=provider&app=claude&name=My%20Provider&endpoint=https%3A%2F%2Fapi.example.com&apiKey=sk-xxx

Import MCP Server

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

Import Prompt Preset

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

Import Skill

ccswitch://v1/import?resource=skill&name=my-skill&repo=owner/repo&directory=skills/my-skill&branch=main

Manual Generation

  1. Prepare parameters
  2. Assemble the URL following V1 protocol format
  3. URL-encode special characters

Example:

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()}`;

Online Tool

Using CC Switch's official online deep link generator tool is more convenient.

Click a deep link in a browser or other application:

  1. The system asks whether to open CC Switch
  2. After confirming, CC Switch opens
  3. An import confirmation dialog is displayed
  4. Confirm the import

Import Confirmation

A confirmation dialog is shown before import, containing:

  • Import type
  • Configuration preview
  • Confirm/Cancel buttons

Security tip: Only import configurations from trusted sources.

Protocol Registration

Automatic Registration

CC Switch automatically registers the ccswitch:// protocol during installation.

Manual Registration

If the protocol is not registered correctly:

macOS: Reinstall the app, or run:

bash
/usr/bin/open -a "CC Switch" --args --register-protocol

Windows: Reinstall the app, or check the registry:

HKEY_CLASSES_ROOT\ccswitch

Linux: Check the MimeType configuration in the .desktop file.

Security Considerations

Sensitive Information

Deep links may contain sensitive information (e.g., API Keys):

  • Do not share links containing API Keys in public
  • Remove or replace sensitive information before sharing
  • Use secure channels to transmit links

Source Verification

Before import, CC Switch will:

  1. Validate the data format
  2. Display a configuration preview
  3. Require user confirmation

CC Switch checks:

  • Whether the data format is valid
  • Whether required fields are complete
  • Whether configuration values are within reasonable ranges

Example: Import Claude Provider

ccswitch://v1/import?resource=provider&app=claude&name=Test%20Provider&apiKey=sk-xxx&endpoint=https%3A%2F%2Fapi.example.com

Example: Import MCP Server

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

Troubleshooting

Check:

  1. Is CC Switch installed
  2. Is the protocol registered correctly
  3. Is the link format correct

Import Failed

Possible causes:

  • Base64 encoding error
  • JSON format error
  • Missing required fields

Solutions:

  1. Check the original JSON format
  2. Re-encode in Base64
  3. Ensure all required fields are present