my-dsh-plugin/thinking-level-override2

dsh-thinking-level-override

DeepSeek Harness plugin that autonomously overrides and adjusts third-party model thinking levels, fixing missing or mismatched built-in presets

AI 분석

核心用途是解决第三方模型在 DSH 中思考层级(reasoning effort)不兼容或缺失的问题。适合使用非官方模型且需要精细控制思考深度的用户。

패키지
dsh-thinking-level-override
버전
0.1.0
라이선스
Apache-2.0
최근 업데이트
2026. 8. 15.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:my-dsh-plugin/thinking-level-override

Configuration

FieldMeaningDefault
enableMappingsMaster switch for the per-model wire-spelling editor on the Web settings pagefalse
onUnsupportedWhat to do with an effort the exact model cannot serve: fail with stock harness behavior (the default — models ship their own compat layer), clamp to the nearest offered level, or drop it from the requestfail
rulesOverride rules in precedence order[]

Each rule:

FieldMeaning
providerExact provider route the rule governs (required)
modelsModel-id globs (* wildcard); absent or empty governs every model on the route
effortForce this level on every matched request, replacing any selection
defaultLevel applied when a matched request names none
mapRewrite requested levels before capability validation (requested: replacement)
onUnsupportedPer-rule policy override

A rule must declare at least one of effort, default, map, or onUnsupported; an actionless rule fails plugin load.

Example configurations

Force one level for a model family whose preset misreports support:

thinking-level-override:
  rules:
    - provider: openrouter
      models: ['kimi-k2*']
      effort: high

Rewrite the levels a gateway vocabulary does not accept, and default new conversations to medium:

thinking-level-override:
  rules:
    - provider: acme-gateway
      map:
        max: high
        xhigh: high
      default: medium

Never let an inherited effort break one route's requests:

thinking-level-override:
  rules:
    - provider: legacy-gw
      onUnsupported: drop

Example configurations

Force one level for a model family whose preset misreports support:

thinking-level-override:
  rules:
    - provider: openrouter
      models: ['kimi-k2*']
      effort: high

Rewrite the levels a gateway vocabulary does not accept, and default new conversations to medium:

thinking-level-override:
  rules:
    - provider: acme-gateway
      map:
        max: high
        xhigh: high
      default: medium

Never let an inherited effort break one route's requests:

thinking-level-override:
  rules:
    - provider: legacy-gw
      onUnsupported: drop

Dynamic configuration (settings)

The plugin registers the thinking-level-override settings namespace with its Config schema and the cordis.yml entry as the composition base — the same seam dsh-llm-pi-ai uses. A user-settings layer therefore edits the rules live, with no restart: write the section into settings.yaml (the settings document the Web UI edits) and the next request picks it up.

thinking-level-override:
  onUnsupported: clamp
  rules:
    - provider: qwen-token-plan-cn
      models: ['qwen3.8-max-preview']
      effort: xhigh

A write the schema or the rule validation refuses is rejected where it is written and the last good section keeps serving. Without a mounted settings service the entry config alone drives the plugin, unchanged.