返回插件市场

dsh-switch

模型与数据

dongsheng123132/dsh-switch

DeepSeek Harness 的模型控制平面。提供工具检查已注册的提供商路由、验证特定提供商/模型,并为新会话设置默认模型。附带 CLI 探测 OpenAI 兼容端点的健康与延迟。

  • 2origin
  • ai-agent
  • deepseek-harness
  • dsh
  • dsh-plugin
  • model-routing
  • provider-health
GitHub Stars
2GitHub
浏览量
5DSH Plugin Hub
Forks
0GitHub
开放问题
0GitHub Issues
Manifest 版本
0.1.0dsh-switch
最近推送
2026年10月5日GitHub
许可证
MITJavaScript
插件类型
Host运行于 DSH Host

验证与兼容性

这里展示目录实际采集到的证据;未声明的信息会明确标为未知。

静态检查通过
01精确来源: github · dsh-switch@0.1.002验证时间: 2026年8月24日03验证版本: 0.1.0-rc.7
当前版本兼容性
已在当前目录版本验证
声明的 Harness 范围
未声明
声明的平台
未声明
适用 Profile
web
构建授权
未知
权限声明
未声明
外部服务
未声明
遥测声明
未知
未发现已知风险标记

这不是安全背书;安装前仍应查看源码、权限和配置。

查看证据与判定范围

验证仅覆盖标出的来源、版本和 Harness 环境,不代表未来版本仍然兼容。

  • github:dongsheng123132/dsh-switch#b37a63cae2654044942a5dd44b6f2bc8591f5ec6
  • 插件通过清单与静态结构检查,尚未完成运行时加载检查。

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

评论

0
最新优先