CH·02CLI reference

deeprelay setup continue

Point Continue at deeprelay

Point Continue at deeprelay

Synopsis

Points Continue (the VS Code and JetBrains extension) at deeprelay. After it runs, Continue's model selector lists the deeprelay models, and Continue sends their requests to deeprelay's /v1/chat/completions endpoint.

What it writes

Setup edits Continue's global config, ~/.continue/config.yaml (under $CONTINUE_GLOBAL_DIR when that is set). It appends one item per deeprelay model to the models: list and leaves everything else as it was: your own models, comments, context providers and other keys. In a new file it also writes the top-level keys Continue requires (name, version, schema). If the file already has them, setup leaves them alone.

Each item it appends looks like this:

models:
  # managed by deeprelay setup
  - name: deeprelay deeprelay/deepseek-v4.1-flash
    provider: openai
    model: deeprelay/deepseek-v4.1-flash
    apiBase: https://api.deeprelay.ai/v1
    apiKey: ${{ secrets.DEEPRELAY_API_KEY }}
    roles:
      - chat
      - edit
      - apply
    defaultCompletionOptions:
      contextLength: 131072
      maxTokens: 8192

Setup adds every model in deeprelay's list of models tested with coding agents, in that list's order. model is the exact deeprelay model ID. contextLength and maxTokens come from the deeprelay catalog; setup leaves out any value the catalog does not list. apiBase is the API base setup runs against (--api-base, or DEEPRELAY_API_BASE), always ending in /v1.

The # managed by deeprelay setup comment is there for people reading the file. Setup does not use it to decide which items are its own. It decides from its record of exactly what it wrote, so a model you added yourself is never touched, even one that points at deeprelay. Deleting the comment does not change anything.

Your key goes in Continue's .env, not in config.yaml

apiKey is the reference ${{ secrets.DEEPRELAY_API_KEY }}, never the key. Continue looks the secret up in a .env file: first .env and .continue/.env in your workspace, then ~/.continue/.env, then the environment of the editor process. Setup never writes any of these files. Add this line to ~/.continue/.env yourself, with the output of deeprelay auth token as the value:

DEEPRELAY_API_KEY=<the output of 'deeprelay auth token'>

Setup prints this step after it writes. It prints no shell export line: an editor opened from the Dock or a launcher never sees shell variables, and the .env file works however the editor is opened. The key is never stored in config.yaml, the setup record or a backup.

Files setup will not edit

Setup keeps your YAML exactly as written. If editing the file would change its layout beyond whitespace (anchors and aliases, some multi-line strings, unusual quoting), setup refuses, writes nothing, and exits non-zero. It prints the models: items to paste in yourself. If the change would only adjust whitespace, setup lists those lines before the diff.

If the current directory has its own .continue/config.yaml, setup warns. Continue loads that workspace config there as well, and setup does not edit it.

Modes

  • Default: appends the deeprelay models. Asks before writing.
  • --model : adds only that model instead of the curated list. It must exist on deeprelay and support tool calling.
  • --print: writes nothing. It prints the YAML snippet and the .env step, so you can merge the snippet yourself.
  • --refresh: brings setup's items in line with the current list. Items are updated in place, keeping their position and comment; models dropped from the list are removed and new ones appended. It needs an earlier setup, and it shows a diff and backs up the file like setup does.
  • --remove: undoes a previous setup (see below).
  • --force: with --yes, replaces setup's items even when you edited them (see below).

Before anything is written

Setup resolves your key the way deeprelay auth token does: from DEEPRELAY_API_KEY if it is set, or else from the credentials file. It reads the model list from GET /v1/models and checks that each model exists and supports tool calling. It makes no billed call. If the API does not serve a recommended list, setup uses the list built into the CLI and says so.

Setup then shows a diff and the undo command, and asks you to confirm. --yes skips the prompt for scripts. If stdin is not a terminal and you did not pass --yes, setup stops without writing. If nothing would change, setup says Continue is already configured.

If you edit one of setup's items (rename it or change a field other than model and apiBase), it becomes yours. A later run asks before replacing it. --yes alone leaves your edited item as it is, adds no second item for that model, and exits non-zero. --yes --force replaces the edited item in place. Models newly added to the curated list are added either way. If you delete one of setup's items, that is not an edit: a later run adds it back while the model is still on the list. Once the model is off the list, setup forgets the item without a warning, so an identical item you add later is yours and --remove leaves it alone.

Backups and undo

Before each write, setup copies the existing file into backups/continue/ in the deeprelay config directory (the one holding your credentials file). A later run never overwrites an earlier backup. Setup also records exactly which items and keys it added in the setup directory next to it. The record holds no key.

deeprelay setup continue --remove replays that record:

  • every item still exactly as setup wrote it is removed, with its comment;
  • an item you edited is left alone, with a warning, and setup forgets it;
  • an item you deleted is forgotten without a warning;
  • name, version and schema are removed only if setup added them and you have not changed them.
  • the models: key is removed too if setup added it and the list is empty once setup's items are gone, so a file that held only comments comes back as it was.

Running --remove again, or when setup never ran, reports "nothing to remove" and exits 0. Delete the DEEPRELAY_API_KEY line from ~/.continue/.env yourself.

Default model

Continue starts on the first model in its list, so setup's models do not replace a model you already use. Pick "deeprelay " in Continue's model selector. The first item setup appends is the first model in deeprelay's list; a model covered by your plan comes first. Pick a single model with --model.

Examples

# Configure Continue (asks before writing)
deeprelay setup continue

# No prompt
deeprelay setup continue --yes

# Only one model
deeprelay setup continue --model deeprelay/deepseek-v4-pro

# Print the snippet and the .env step
deeprelay setup continue --print

# Update the model items from the catalog
deeprelay setup continue --refresh

# Replace setup's items even though you edited them
deeprelay setup continue --yes --force

# Undo
deeprelay setup continue --remove
deeprelay setup continue [flags]

Options

      --force          With --yes, replace a setup-owned entry you have edited since the last run
  -h, --help           help for continue
      --model string   Use this model instead of the curated list
      --print          Print the config snippet and export line instead of writing any file
      --refresh        Re-sync the configured models from the curated list
      --remove         Undo a previous setup entry by entry
      --yes            Apply without the confirmation prompt (warnings still print)

Options inherited from parent commands

      --api-base string   API base URL (override with DEEPRELAY_API_BASE env) (default "https://api.deeprelay.ai/v1")
      --debug             Enable debug logging to stderr
      --no-preflight      Skip the plan/credit check before inference requests (override with DEEPRELAY_NO_PREFLIGHT env)
  -o, --output string     Output format: table|json (default table on TTY, json otherwise) (default "table")

SEE ALSO

← The gpu CLI