Model selection
DSCC has no hard-coded default model. Every launch must supply a
model id; otherwise DSCC prints a bilingual error and exits
(crates/dscc-cli/src/main.rs:384-411).
The rule
Supply exactly one of:
| Source | Example |
|---|---|
--model flag |
dscc --model claude-opus-4-6 |
DSCC_MODEL env var |
export DSCC_MODEL=claude-sonnet-4-6 |
If both are set, --model wins. If neither is set, DSCC
exits with a message pointing to both options.
Provider resolution
DSCC maps the model id to a provider via a static registry
(crates/api/src/providers/mod.rs). The prefix of the id
determines the route:
| Id prefix / shape | Provider | Required key |
|---|---|---|
claude-*, opus, sonnet,
haiku |
Anthropic | ANTHROPIC_API_KEY (or OAuth) |
grok-* |
xAI | XAI_API_KEY |
deepseek-* |
DeepSeek | DEEPSEEK_API_KEY |
| any other id | Generic OpenAI-compatible | DSCC_API_KEY + DSCC_BASE_URL |
The generic path is the catch-all — if a model id does not match any
registered prefix, DSCC assumes an OpenAI-compatible endpoint and
requires DSCC_API_KEY plus DSCC_BASE_URL.
Common model ids
| Provider | Model ids |
|---|---|
| Anthropic | claude-opus-4-6, claude-sonnet-4-6,
claude-haiku-4-5-20251213 |
| xAI | grok-3, grok-4 |
| DeepSeek | deepseek-chat, deepseek-coder,
deepseek-reasoner |
| Generic | any provider-specific id (e.g.
doubao-seed-1-6-250615) |
See reference/cli.md for the
exhaustive list of flags including --model.
Example invocations
# REPL with an explicit model # [交互] opens the REPL
dscc --model claude-opus-4-6
# REPL with env-var fallback # [交互] opens the REPL
export DSCC_MODEL=claude-sonnet-4-6
dscc
# One-shot prompt
dscc --model claude-sonnet-4-6 prompt "summarize crates/runtime"
# Generic provider (base URL required)
export DSCC_API_KEY="..."
export DSCC_BASE_URL="https://api.openai.com/v1"
dscc --model gpt-4o prompt "hello"
Next
- first-session.md — run your first REPL and one-shot against the model you just chose.