편집자 노트

更好的模型 Provider

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).

이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.

업스트림에서 중국어 README를 제공하지 않아 저장소 원본 내용을 표시합니다.

better-model-provider

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 | 中文

Editing one model row with the plugin

Why you may need it

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:

  • the composer's model picker shows no reasoning-effort control for your model;
  • image sessions refuse to switch to it (Model ... does not accept image input), because a hand-declared model defaults to text-only.

Install

# 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

Use

  1. Configure the provider on the official Models page first (that's where the API key lives; this page never touches credentials).
  2. Open Settings → Model capabilities.
  3. Expand a model row: pick Custom under reasoning effort and check the levels; for vision models check 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.
  4. Apply. The picker immediately offers exactly the declared levels, and the host's image admission admits the model.

Small note: declaring { high } alone gives the picker only High; also check off (blank wire → null) if Off should be available.

Development

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.

Compatibility

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.

License

MIT

REPOSITORY SIGNALS

보안 및 설치 증거

이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.

출처 추적 가능

공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.

라이선스

저장소가 MIT 라이선스를 선언했습니다.

유지보수 활동

최근 180일 내 코드 업데이트가 있습니다.

설치 증거

재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.

설치 라이프사이클 스크립트

검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.