DeepSeek Harness 插件

lakabuji-arch/dsh-model-accordion

Star 数 ★ 1 下载量(近 30 天) 947 分类 UI 增强 收录于 2026-08-24 npm dsh-model-accordion

为 DSH Web 输入栏提供按 provider 折叠的模型选择器,并使用模型目录中的真实推理档位。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-model-accordion

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:lakabuji-arch/dsh-model-accordion

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

该插件的 README 只有英文版本。

Provider-folded model selector for the DeepSeek Harness Web composer.

What it does

  • Replaces the single composer model seat with a provider-folded selector.
  • Keeps provider groups collapsed by default and opens models on demand.
  • Reads reasoning-effort choices from each model's resolved catalog metadata, with a built-in official-effort table as a fallback. A single automatic rule applies: a model with configured/backend-declared efforts uses them, and an unconfigured model falls back to the built-in official table. A user who configured their own levels keeps them; no per-model effort configuration is needed for the official fallback to work.
  • Sends model and reasoning-effort selections through DSH's shared model-directory service; a picked effort the model does not genuinely support is dropped so the request uses the model's default instead of failing with UNSUPPORTED_REASONING_EFFORT.
  • Keeps the popup height-bounded with an internal scroll area and wraps effort controls below the model name.
  • Uses DSH semantic theme tokens for colors and supports light/dark theme changes.

Requirements

  • DeepSeek Harness Web 0.1.0-rc.8 or newer.
  • A Web profile with the official model-selection package and model-directory service.
  • React 18 supplied by the DSH Web runtime.

This is a Web UI plugin. It does not add a Host service, model provider, vision backend, or model catalog. Provider availability and image-session admission remain controlled by DSH and any installed provider/vision plugins.

Install from a package or repository

dsh plugin --profile web add dsh-model-accordion

For a local checkout during development:

dsh plugin --profile web add file:/absolute/path/to/dsh-model-accordion

Refresh the Web UI after installation. The package declares a dsh.bundle patch and a Web client entry, so it is installed and loaded as a persistent profile bundle rather than a temporary runtime extension.

Customizing reasoning effort for a model

DSH persists model/provider configuration in your main settings.yaml, and this plugin reads the same resolved model metadata the backend produces, so declared/backend effort configuration always wins over the built-in table. The effective priority is:

model's configured `reasoningEfforts`  >  provider-level default  >  built-in official table

To give a specific model — for one your relay exposes under a name this plugin's table does not know — your own effort ladder, declare it on that model in settings.yaml and the plugin uses exactly those levels:

providers:
  my-relay:
    api: openai-completions
    baseURL: https://…
    models:
      - id: my-unknown-model
        api: openai-completions
        contextWindow: 200000
        maxTokens: 32000
        input: [text]
        reasoningEfforts:
          off: null      # optional: lets the user turn thinking off
          low: low
          high: high
          max: max

The exact fields follow dsh-llm-pi-ai's model schema (see that package's docs); reasoningEfforts maps each offered level to its wire spelling, and you may set a provider-level default with the reasoning: key. Because this lives in your DSH settings file, an agent — or you — can edit it with the file tools and DSH reloads it on save; the browser never sees your API key or relay URL.

Behavior and limitations

The selector submits the exact provider, model, and reasoning effort returned by the DSH model directory (configured efforts first, built-in official table as fallback).

  • A picked reasoning effort that the model does not support is silently dropped so the request falls back to the model's default (no UNSUPPORTED_REASONING_EFFORT error). A relay/gateway model configured without an effort level keeps the model but does not force an unsupported level.
  • A selection can still be rejected by the DSH host when the session contains images and the selected model does not declare image input. That is a host/model-capability rule, not a UI override.
  • The model search box filters provider lists by name, id, or description while keeping the accordion grouping; a provider group auto-expands while a query is active.
  • The built-in official-effort table keys on the model's name/id and is cross-checked against the installed pi-ai catalog and each vendor's API docs. It covers only models whose vendors expose a real effort ladder: GPT-5.6 (full ladder incl. max), gpt-5.2+ (xhigh), gpt-5.1, gpt-5/mini/nano, o1/o3/o4, gpt-oss, Grok 4.x, GLM-5.3 (low/high/max) and GLM-5.2+ (xhigh/max), DeepSeek-V4 (low/high/max), DeepSeek-V4.1-Flash (deepseek-flash / deepseek-v4.1-*, low/high/max), Kimi K3, Qwen3.8, Gemini 3+ (low/high), Claude 4.6+ adaptive, Gemma 4. Families whose native control is not an effort ladder (Gemini 2.5 / Claude ≤4.5 token budgets, GLM ≤5.1 / Kimi K2 / MiniMax / Mistral thinking switches, Qwen open-source, DeepSeek ≤V3) are deliberately excluded. Unmatched models offer only the efforts their configured catalog declares — see "Customizing reasoning effort for a model" to add your own.
  • The plugin uses English status and search text; full locale integration is planned for a later release.

Development checks

node --check lib/client.js
node --check lib/index.js
npm pack --dry-run --ignore-scripts

License

MIT

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。