Add DeepSeek's hosted API to agent/models.yml and register deepseek-flash.
Provider label is the bare deepseek: pi-catalog/src/hosts.ts keys the
direct-DeepSeek behaviour set (max_tokens field, thinking extraBody,
thinking-disable mode) off that exact name and off api.deepseek.com, so the
house <api> (<host>) pattern would silently lose the endpoint's quirks.
Key is command-backed (!cat ~/.config/secrets/deepseek_api_key, 600) — no sk-… in the tracked tree; rotation is rewrite-then-restart.
Row declares the model card's pair: contextWindow: 1048576, maxTokens: 262144, input: [text, image], plus the October 2026 peak rate card in cost and the
built-in descriptor's compat block (supportsToolChoice: false, supportsDeveloperRole: false, reasoning_content, thinking: enabled, temperature 1.0 / top_p 1.0).
Docs: new omp-docs/core/deepseek-provider.md, listed in core/index.md,
entry in omp-docs/log.md. The WAN-door header comment no longer claims this
file's only off-network provider is the OpenWebUI door.
Verified: scripts/kb-lint.sh 0 violations; bats tests/ 137/137 ok; scratch-HOME omp models --no-extensions shows deepseek (4) with deepseek-flash 1M/262K
and zero validation failures; live omp --model 'deepseek/deepseek-flash:off' -p 'Reply with exactly the word OK' answers OK in 2.6 s, with a poisoned-port
control that hangs instead (proving the auth came from the new apiKey line).
Add DeepSeek's hosted API to `agent/models.yml` and register `deepseek-flash`.
- Provider label is the bare `deepseek`: `pi-catalog/src/hosts.ts` keys the
direct-DeepSeek behaviour set (`max_tokens` field, thinking `extraBody`,
thinking-disable mode) off that exact name and off `api.deepseek.com`, so the
house `<api> (<host>)` pattern would silently lose the endpoint's quirks.
- Key is command-backed (`!cat ~/.config/secrets/deepseek_api_key`, 600) — no
`sk-…` in the tracked tree; rotation is rewrite-then-restart.
- Row declares the model card's pair: `contextWindow: 1048576`, `maxTokens: 262144`,
`input: [text, image]`, plus the October 2026 peak rate card in `cost` and the
built-in descriptor's compat block (`supportsToolChoice: false`,
`supportsDeveloperRole: false`, `reasoning_content`, `thinking: enabled`,
`temperature 1.0` / `top_p 1.0`).
- Docs: new `omp-docs/core/deepseek-provider.md`, listed in `core/index.md`,
entry in `omp-docs/log.md`. The WAN-door header comment no longer claims this
file's only off-network provider is the OpenWebUI door.
Verified: `scripts/kb-lint.sh` 0 violations; `bats tests/` 137/137 ok; scratch-HOME
`omp models --no-extensions` shows `deepseek (4)` with `deepseek-flash 1M/262K`
and zero validation failures; live `omp --model 'deepseek/deepseek-flash:off'
-p 'Reply with exactly the word OK'` answers `OK` in 2.6 s, with a poisoned-port
control that hangs instead (proving the auth came from the new `apiKey` line).
Refs #83
---
cwd: /home/blank/.omp/wt/wt-20261029-142121-7c8a99d · session: ephemeral
Refs #83
The first vendor-cloud chat row in agent/models.yml. The provider label is the
bare word `deepseek` because pi-catalog/src/hosts.ts keys the direct-DeepSeek
behaviour set (max_tokens field, thinking extraBody, thinking-disable mode) off
that exact name and off api.deepseek.com; the house `<api> (<host>)` pattern
would not match and the row would lose the quirks the endpoint answers to.
The key is command-backed (`!cat ~/.config/secrets/deepseek_api_key`, 600), so
no sk-… value enters the tracked tree, and the row declares the model card's own
pair: contextWindow 1048576 / maxTokens 262144, input [text, image], with the
October 2026 peak rate card in cost. Docs move to the new
omp-docs/core/deepseek-provider.md, indexed and logged in the same commit.
dank
merged commit 3eb1ada55b into main2026-10-29 14:52:48 -07:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Add DeepSeek's hosted API to
agent/models.ymland registerdeepseek-flash.deepseek:pi-catalog/src/hosts.tskeys thedirect-DeepSeek behaviour set (
max_tokensfield, thinkingextraBody,thinking-disable mode) off that exact name and off
api.deepseek.com, so thehouse
<api> (<host>)pattern would silently lose the endpoint's quirks.!cat ~/.config/secrets/deepseek_api_key, 600) — nosk-…in the tracked tree; rotation is rewrite-then-restart.contextWindow: 1048576,maxTokens: 262144,input: [text, image], plus the October 2026 peak rate card incostand thebuilt-in descriptor's compat block (
supportsToolChoice: false,supportsDeveloperRole: false,reasoning_content,thinking: enabled,temperature 1.0/top_p 1.0).omp-docs/core/deepseek-provider.md, listed incore/index.md,entry in
omp-docs/log.md. The WAN-door header comment no longer claims thisfile's only off-network provider is the OpenWebUI door.
Verified:
scripts/kb-lint.sh0 violations;bats tests/137/137 ok; scratch-HOMEomp models --no-extensionsshowsdeepseek (4)withdeepseek-flash 1M/262Kand zero validation failures; live
omp --model 'deepseek/deepseek-flash:off' -p 'Reply with exactly the word OK'answersOKin 2.6 s, with a poisoned-portcontrol that hangs instead (proving the auth came from the new
apiKeyline).Refs #83
cwd: /home/blank/.omp/wt/wt-20261029-142121-7c8a99d · session: ephemeral