DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

@sendya/dsh-provider-mgoole

Provider Mgoole

DeepSeek Harness 插件:启用时将芒果AI(mangoai-official)OpenAI 兼容提供商注册到原生 llm-pi-ai 设置卡片中,禁用时将其移除

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

npx -y @deepseek-ai/dsh plugin --profile web add github:sendya/dsh-provider-mgoole#aaada049ee2d56057daf6a46aeee058f74474218
README兼容性版本

兼容性与来源证明

Provider Mgoole 以 @sendya/dsh-provider-mgoole 发布,当前版本为 1.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

1.1.0stable
2026/10/26
1.0.0stable
2026/10/20

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Experimental Cot Translation Bundle@deepseek-ai/dsh-experimental-cot-translation-bundle扩展推理的实验性机器翻译Our Free Model@ebony-vinyl/dsh-our-free-modelOur Free Model — 在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Flash、Kimi K3 在内的前沿模型,桌面端另有 EAC 协付渠道;2.0 起接入 LobsterAI、Qoder、TRAE、Cline、Loomy、Raccoon、MiniMax、ZCode、Gemini 十个账号渠道(原有匿名免费通道保留)(登录、账号池、积分领取、本地 OpenAI 网关与局域网转发、数据看板与运行日志),六页毛玻璃界面统一呈现。Usage@linxin666/dsh-usage用于 dsh Web GUI 的使用统计插件:检测各提供商的余额和编程套餐配额,并实时记录令牌使用情况;侧边栏 Settings 行上方显示紧凑的价格概览卡片Client Ui Model Capabilities@linxin666/dsh-client-ui-model-capabilities为自定义 pi-ai 提供商声明每个模型的能力(图像输入和推理力度),可直接在 Models 设置卡片中编辑;写入官方 llm-pi-ai 设置命名空间,不更改 DSH 源代码。

README

dsh-provider-mgoole

English | 简体中文

A DeepSeek Harness bundle plugin that adds the 芒果AI (MangoAI) OpenAI-compatible gateway as a model provider — and gives it the native Models-page card (API key field, endpoint / protocol / model list, “获取可用模型”).

Enabling the plugin registers the provider; disabling it removes the provider again.

Route idmangoai-official (fixed)
Default endpointhttps://mgoole.com/v1
Protocolopenai-responses
Credential referenceMGOOLE_API_KEY
Settings namespacellm-pi-ai (the namespace the Models page renders natively)

Install

dsh plugin add github:sendya/dsh-provider-mgoole

Or from a local checkout:

dsh plugin add link:/path/to/dsh-provider-mgoole

Then enable it in 设置 → 插件 (Settings → Plugins). A provider named 芒果AI appears in 设置 → 模型 with the shipped editor; type your API key there and hit 获取可用模型 to pull the live model list.

The key is written through the credentials service; it never enters this repository or the patch file.

What it actually does

Two moving parts:

cordis.patch.yml   insert one row:  id: mangoai-provider, name: @sendya/dsh-provider-mgoole
index.js           on enable  -> settings.mutate('llm-pi-ai', set  providers.mangoai-official)
                   on disable -> settings.mutate('llm-pi-ai', unset providers.mangoai-official)

cordis.patch.yml deliberately carries no config. Everything is written at runtime through the settings service, which is what makes both requirements possible at once:

  1. The native card. @deepseek-ai/dsh-client-ui-settings-models chooses a provider editor by comparing the settings namespace literally:

    function layoutOf(ns) {
      if (ns === "llm-deepseek") return "deepseek";
      if (ns === "llm-pi-ai")   return "pi-ai";
      return "unknown";   // fields render, but submitDisabled = ... || layout === "unknown"
    }
    

    and @deepseek-ai/dsh-llm-pi-ai derives its namespace from ctx.fiber.entry.options.id. Declaring the provider inside the llm-pi-ai namespace is therefore the only way to get the shipped card — the same trick @deepseek-ai/dsh-llm-deepseek-api-key uses by owning the llm-deepseek row.

  2. Editable config. @deepseek-ai/dsh-config-editor rejects a write to a namespace that a higher patch layer also configures:

    settings/rejected: Configuration for "llm-pi-ai" is overridden by a home patch
                       or command-line overlay
    

    So a bundle that ships config for llm-pi-ai freezes the card (reads fine, saves fail, user-added models vanish on reload). Writing through ctx.settings instead keeps the profile document the single owner: the card stays editable and enable/disable really adds and removes the provider.

The transaction trap

Config edits may not run inside a Loader transaction, and apply() / disposer both run inside one:

Error: HMR transactions cannot be nested

Deferring with setTimeout does not help — it inherits the same AsyncLocalStorage context. The plugin therefore escapes the context explicitly before writing:

const als = ctx.get('hmr')?.executing          // the AsyncLocalStorage behind the guard
als.exit(() => void settings.mutate(...))      // write on its own turn

Removal on disable additionally needs a listener that outlives the plugin's own context, so a plugin-manager/changed listener is attached to ctx.root and unsubscribes itself after it has deleted the entry. settings/document-updated, connection/request, and a short timer ladder act as fallbacks.

Defaults written on first install

providers.mangoai-official:
  displayName: 芒果AI
  apiKeyEnv: MGOOLE_API_KEY
  api: openai-responses
  baseURL: https://mgoole.com/v1
  models:
    - deepseek-v4-flash
    - deepseek-v4-pro
    - deepseek-v4.1-flash      # contextWindow 1000000, maxTokens 256000, text+image, reasoningEfforts

An existing providers.mangoai-official entry is never overwritten: the plugin only fills in a missing one, so anything you change in the UI survives restarts, updates and re-enables.

Files

  • index.js — the Host plugin (inject: ['settings']). No protocol code, no client half.
  • cordis.patch.yml — one inserted row, no config.
  • icon.svg, locale/*.json — display metadata for the plugin inventory.

Requirements

  • DeepSeek Harness 0.2.1-rc.2 or newer (needs settings.mutate, llm-pi-ai as a configurable namespace, and the llm-pi-ai / deepseek layouts in the Models page).
  • Node.js ≥ 20.

Debugging

DSH_MANGOAI_DEBUG=1 dsh web     # traces install/uninstall decisions to /tmp/mangoai-plugin.log

Uninstall

Disable the plugin in 设置 → 插件: providers.mangoai-official is removed and the route disappears. To drop it entirely:

dsh plugin remove @sendya/dsh-provider-mgoole

License

MIT