DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-framework-doctor

Framework Doctor

通过探测模型提供商的端点来配置它们,检查 DeepSeek Harness 的运行状况,并修复可以修复的问题——全部在独立设置页面中完成。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:lj100886/dsh-framework-doctor#a0d5fc965f4b1b06d07002dd03416cc8d060f86e
README兼容性版本

兼容性与来源证明

Framework Doctor 以 dsh-framework-doctor 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/19

版本

0.1.0stable
2026/10/19

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/19
查看源码 ↗
README Badge

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Connect Traedsh-connect-trae把本机登录的 Trae 模型接入 DeepSeek Harness:国内版与国际版双供应商并行,提供用量/积分概览与每日签到领取。Deepseek Web Logindsh-deepseek-web-login非官方 DSH 插件:将 chat.deepseek.com 网页模型用作 DSH LLM 提供商(浏览器登录捕获 + PoW 求解 + SSE 流式传输 + 基于提示的工具调用),提供商路由为 deepseek-webDamage Pulsedsh-damage-pulseDeepSeek Harness 余额监控器,配有鲸鱼女孩伙伴,并为每次令牌消耗提供感知缓存的伤害动画。Chatgpt Subscription@eddyskywalker/dsh-chatgpt-subscription通过 ChatGPT 订阅访问 Codex 的 DSH 提供商插件。

README

Framework Doctor icon

dsh-framework-doctor

English | 中文

A DeepSeek Harness plugin that configures model providers by probing their endpoint, checks framework health, and repairs what can be fixed — from a standalone settings page. Nothing runs in the background.

What it does

The plugin adds one page: Settings → Framework doctor. It has four sections.

1. Connect a model

Paste an endpoint URL and an API key, press Probe, and the plugin asks {baseURL}/models for the model list, then derives each model's capabilities:

Derived fieldSource
Input modalities (text / image)endpoint metadata, then the model-family table
Context window, max output tokensendpoint metadata, then the family table
Reasoning effortsthe family table (or false for a non-reasoning model)
compat.thinkingFormatthe family table (deepseek, qwen-chat-template, zai, openrouter, openai)

Anything the endpoint does not state and the family table cannot infer is left empty rather than guessed — a wrong reasoning-effort map makes the whole provider fail its request. Each row shows whether its values were declared by the endpoint or inferred, so you can tell the two apart before writing.

Already-configured providers can be re-probed and filled in the same way: pick one from the dropdown and the form is populated (the stored credential is reused, so you do not retype the key). Writing in that mode merges — models you hand-wrote are kept, newly advertised models are appended, and capability fields are filled in from the endpoint.

API keys are stored through the harness credential service; the config keeps only an apiKeyEnv reference, never the key itself.

2. Framework checkup

23 checks run against the live configuration and runtime state: 18 against the llm-pi-ai provider config, 5 against runtime facts (plugin load phase, registered providers, the default model).

They cover the failures that actually happen: a hand-written provider with no baseURL, a credential reference that resolves to nothing, a plaintext key left in headers, a reasoning model with no effort map, a non-reasoning model carrying one (a 400 on every request), duplicate model ids, a default model pointing at a provider that does not exist, and so on.

Providers registered by other plugins are reported as external-provider (info) rather than as missing configuration — a provider is considered real when it is registered with the model service, not only when it appears in this config.

3. Talk to the doctor

A chat box. You describe what you want; the assistant looks up the real state before answering. It can request framework data on demand through six read-only tools:

ToolWhat it returns
stateProvider list with baseURL, protocol, credential state, and per-model modalities / context / output cap / reasoning efforts; the default model; registered routes
diagnoseThe full checkup result with severities
pluginsPlugin rows: package, enabled flag, load phase
toolsThe tools this agent can currently call
providerOne provider's full config (keys redacted)
probeLive endpoint interrogation

The assistant writes TOOL: {"name":"...","args":{...}}, the host runs it and feeds the result back, up to 4 rounds. The page shows which tools it consulted.

Anything the assistant suggests that changes something is rendered as a button you have to press: re-run the checkup, auto-repair, repair one finding, probe an endpoint, or probe-and-write a provider. The model never edits configuration on its own.

4. Repair

Auto-fixable findings can be applied in one click. Repairs are generated as settings.mutate operations: they only ever produce set, never unset, with two deliberate exceptions (drop a duplicate model id, and set reasoningEfforts to false on a model that should not have one).

Install

dsh plugin --profile <your-profile> add dsh-framework-doctor

Or from a local checkout:

dsh plugin --profile <your-profile> add /absolute/path/to/dsh-framework-doctor

Restart dsh web if the page does not appear, then open Settings → Framework doctor.

What it deliberately does not do

  • No background scanning. Health checks run when you press a button. There is no timer and no polling.
  • No automatic configuration changes. Every write is either a click in the connect wizard or a click on an assistant-suggested action.
  • No plaintext secrets. Keys go to the credential service; headers values are checked for plaintext keys and reported.
  • No guessing. Unverifiable model capabilities are left unset.

Requirements

  • DeepSeek Harness >=0.2.0 (engines.dsh; also declared under dsh.compatibility)
  • Node.js >=20.18
  • A configured default model, for the chat section only. Everything else works without one.

No runtime dependencies. The plugin uses only Node built-ins and the harness services it injects.

Development

node tests/run-all.mjs    # or: npm test

Three suites, none of which need a running harness:

SuiteChecks
tests/framework-doctor-lib.mjslib/infer.js capability derivation, lib/diagnose.js rules, lib/repair.js plans, plus an end-to-end probe against a local fake OpenAI-compatible endpoint
tests/framework-doctor-host.mjsHost routes, /apply validation and merge semantics, /chat tool loop, the trust fence, and degradation when a service is missing
tests/framework-doctor-client.mjsLoads client.js against a stubbed module loader and React, renders every section, and checks theme-token and boundary constraints

Layout

FileRole
index.jsHost entry: HTTP routes, settings read/write, the chat tool loop
client.jsThe settings page (plain JS + createElement, no build step)
lib/infer.jsEndpoint interrogation and capability derivation
lib/diagnose.jsThe checkup rules
lib/repair.jsFindings to settings.mutate operations
lib/trust.jsRequest trust fence for the plugin's HTTP surface

License

MIT — see LICENSE.