dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
智谱 BigModel GLM 双端点模型目录(Coding Plan 与普通 API),支持实时模型发现与实测校准的思考档位映射,提供凭据、端点与默认推理档的可视化设置卡片。
English | 简体中文
A DeepSeek Harness plugin that registers the Zhipu BigModel GLM family as a model-provider route — covering both BigModel endpoints with one served at a time: the Coding Plan endpoint (zai) or the ordinary OpenAPI endpoint (zhipu), with live model discovery, a locally-holdable API key, and a Web settings card.
image_url parts in messages[].content[], URL or Base64); pi-ai's Model["input"] type only knows text/image today, so image input ships first and video/file input stays pending until the type grows those modes, while every other maintained model remains text-only.low/medium/high → high, xhigh/max → max) and never wires thinking: disabled (the API refuses it with error 1210)./models is polled at startup and after every settings/credential change; models the endpoint stopped serving drop out, while directly-verified models survive endpoint lag.ZHIPU_TOOLKIT_API_KEY, never in settings.yaml); a saved key shows as a masked summary (last characters only) with icon actions to edit-in-place or clear, and the env-reference path stays as fallback.settings.plugin.item slot keyed by the settings namespace, alongside the other configurable plugins) and edits the endpoint, credential refs, display name, default reasoning tier, and the local API key through the official ctx.remote.settings / ctx.remote.credentials Remote surface; configuration is hot-reloadable (no restart).dsh plugin --profile web add dsh-zhipu-toolkit
Or install from a packed tarball during development:
npm pack
dsh plugin --profile web add ./dsh-zhipu-toolkit-<version>.tgz
Restart dsh web after installing (client bundles and the host plugin tree are assembled at startup).
The plugin owns the zhipu-toolkit settings namespace. Layered like every DSH settings namespace: the composition entry (below) is the base layer, and user edits — from the Web settings card or ~/.dsh/settings.yaml — override it. Committed writes re-resolve the routes without a restart.
# ~/.dsh/settings.yaml
zhipu-toolkit:
endpoints: coding # coding | paas (one billing channel at a time)
codingApiKeyEnv: BIGMODEL_API_KEY
paasApiKeyEnv: ZHIPU_API_KEY
displayName: BigModel
defaultReasoningTier: low # low | medium | high | xhigh | max
useLocalApiKey: false # true = hold the key on the settings card
| Field | Default | Notes |
|---|---|---|
endpoints | coding | Which billing channel to serve (see Endpoints below). |
codingApiKeyEnv | BIGMODEL_API_KEY | Credential reference for the Coding Plan route. |
paasApiKeyEnv | ZHIPU_API_KEY | Credential reference for the ordinary route. |
displayName | BigModel | Provider label shown in model selectors. |
defaultReasoningTier | low | Tier wired for requests that name no effort. |
useLocalApiKey | false | Hold the API key locally (credentials store) instead of an env ref. |
codingBaseURL | https://open.bigmodel.cn/api/coding/paas/v4 | Override for proxies/gateways. |
paasBaseURL | https://open.bigmodel.cn/api/paas/v4 | Override for proxies/gateways. |
streamIdleTimeoutMs | 300000 | Max provider idle time per stream read. |
maxRequestImageBytes | 20971520 | Base64 image payload bound per request. |
requestImagePixelBudget | 4194304 | Total-pixel budget per inline image version. |
requestImageMaxBytes | 1048576 | Encoded-byte cap per inline image version. |
Two ways to provide the API key:
BIGMODEL_API_KEY / ZHIPU_API_KEY, or whichever you configured) through the credentials service: dsh credentials set BIGMODEL_API_KEY.useLocalApiKey on and paste the key into the card's password field. It is stored in the dsh credentials store as ZHIPU_TOOLKIT_API_KEY (never in settings.yaml), takes effect immediately, and falls back to the env reference if unset. A saved key displays as a masked summary (e.g. ••••••••abcd); the edit icon re-opens the input so a new value overwrites the saved one on blur/Enter (an empty edit leaves it untouched), and the clear icon removes it.The two endpoints expose identical model lists and parameter behavior (verified live 2026-09-06: both /models return the same 10 chat models; thinking/reasoning_effort: max behave identically). The difference is billing:
| Route id | Endpoint | Billing |
|---|---|---|
zai | https://open.bigmodel.cn/api/coding/paas/v4 | Coding Plan: subscription quota (Lite/Pro/Max), 5-hour + weekly dual limits that reset with the window and never touch the balance; 50% discount off-peak; scoped to official coding tools. |
zhipu | https://open.bigmodel.cn/api/paas/v4 | Ordinary API: per-token billing (resource packs / balance), no scene restriction. |
A deployment picks the one its account is billed on; the plugin serves that single route.
GLM-5.3-series models cannot turn thinking off — the API rejects thinking: disabled with error 1210. The plugin therefore:
off (and minimal) from the picker for GLM-5.3 / GLM-5.3-Flash;low/medium/high onto the high wire tier and xhigh/max onto max;low) so effort-undefined requests stay valid.All other maintained models keep pi-ai's builtin tier maps. The full offered picker set is low | medium | high | xhigh | max.
no API key for provider route ... — no key is stored on any path. Store the env reference (dsh credentials set <ENV>), or switch useLocalApiKey on and paste the key on the card./models reports. Directly-verified models (glm-5.3, glm-5.3-flash) survive endpoint lag; everything else must be reported by the endpoint. Check the plugin logs for live refresh failed; keeping the maintained catalog.请使用 low、high 或 max) — a request tried to disable thinking on a GLM-5.3-series model. Keep the default reasoning tier at low or above; do not select off.dsh web was restarted after install, and that the plugin loaded (dsh plugin list).d8189e3), verified live against both BigModel endpoints on 2026-09-06 — including reasoning_effort: max and max_tokens: 131072 round-trips with SSE reasoning_content.