편집자 노트

DSH 模型切换

Evidence-first model control plane for DeepSeek Harness.

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

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

dsh-switch

CI MIT license Node.js 22+ Awesome DSH Plugins

Evidence-first model control plane for DeepSeek Harness.

中文

dsh-switch does two deliberately separate jobs:

  1. The DSH bundle exposes model-facing tools that inspect registered provider routes, validate an exact provider/model through the official ctx.llm seam, and save the default for new sessions through ctx.agentDefaultModel.
  2. The standalone CLI probes OpenAI-compatible /models endpoints and reports reachability, HTTP status, latency, model count, and whether a credential environment variable is configured.

It does not intercept model requests, implement another OpenAI adapter, or silently reroute an active session. Projects such as dsh-polyglot and dsh-llm-fallbacks own adapter/fallback behavior; this project is the observable control plane around routes DSH already knows.

Install the DSH bundle

Pin a reviewed commit when installing from GitHub:

dsh plugin --profile web add github:dongsheng123132/dsh-switch#<commit>
dsh --profile web --dump-config

The bundle ships JavaScript and has no install/build lifecycle script.

Tools

dsh_switch_status({ includeModels? })

  • shows the default selection used by newly created sessions;
  • lists registered provider routes;
  • optionally asks each adapter for its advertised models;
  • performs no provider network health request itself.

dsh_switch_default({ provider, model, reasoningEffort?, expectedProvider?, expectedModel? })

  • validates the exact route with ctx.llm.resolveModelInfo();
  • rejects an unsupported reasoning effort;
  • supports an optimistic-concurrency expectation pair;
  • saves through ctx.agentDefaultModel.saveSelection();
  • reads the value back and fails if the write is not observable;
  • affects new sessions only. Existing sessions keep the route recorded in their logs.

Probe provider endpoints

Copy providers.example.json to a private local file such as providers.json. Reference secrets by environment-variable name—never place keys in JSON.

node bin/dsh-switch.mjs validate --config providers.json
node bin/dsh-switch.mjs check --config providers.json
node bin/dsh-switch.mjs best --config providers.json

JSON output:

node bin/dsh-switch.mjs check --config providers.json --json

Example output:

✓ deepseek-official          83.4 ms  HTTP 200, 2 models  credential:configured
✗ local-vllm                 1.2 ms  network-error  credential:not-required

The probe sends GET <baseURL><modelsPath>. It does not send a chat completion and therefore does not consume inference tokens. A successful /models response proves endpoint reachability, not end-to-end generation correctness.

Security and evidence boundaries

  • apiKey fields and credentials embedded in URLs are rejected.
  • Output contains only configured, missing, or not-required; secret values never enter results.
  • A 401/403 endpoint is reachable but not healthy.
  • DSH tool switching validates registered adapter metadata, not live provider I/O.
  • No automatic fallback or cost-based routing is enabled in v0.1.

Development

npm test
npm run check

The plugin smoke test requires the official DSH runtime packages to be resolvable:

npm run smoke:plugin

License

MIT © 2026 hfshfg

REPOSITORY SIGNALS

보안 및 설치 증거

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

출처 추적 가능

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

라이선스

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

유지보수 활동

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

설치 증거

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

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

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