xxccdl/deepseek-harness-desktop--plugins-deepseek-ai-dsh-llm-deepseek ↗★ 3
@deepseek-ai/dsh-llm-deepseek
DeepSeek chat-completions adapter for the DeepSeek Harness LLM seam 适合使用 DeepSeek 官方 API 的用户;需配置 apiKeyEnv,路由用 provider: deepseek-official。
インストール
検証済み bundle がないか、互換性チェックに失敗しています。先にリポジトリの説明を読んでください。 README 全文を読む ↗
ドキュメント
README 全文を読む ↗Minimal configuration
- name: '@deepseek-ai/dsh-llm-deepseek'
config:
apiKeyEnv: DEEPSEEK_API_KEY # credential reference, resolved per request
baseURL: https://api.deepseek.com # optional; $DEEPSEEK_BASE_URL then this default
reasoningEffort: high # optional; off | low | high | max
maxTokens: 256000 # optional per-request output cap
maxRequestFilesBytes: 134217728
maxInlineRequestImageBytes: 20971520
maxImagesPerRequest: 600
filesApiTimeoutMs: 60000
A request selects the route with provider: deepseek-official; the model id passes through to the wire, so new DeepSeek models need no re-registration. Omitted models advertises the text- and image-capable deepseek-flash and deepseek-v4-flash-vision-exp alongside the text-only deepseek-v4-flash and deepseek-v4-pro, each with a 1,000,000-token context window. An explicit list replaces those defaults, and unlisted model ids still pass through as text-only routes. Clients, including model discovery tools, can read the advisory entries through ctx.llm.listModels('deepseek-official'). Image-capable entries may set imagePixelBudget to a positive integer or low, and may set imageMaxBytes. An entry may declare systemPromptUpdate: in-history when its endpoint reads the latest system message at any position of messages as the complete effective system prompt; the adapter reports the mode on the resolved model and the prepared call, and the agent loop then appends a changed prompt after the cached history instead of rewriting the leading system message (decision rule). The default deepseek-flash entry declares this mode; other models require an explicit models declaration, and any value other than in-history fails at load with llm-deepseek: catalog model "" systemPromptUpdate must be "in-history" when present.
| Field | Default | Meaning |
|---|---|---|
apiKeyEnv | DEEPSEEK_API_KEY | Credential reference resolved per request through the credentials seam, then the environment |
baseURL | https://api.deepseek.com | Endpoint base; $DEEPSEEK_BASE_URL wins when set |
thinking | enabled | Deployment policy; disabled locks every request to off |
reasoningEffort | high | Default effort: off, low, high, or max |
maxTokens | 256,000 | Per-request output cap; a model's own cap and explicit request values win |
defaultContextWindow | 1,000,000 | Capacity fallback for models without an exact value |
models | V41 Flash + V4 Flash + V4 Pro + V4 Flash Vision Exp | Advisory catalog shown by discovery consumers |
streamIdleTimeoutMs | 300,000 | Maximum provider idle time per outstanding stream read |
maxRequestFilesBytes | 128 MiB | High watermark for retained request-image bytes before oldest-first offload |
maxInlineRequestImageBytes | 20 MiB | Independent base64 fallback high watermark |
maxImagesPerRequest | 600 | High watermark for retained request-image count |
imageOffloadByteQuantum | 64 MiB | Files-mode oldest-prefix removal quantum |
inlineImageOffloadByteQuantum | 10 MiB | Inline-mode oldest-prefix removal quantum |
imageOffloadCountQuantum | 20 | Count-overflow removal quantum |
filesApiTimeoutMs | 60,000 | Per-image Files resolution deadline |
fileExpiresAfterSeconds | 604,800 | Requested uploaded-image lifetime |
fileRefreshMarginSeconds | 3,600 | Remaining lifetime below which an id is replaced |
fileQuotaCleanupBatch | 100 | Oldest harness-owned files removed before one quota retry |
retryPolicy | normal, 5 retries | Provider-owned retry policy executed by dsh-llm-retry |
The generated configuration catalog is the exhaustive source for every accepted field and its JSDoc.
Dynamic configuration
Connection facts are re-read once per operation through the optional settings and credentials seams. A llm-deepseek: section in the user settings document overrides any field without a restart; a snapshot that fails a beyond-schema bound keeps the last good facts and logs the failure. The API key resolves per stream call from the same snapshot that supplies the endpoint, image and Files policies, and idle budget, so a rejected settings generation contributes none of them. Image requests resolve the attachment service at request time, so load order does not freeze image availability.