deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
sanshanya/better-model-provider
Per-model capability declaration for DeepSeek Harness: reasoning-effort levels (wire spellings) + request modalities (vision) for OpenAI-compatible providers. Settings section, zero runtime harness deps, no YAML.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:sanshanya/better-model-provider
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
Better custom-provider model onboarding for DeepSeek Harness (dsh), with per-model declaration of native vision input, reasoning-effort levels, and token capacities (context window / max output).
English | 中文

The official Models page manages providers and model rows, but two per-model capability fields stayed YAML-only: reasoningEfforts (which reasoning levels the model accepts, plus each level's wire spelling) and input (which request modalities the model admits). This page edits those two plus the per-model token capacities (contextWindow / maxTokens) — on the models you declare — so one row fully configures one model. Until the capability fields are declared:
Model ... does not accept image input), because a hand-declared model defaults to text-only.# From GitHub:
dsh plugin --profile web add github:sanshanya/better-model-provider
# Local checkout:
dsh plugin --profile web add link:<absolute path to this repo>
Restart dsh web, hard-refresh the browser, and the settings sidebar gains Model capabilities. Uninstall:
dsh plugin --profile web rm better-model-provider
image under input modalities; fill the context window / max output tokens when the provider default is wrong. Provider and model lifecycle stays on the official Models page.Small note: declaring { high } alone gives the picker only High; also check off (blank wire → null) if Off should be available.
See CONTRIBUTING.md for the gate list (build / test / coverage / lint / typecheck / verify:pack) and the two real-harness lanes; ci runs the hermetic gates per push and live runs nightly.
Verified against a DeepSeek Harness checkout at master commit 47f943859b (2026-08-13; the published contract line is 0.1.0-rc.6, whose real npm ancestry is rc.2 → rc.3 → rc.6 — there never was an rc.5). Minimum-known-good: the contract that commit serves — settings.describe/mutate, llm.providers, the { rpcId, result } envelope, and the model row schema. Internal-only surfaces (settings.section registration shape) are treated as experimental compatibility: a newer harness that doesn't serve them degrades silently instead of breaking the page.
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。