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.envstep, 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,versionandschemaare 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 --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
- deeprelay setup - Configure coding agents to use deeprelay