DeepSeek Harness plugin

dsh-llm-volcengine

Volcengine Ark Agent Plan & Coding Plan providers for DeepSeek Harness (DSH), with verified thinking-effort compatibility

Jump to install

Source facts

Repository
Badakonpro/dsh-llm-volcengine
Latest update
Aug 16, 2026
Category
Workflow & Automation
GitHub stars
2
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/Badakonpro/dsh-llm-volcengine
Plugin: dsh-llm-volcengine
Author: Badakonpro

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-llm-volcengine

![npm version](https://www.npmjs.com/package/dsh-llm-volcengine) ![MIT License](LICENSE)

Volcengine Ark Agent Plan and Coding Plan providers for DeepSeek Harness (DSH), with verified thinking-effort compatibility.

A DSH profile bundle that registers two LLM provider routes through a self-contained pi-ai-backed LlmAdapter, so model catalogs and compatibility switches reach pi-ai without depending on the dsh-llm-pi-ai settings compat schema. Thinking levels low / medium / high / xhigh / max are exposed where the endpoint honors them.

Why

A hand-declared Volcengine Ark route in settings.yaml runs into several gotchas that this bundle resolves once and for all:

GotchaWhat breaksThis bundle
Agent Plan must be reached over openai-responses at /api/plan/v3The Anthropic-style /api/plan path does not expose a thinking-effort controlUses the community-verified Responses path; reasoning.effort maps natively
Coding Plan gateway rejects the OpenAI developer role (HTTP 400)Every request with a system prompt fails once reasoning is enabledcompat.supportsDeveloperRole: false on every Coding Plan model
Coding Plan gateway rejects store and needs max_tokens (not max_completion_tokens)Mis-shaped requests are 400'dcompat.supportsStore: false, maxTokensField: "max_tokens"
Per-model maxTokens differs (DeepSeek 384000, GLM 128000, Kimi 32000, …)A single cap breaks some models or underuses othersEach model carries its verified cap
The gateway's OutofContextError wording is not in pi-ai's overflow detectionLong conversations crash instead of auto-compacting(downstream — see release notes)

Install

From the root of a DSH profile (e.g. ~/.dsh/profiles/web):

dsh plugin --profile web add dsh-llm-volcengine

Then restart DSH (or reload the profile) so the new bundle layer is composed. The two providers appear in the model selectors as:

  • volcengine-plan/<model>
  • volcengine-coding/<model>

Credentials

The bundle resolves an API key by trying each candidate credential reference (left to right) through the DSH credential service, then Ambient environment:

RouteTried order (default)
volcengine-planARK_AGENT_PLAN_API_KEY, VOLCENGINE_ARK_PLAN_API_KEY, ARK_CODE_API_KEY
volcengine-codingARK_CODING_PLAN_API_KEY, VOLCENGINE_CODING_API_KEY, HUOSHAN_API_KEY

Store a key through the web Models page (it writes the DSH credential store) or export the env var. If you already have ARK_CODE_API_KEY / HUOSHAN_API_KEY configured, the bundles pick them up as fallbacks.

Override the first tried reference per route through the bundle config in cordis.patch.yml:

- id: llm-volcengine
  name: dsh-llm-volcengine
  config:
    agentPlanApiKeyEnv: ARK_AGENT_PLAN_API_KEY
    codingPlanApiKeyEnv: ARK_CODING_PLAN_API_KEY
    defaultReasoning: high

defaultReasoning is one of off | minimal | low | medium | high | xhigh | max (default: high).

Provider routes

volcengine-plan — Volcengine Ark Agent Plan

  • Endpoint: https://ark.cn-beijing.volces.com/api/plan/v3
  • Protocol: openai-responses for most models; openai-completions for Kimi K2.6 / K2.7 Code (mixed-api provider)
  • reasoning.effort maps to the selected thinking level
Model IDContextMax tokensInputThinking tiers
deepseek-v4-pro1.0M384000textlow·medium·high·xhigh·max
deepseek-v4-flash1.0M384000textlow·medium·high·xhigh·max
glm-5.21.0M128000textlow·medium·high·xhigh·max
glm-5.31.0M128000textlow·medium·high·xhigh·max
kimi-k31.0M128000text, imagelow·high·max
minimax-m2.7200k128000textlow·medium·high·xhigh·max
minimax-m3512k128000text, imagelow·medium·high·xhigh·max
doubao-seed-2.0-mini256k128000text, imagelow·medium·high·xhigh·max
doubao-seed-2.0-lite256k128000text, imagelow·medium·high·xhigh·max
doubao-seed-2.0-code256k128000text, imagelow·medium·high·xhigh·max
doubao-seed-2.0-pro256k128000text, imagelow·medium·high·xhigh·max
kimi-k2.6256k32000text, imageoff·high
kimi-k2.7-code256k32000text, imagehigh

volcengine-coding — Volcengine Ark Coding Plan

  • Endpoint: https://ark.cn-beijing.volces.com/api/coding/v3
  • Protocol: openai-completions with supportsDeveloperRole: false, supportsStore: false, supportsStrictMode: false, maxTokensField: "max_tokens"
  • DeepSeek/GLM accept reasoning_effort; Kimi uses the qwen enable_thinking toggle; MiniMax/Doubao-seed-code expose no thinking control (reasoning is auto-captured)
Model IDContextMax tokensInputThinking tiers
deepseek-v4-pro1.0M384000textlow·medium·high·xhigh·max
deepseek-v4-flash1.0M384000textlow·medium·high·xhigh·max
glm-5.21.0M128000textlow·medium·high·xhigh·max
glm-5.31.0M128000textlow·medium·high·xhigh·max
kimi-k2.6256k32000text, imageoff·high
kimi-k2.7-code256k32000text, imagehigh
minimax-m2.7200k128000text
minimax-m3512k128000text, image
doubao-seed-code256k32000text, image
doubao-seed-2.0-code256k65536text, imagelow·medium·high·xhigh·max
doubao-seed-2.0-pro256k128000text, imagelow·medium·high·xhigh·max
doubao-seed-2.0-lite256k128000text, imagelow·medium·high·xhigh·max

How it works

The bundle inserts a single plugin row (id: llm-volcengine). On apply it:

1. Builds two pi-ai Provider objects directly with createProvider, passing the full compat block on each Model. Because the models are constructed in code (not through dsh-llm-pi-ai settings resolution), the compat fields the Coding Plan gateway requires reach pi-ai regardless of the installed dsh-llm-pi-ai compat schema. 2. Wraps them in the exported PiAiAdapter from @deepseek-ai/dsh-llm-pi-ai, which already implements the harness LlmAdapter contract (stream/resolveModel/listModels) and thinking-level clamping against each model's thinkingLevelMap. 3. Registers the adapter for both routes with ctx.llm.registerAdapter, so the providers join the model selectors and request routing like any built-in route.

Agent Plan models share a mixed-api provider (one createProvider with an api map) so Kimi K2.6/K2.7 Code dispatch to openai-completions while the rest use openai-responses.

Acknowledgements

Model catalogs, max output tokens, and compatibility switches are sourced from the community-verified Volcengine Ark provider extensions for pi:

This bundle adapts those compat findings to the DeepSeek Harness LLM seam.

License

MIT