dsh-plugin-magpie: Lightweight Magpie Connector

前言

在 DSH 里用 Magpie 聚合的多供应商模型,常见做法是手动配网关 URL、导入模型列表,或在浏览器里单独打开 Magpie 管理页查额度。模型一多,分组、路由和额度往往分散在多处,和 DSH 会话里的模型选择也对不齐。下面介绍社区插件 dsh-plugin-magpie:在不动 Magpie 核心、不接管账号策略的前提下,把目录同步、聊天补全路由和桌面端原生后台收进 DSH 一套流程。

这是什么

dsh-plugin-magpie 由 jesongit 维护,归类为「模型推理」。定位是轻量 Magpie → DSH 连接器:不修改 Magpie 或 DSH、不携带 Magpie 前端包、不复制供应商登录态或改路由/账号。

插件从 Magpie 的 /v1/models 自动同步,按 provider(供应商) 在 DSH 里注册独立分组(路由组单独展示);所有分组共用一个 Chat Completions 适配器,完整上游模型 ID 原样发送,账号轮询与回退仍由 Magpie 决定。桌面端可在工作区通过受管原生 webview 打开 Magpie 原版管理后台,并用一次性启动凭证完成 POST 自动登录;当前会话选中本插件注册的 Magpie 模型时,输入框下方会出现按模型路由匹配的额度入口与弹窗。

核心功能

连接与模型目录

  • 在 DSH 设置 → Magpie 填写管理后台 URL 与页面登录密钥(不是仅模型接口的网关端口,也不能把 API Key 当作后台密钥)。
  • 可显式允许创建 DSH 专用网关 Key,或在高级设置中填写已有网关 Key;高级设置可指定外部可达的网关 URL。
  • 目录约每五分钟共享刷新,失败时保留上次目录并标记过期;后台页面与模型调用彼此独立。
  • 支持流式文本、reasoning、工具调用与结果、图片附件、用量、取消;推理档位与上下文来自目录。0.2.0 起过滤推理档位 default,未选时默认 high;对声明 priority 服务档的模型提供 Codex 速度选择(标准/快速),快速时请求带 service_tier: "priority"。

桌面原生后台

  • 须先配置 URL + 密钥并成功连接,工作区上方 Magpie 导航项才会加载后台;否则友好引导。
  • 桌面 DSH 用协议版本 1 的受管 webview 加载 Magpie 原版后台,无 Browser 工具栏;首次打开通过一次性内存凭证 POST 登录,不再在页面里重复输入已配置的密钥。
  • 首次打开后只保留一个原生网页容器,切到其他面板仅隐藏,不重复加载或丢失后台页签状态;断开、换 URL、成功重连或卸载插件时释放。
  • 纯 Web 端可用模型与设置,但打开后台会明确提示需使用 DSH 桌面窗口,不自动降级 iframe。

按模型的额度入口

  • 额度入口仅在当前会话选中本插件注册的 Magpie 模型时出现,按模型路由精确匹配供应商,不按 GPT/Claude 等名称猜测。
  • 弹窗只列该供应商合并额度,排除名称、池或单位中明确标为工具、MCP、搜索等非推理额度;只读 Magpie kept=1 快照,Host 共享缓存,当前 Magpie 模型显示期间低频读缓存,弹窗打开可更新快照。
  • 入口与弹窗使用结构化时间展示(R=距重置、L=距到期),图标优先使用 Magpie 内嵌供应商 logo,匹配不到则回落喜鹊单色图标(当前版本 0.2.4)。

安全与存储(摘要)

  • 服务端敏感状态保存在 $DSH_HOME/plugins/magpie/connection.json(含后台/网关密钥等),原子替换、Unix mode 0600,非加密存储;保护 DSH 用户目录与备份。
  • 普通状态 RPC 不返回密钥;启动专用 RPC 仅对已鉴权 owner 返回一次临时登录 POST 描述。插件以当前 DSH 进程权限运行,安装前宜自行查看源码与 MIT 许可证。

安装与启用

要求 DSH 0.2.1-rc.5+、Cordis 4.0.5、Node 24,且原生后台面板依赖 DSH 桌面端。使用与正在运行的 DSH 对应的 CLI 与 profile;桌面安装版自带 CLI 位于应用 resources/runtime/cli/bin。

从 GitHub 安装(Git 直装):

dsh plugin --profile desktop add github:jesongit/dsh-plugin-magpie

添加后重新加载插件或重启 DSH 使服务端生效。插件通过 dsh.bundle.patch 自动挂载,编译完成后无需改 DSH 核心或另起替代 Web 服务。

典型用法

  1. 在 Magpie 开启现有的 Browser access,或使用已有 magpie web 管理服务。
  2. DSH → 设置 → Magpie,填写管理后台 URL 与页面登录密钥;按需选择允许创建 DSH 专用网关 Key,或在高级设置填写现有网关 Key。
  3. 点击连接并同步。
  4. 在模型选择器使用 Magpie · Codex、Magpie · WorkBuddy 等分组;现有手动导入配置不会被修改,默认模型不会被切换。
  5. 桌面端从工作区 Magpie 导航进入原版管理后台;选中某 Magpie 模型后,可在输入框下方查看该供应商额度弹窗。

远程模型访问需已具备 Magpie 所要求的共享与 Key 权限;插件不会开启网络共享、改路由/账号。

适用场景与注意

适合:已在用 Magpie 做多账号/多供应商聚合,希望在 DSH 里按 provider 分组选模型、走统一 Chat Completions 适配,并在桌面端内嵌打开管理页、按当前模型看供应商额度,而不想再维护一套平行配置。

注意:

  • 插件不读取 .env;连接信息写入本机 connection.json,请以源码与 README 中的安全说明为准。
  • 协议选择通用 Chat Completions,由 Magpie 翻译上游;不宣称无损保留所有厂商私有 Responses replay/加密推理状态。
  • 社区插件目录 SkillHub 上的条目 与 GitHub 仓库由维护者发布,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,安装前请核对仓库与许可证。

结尾

dsh-plugin-magpie 把 Magpie 的模型目录、调用链路与(桌面端)管理后台接到 DSH,边界清晰:不改 Magpie 账号策略、不自带 Magpie 前端分发包。需要细节、构建命令与验证限制时,以仓库 README 及 docs/verification.md 为准。

  • 目录页:https://www.skillhub.cn/plugins/jesongit/dsh-plugin-magpie
  • GitHub:https://github.com/jesongit/dsh-plugin-magpie
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye