DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Llm Capabilities — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-llm-capabilities

Llm Capabilities

DSH 插件:为 llm-pi-ai 自动检测并配置模型能力(reasoningEfforts + 输入模态)。dsh-reasoning-efforts 的后继者。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-llm-capabilities@0.1.4
README兼容性版本

兼容性与来源证明

Llm Capabilities 以 dsh-llm-capabilities 发布,当前版本为 0.1.4。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/9/20

版本

0.1.4stable
2026/9/17
0.1.3stable
2026/9/6
0.1.2stable
2026/9/4
查看其余 2 个版本收起版本
0.1.1stable
2026/8/26
0.1.0stable
2026/8/26

相关插件

正在加载相关插件…

最新版
0.1.4
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
89 kB
文件数
11
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 1
周下载
154
安全扫描
✓ v0.1.4 扫描通过
最近提交
2026/9/17
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

README

dsh-llm-capabilities

DSH plugin: auto-detect and configure model capabilities (reasoningEfforts + input modalities) for llm-pi-ai. Successor to dsh-reasoning-efforts — one panel patches the two fields the official llm-pi-ai UI leaves unconfigurable for self-hosted gateways.

English | 简体中文

Why

The official llm-pi-ai settings page for a custom provider only lets you edit contextWindow. Two capabilities that actually matter for routing stay hidden:

  1. Thinking levels (reasoningEfforts) — which off/minimal/low/medium/high/xhigh/max the model accepts, and the wire spelling (max: ultra) each level maps to. Without this the intensity slider says “this model provides no selectable thinking levels”.
  2. Vision (input: ["text","image"]) — whether the model accepts images. Without this a gateway model that does do vision is still ["text"] locally, so every image attachment is rejected pre-flight with UNSUPPORTED_CONTENT before it ever reaches the endpoint.

Both are per-model fields on providers.<route>.models[] that pi-ai already understands. This plugin just makes them editable and auto-detectable.

If you came from dsh-reasoning-efforts: keep it, it still works. dsh-llm-capabilities serves both endpoints (/model-capabilities/raw-models and legacy /thinking-levels/raw-models) so old clients keep working. New installs should use this package.

What it does

  • One settings page Settings → Model Capabilities
  • Auto-detect from endpoint: fetches GET {baseURL}/models server-side (credential resolved host-side, no key leak), parses:
    • supported_features: ["reasoning"], supported_parameters, supports_reasoning, reasoning_effort … → reasoning
    • modalities / input_modalities / supported_modalities / supports_vision / capabilities: ["vision"] … → vision
    • context_length, max_output_tokens … → capacities
  • Catalog-aware: merges llm.models() (pi-ai's own knowledge) as a complementary source — the endpoint wins for yes/no, the catalog refines the level set and stands in when the endpoint says nothing.
  • New models: endpoint lists a model you haven't configured yet → it shows up with a not configured badge, applying will add it.
  • Three-state vision: inherit (omit input, use catalog/default) / image ✓ (["text","image"]) / text-only (["text"])
  • Safe writes: settings.mutate with expectedRevision, deep-cloned models array, no other provider fields are touched.

Install

# published
dsh plugin --profile web add dsh-llm-capabilities

# local dev
dsh plugin --profile web add link:D:\AllCode\dsh\dsh-llm-capabilities

Requires DHS >= 0.1.1-rc.2, node >= 22.13.

Usage

  1. Add your provider in Settings → Models as usual (route, baseURL, apiKeyEnv).
  2. Open Settings → Model Capabilities, pick the provider.
  3. Click Detect from endpoint (or Pre-fill from catalog for catalog models).
  4. Toggle per model:
    • Offer thinking levels → pick off/low/medium/high/xhigh/max, edit wire spellings inline
    • Vision: inherit / image ✓ / text-only
  5. Apply to settings → writes to llm-pi-ai (providers.<route>.models). Intensity slider and image admission update immediately.

Go session header (x-opencode-session)

OpenCode Go requires third-party agents to send a stable x-opencode-session header for prompt-cache affinity (docs). The host half wraps globalThis.fetch and sets it on requests whose URL contains opencode.ai/zen/go (covers ocg-c / ocg-r / ocg-a). All other requests pass through untouched.

  • Conversation keying (default): ses_ + 32 hex derived from the dsh conversation id (sha256), so the same chat keeps the same OpenCode session across restarts. Title calls use an isolated namespace; compaction rides the conversation's namespace because it replays history (reasoning encrypted_content is bound to the account that issued it).
  • Encrypted-reasoning self-heal: if the gateway still answers 400 … reasoning 'encrypted_content' was not issued to this caller (session→account affinity lost on the gateway side), the wrapper retries once with the replayed encrypted reasoning items stripped instead of failing the turn. Opt out with sessionHeaders.encryptedContentRetry: false.
  • Never touched: user-agent (stays deepseek-harness/... — Go requires honest identification) and authorization.
  • Disable without uninstalling (profile cordis.patch.yml):
- insert:
    - id: model-capabilities
      name: dsh-llm-capabilities
      config:
        sessionHeaders:
          enabled: false

Configuration shape written

llm-pi-ai:
  providers:
    my-gateway:
      baseURL: https://gateway.example/v1
      api: openai-completions
      models:
        - id: gpt-4o
          input: [text, image]          # vision
          reasoningEfforts:              # thinking
            off: null
            low: low
            medium: medium
            high: high
        - id: text-only-model
          input: [text]
          reasoningEfforts: false        # explicitly no reasoning

How detection works

llm.discoverModels is intentionally narrowed host-side to id/name/contextWindow/maxTokens. This plugin adds a host route that returns the raw listing:

GET /model-capabilities/raw-models?route=<route>

It reads baseURL/apiKeyEnv from your own llm-pi-ai settings, resolves the credential via ctx.credentials, fetches {baseURL}/models, and returns {ok, data} without ever echoing the secret. Only routes you already configured are reachable (browser trust fence: rejects cross-site, checks Origin/Host).

Development

pnpm install
pnpm run typecheck
pnpm run build
pnpm run dev   # watch

The web bundle is a window.__ModuleLoader__.load({id, factory}) closure — not ESM — so keep client imports to platform modules (react, @deepseek-ai/dsh-client-*) only.

Relation to dsh-reasoning-efforts

dsh-reasoning-effortsdsh-llm-capabilities (this)
reasoning auto-detect✅✅ (ported, strict TS)
vision auto-detect❌✅
input write❌✅
host route/thinking-levels/raw-models/model-capabilities/raw-models + legacy compat

Migrate when ready — both can coexist during the transition.

License

MIT © hank reed (bamboostrip)

相关插件

继续浏览 models-usage 分类下经过校验的插件。

Usage@linxin666/dsh-usagedsh Web GUI 的使用统计插件:检测各提供商余额和编码计划配额,并提供实时令牌使用记录,以及当前提供商的专属宠物气泡Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Usage Stats@ychris12138/dsh-usage-statsdsh Web GUI 的令牌使用热力图、提供商余额和订阅配额Codex Connectdsh-codex-connect用于 DeepSeek Harness 的 ChatGPT OAuth 和 Codex 模型。