diff --git a/examples/acp-agent/advanced.cordis.yml b/examples/acp-agent/advanced.cordis.yml index 2765b384fe..5aeacd3e22 100644 --- a/examples/acp-agent/advanced.cordis.yml +++ b/examples/acp-agent/advanced.cordis.yml @@ -9,7 +9,7 @@ name: '@deepseek-ai/dsh-acp-demo' config: provider: deepseek - model: deepseek-v4-flash + model: deepseek-v4-pro persistenceRoot: !!js process.env.DSH_SNAPSHOT_SESSIONS_ROOT ?? './.sessions' persistenceCompression: !!js "process.env.DSH_SNAPSHOT === undefined ? 'zstd' : 'none'" workspaceContext: diff --git a/examples/acp-agent/both-mode.cordis.yml b/examples/acp-agent/both-mode.cordis.yml index e44f3450de..cff9602684 100644 --- a/examples/acp-agent/both-mode.cordis.yml +++ b/examples/acp-agent/both-mode.cordis.yml @@ -11,7 +11,7 @@ name: '@deepseek-ai/dsh-acp-demo' config: provider: deepseek - model: deepseek-v4-flash + model: deepseek-v4-pro persistenceRoot: !!js process.env.DSH_SNAPSHOT_SESSIONS_ROOT ?? './.sessions' persistenceCompression: !!js "process.env.DSH_SNAPSHOT === undefined ? 'zstd' : 'none'" workspaceContext: diff --git a/examples/acp-agent/code-mode-workspace-context.cordis.yml b/examples/acp-agent/code-mode-workspace-context.cordis.yml index 807de9b3c3..b043869a65 100644 --- a/examples/acp-agent/code-mode-workspace-context.cordis.yml +++ b/examples/acp-agent/code-mode-workspace-context.cordis.yml @@ -9,7 +9,7 @@ name: '@deepseek-ai/dsh-acp-demo' config: provider: deepseek - model: deepseek-v4-flash + model: deepseek-v4-pro persistenceRoot: !!js process.env.DSH_SNAPSHOT_SESSIONS_ROOT ?? './.sessions' persistenceCompression: !!js "process.env.DSH_SNAPSHOT === undefined ? 'zstd' : 'none'" workspaceContext: diff --git a/examples/acp-agent/code-mode.cordis.yml b/examples/acp-agent/code-mode.cordis.yml index 38d8eb33cb..1192b284c0 100644 --- a/examples/acp-agent/code-mode.cordis.yml +++ b/examples/acp-agent/code-mode.cordis.yml @@ -12,7 +12,7 @@ name: '@deepseek-ai/dsh-acp-demo' config: provider: deepseek - model: deepseek-v4-flash + model: deepseek-v4-pro persistenceRoot: !!js process.env.DSH_SNAPSHOT_SESSIONS_ROOT ?? './.sessions' persistenceCompression: !!js "process.env.DSH_SNAPSHOT === undefined ? 'zstd' : 'none'" workspaceContext: diff --git a/examples/acp-agent/cordis.snapshot.yml b/examples/acp-agent/cordis.snapshot.yml index e4d717a399..94ebf29ea6 100644 --- a/examples/acp-agent/cordis.snapshot.yml +++ b/examples/acp-agent/cordis.snapshot.yml @@ -1,6 +1,10 @@ # Keyless replay includes the live `cordis.yml`, disables the key-requiring # DeepSeek adapter, and inserts `llm-replay` to serve recorded JSONL without a key -# or network; every other app entry remains shared. +# or network; every other app entry remains shared. It also restates the acp-agent +# config to re-pin `deepseek-v4-flash`: `cordis.yml` ships `deepseek-v4-pro`, but the +# recorded corpus (request headers, provenance, system prompt) was captured on flash, +# so replay holds the recorded model to stay reproducible without a re-record. A config +# patch replaces the whole app config, so the base fields are restated verbatim. # With `DSH_SNAPSHOT=replay`, the app bin reads `DSH_SNAPSHOT_FILE` and optional # `DSH_SNAPSHOT_OVERRIDE` from the harness. The one-shot patch applies at include # load time, and stdout remains reserved for ACP JSON-RPC. @@ -15,6 +19,18 @@ - id: llm-deepseek name: '@deepseek-ai/dsh-llm-deepseek' disabled: true + - id: acp-agent + name: '@deepseek-ai/dsh-acp-demo' + config: + provider: deepseek + model: deepseek-v4-flash + persistenceRoot: !!js process.env.DSH_SNAPSHOT_SESSIONS_ROOT ?? './.sessions' + workspaceContext: + maxBytes: 65536 + persona: | + You are a coding assistant powered by the {{model}} model. Your working directory is {{cwd}}. Your bash tool runs under a file sandbox — a `[sandbox: file access denied …]` result is policy, not a command bug. + + Verify your work by running the code or tests. Keep answers brief and factual. - id: sandbox name: '@deepseek-ai/dsh-sandbox-local' config: diff --git a/examples/acp-agent/fs.cordis.snapshot.yml b/examples/acp-agent/fs.cordis.snapshot.yml index d55521a8dc..f0e65fa81e 100644 --- a/examples/acp-agent/fs.cordis.snapshot.yml +++ b/examples/acp-agent/fs.cordis.snapshot.yml @@ -1,6 +1,9 @@ # Keyless filesystem snapshots apply the spill and replay overlays directly # because include patches cannot target entries behind a nested include. The -# sandboxed filesystem stack already lives in the base cordis.yml. +# sandboxed filesystem stack already lives in the base cordis.yml. This file also +# re-pins the acp-agent model to `deepseek-v4-flash`: `cordis.yml` ships +# `deepseek-v4-pro`, but the recorded corpus was captured on flash, and a config +# patch replaces the whole app config, so the base fields are restated verbatim. - id: base name: '@cordisjs/plugin-include' config: @@ -9,6 +12,18 @@ - id: llm-deepseek name: '@deepseek-ai/dsh-llm-deepseek' disabled: true + - id: acp-agent + name: '@deepseek-ai/dsh-acp-demo' + config: + provider: deepseek + model: deepseek-v4-flash + persistenceRoot: !!js process.env.DSH_SNAPSHOT_SESSIONS_ROOT ?? './.sessions' + workspaceContext: + maxBytes: 65536 + persona: | + You are a coding assistant powered by the {{model}} model. Your working directory is {{cwd}}. Your bash tool runs under a file sandbox — a `[sandbox: file access denied …]` result is policy, not a command bug. + + Verify your work by running the code or tests. Keep answers brief and factual. - insert: - id: spill-local name: '@deepseek-ai/dsh-spill-local' diff --git a/examples/acp-agent/workspace-context.cordis.yml b/examples/acp-agent/workspace-context.cordis.yml index f9dadc8189..5e3d4bc63e 100644 --- a/examples/acp-agent/workspace-context.cordis.yml +++ b/examples/acp-agent/workspace-context.cordis.yml @@ -10,7 +10,7 @@ name: '@deepseek-ai/dsh-acp-demo' config: provider: deepseek - model: deepseek-v4-flash + model: deepseek-v4-pro persistenceRoot: !!js process.env.DSH_SNAPSHOT_SESSIONS_ROOT ?? './.sessions' persistenceCompression: !!js "process.env.DSH_SNAPSHOT === undefined ? 'zstd' : 'none'" workspaceContext: diff --git a/examples/headless-agent/advanced.cordis.snapshot.yml b/examples/headless-agent/advanced.cordis.snapshot.yml index 48541a1054..71efe0e00b 100644 --- a/examples/headless-agent/advanced.cordis.snapshot.yml +++ b/examples/headless-agent/advanced.cordis.snapshot.yml @@ -1,12 +1,38 @@ -# Replay counterpart to advanced.cordis.yml; only the live model is replaced. +# Replay counterpart to advanced.cordis.yml. It includes the base `cordis.yml` +# directly — a config patch cannot target an entry behind a nested include — and +# restates advanced.cordis.yml's overlay (the cli-agent config plus the +# code-runtime and tool-cordis inserts) so the whole app config lives in one patch. +# It re-pins `deepseek-v4-flash`: `cordis.yml` ships `deepseek-v4-pro`, but the +# recorded corpus (request headers, provenance) was captured on flash, so replay +# holds the recorded model to stay reproducible without a re-record. It also +# disables the key-requiring DeepSeek adapter and inserts `llm-replay` to serve +# recorded JSONL without a key or network. - id: base name: '@cordisjs/plugin-include' config: - path: ./advanced.cordis.yml + path: ./cordis.yml patches: - id: llm-deepseek name: '@deepseek-ai/dsh-llm-deepseek' disabled: true + - id: cli-agent + name: '@deepseek-ai/dsh-cli-demo' + config: + provider: deepseek + model: deepseek-v4-flash + persistenceRoot: './.sessions' + workspaceContext: + maxBytes: 65536 + tools: + mode: both + persona: | + You are headless-agent, a coding assistant powered by the {{model}} model. Your working directory is {{cwd}}. + + Verify your work by running the code or tests. Keep answers brief and factual. - insert: + - id: code-runtime + name: '@deepseek-ai/dsh-code-runtime-worker' + - id: tool-cordis + name: '@deepseek-ai/dsh-tool-cordis' - id: llm-replay name: '@deepseek-ai/dsh-llm-replay' diff --git a/examples/headless-agent/advanced.cordis.yml b/examples/headless-agent/advanced.cordis.yml index fe553aa2b9..84ee94b04e 100644 --- a/examples/headless-agent/advanced.cordis.yml +++ b/examples/headless-agent/advanced.cordis.yml @@ -8,7 +8,7 @@ name: '@deepseek-ai/dsh-cli-demo' config: provider: deepseek - model: deepseek-v4-flash + model: deepseek-v4-pro persistenceRoot: './.sessions' persistenceCompression: !!js "process.env.DSH_SNAPSHOT === undefined ? 'zstd' : 'none'" workspaceContext: diff --git a/examples/headless-agent/cordis.yml b/examples/headless-agent/cordis.yml index 05c4facea9..82e63fd3bd 100644 --- a/examples/headless-agent/cordis.yml +++ b/examples/headless-agent/cordis.yml @@ -4,11 +4,15 @@ # The DeepSeek adapter. Swap to '@deepseek-ai/dsh-llm-pi-ai' for the pi-ai-backed # twin (same config shape; `reasoning: high` replaces thinking/reasoningEffort). +# Shipped default: full thinking at max effort on every request (wire-only +# defaults; they never enter the request header). - id: llm-deepseek name: '@deepseek-ai/dsh-llm-deepseek' config: apiKey: !!js process.env.DEEPSEEK_API_KEY baseURL: !!js process.env.DEEPSEEK_BASE_URL + thinking: enabled + reasoningEffort: max models: - id: deepseek-v4-pro contextWindow: 128000 @@ -25,7 +29,7 @@ name: '@deepseek-ai/dsh-cli-demo' config: provider: deepseek - model: deepseek-v4-flash + model: deepseek-v4-pro persistenceRoot: './.sessions' persistenceCompression: !!js "process.env.DSH_SNAPSHOT === undefined ? 'zstd' : 'none'" workspaceContext: diff --git a/examples/jsonrpc-agent/cordis.yml b/examples/jsonrpc-agent/cordis.yml index 5c8029db6b..2ff464de7b 100644 --- a/examples/jsonrpc-agent/cordis.yml +++ b/examples/jsonrpc-agent/cordis.yml @@ -6,11 +6,16 @@ config: maxTokensAsSuccess: !!js "process.env.DSH_MAX_TOKENS_AS_SUCCESS === undefined ? true : JSON.parse(process.env.DSH_MAX_TOKENS_AS_SUCCESS)" +# The DeepSeek adapter. Shipped default: full thinking at max effort on every +# request (wire-only defaults; they never enter the request header). The model +# arrives per session over JSON-RPC, so it is not pinned here. - id: llm-deepseek name: '@deepseek-ai/dsh-llm-deepseek' config: apiKey: !!js process.env.DEEPSEEK_API_KEY baseURL: !!js process.env.DEEPSEEK_BASE_URL + thinking: enabled + reasoningEffort: max - id: bash name: '@deepseek-ai/dsh-bash-local'