dsh-magpie

DSH PLUGIN会话与消息

仓库 Hongcheng-LI/dsh-magpie

会话与消息 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH plugin: Magpie gateway quotas in your composer — subscription windows, prepaid balances, relay stations. 输入框里看 Magpie 全部账号额度与用量

一句话选型结论

按资料字段整理

dsh-magpie 是会话与消息类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类会话与消息 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-29 创建于 2026-10-28
README 14.7 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:Hongcheng-LI/dsh-magpie
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注

上游标签

cordis-plugindeepseek-harnessdshdsh-pluginmagpiequotausage

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在会话与消息场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-magpie当前 L5 · 运行验证通过 低风险 0 未标注 有
dsh-desktop L3 · 安装规范通过 低风险 3.0 万 未标注 无
openpets L4 · 沙盒安装通过 低风险 1,274 未标注 有
deeptide L4 · 沙盒安装通过 低风险 1,104 0.1.1-rc.2 有
jingyun-dsh L3 · 安装规范通过 低风险 1,004 未标注 有
study-mate 未做沙盒验证 未标注 856 未标注 无

仓库档案

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方Hongcheng-LI仓库 dsh-magpie · 默认分支 main
分类会话与消息desktop
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-28 · 2026-10-29最后推送 2026-10-29
本站收录2026-10-30首次进入本站目录的时间

README 全文

14.7 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-magpie





在 DSH 输入框里一眼看到 Magpie 全部接入账号的额度。

Magpie 是本机的 AI 网关(托盘程序,默认 127.0.0.1:3425),把 WorkBuddy / Trae / MiniMax /
GLM / OpenCode Zen / Codex 等订阅账号统一成 OpenAI 兼容接口。它自带 GET /v1/magpie/quotas
接口,本插件直接读这个接口,所以零配置、无需 API Key、新增账号自动出现。

安装(DSH 内或终端):

# npm(推荐,安装最快)
dsh plugin --profile desktop add dsh-magpie-quota

# 或者直接从 GitHub 装
dsh plugin --profile desktop add github:Hongcheng-LI/dsh-magpie

> npm 包名是 dsh-magpie-quota(dsh-magpie 已被他人占用),GitHub 仓库仍叫 dsh-magpie,两者是同一个插件。

> 要求:本机运行 Magpie(默认端口 3425,可用环境变量 MAGPIE_URL 覆盖)。
> 只改 dsh/client.js 时刷新页面即生效;改 dsh/index.js 后需重启 DSH。

特性一览

  • 徽章 + 双栏面板:左栏用量(当天/7天/30天/全部可切换),右栏 Codex 风格额度清单
  • 支持三种结算口径:订阅积分、按量估值(≈)、预充值实扣(DeepSeek 等余额账号)
  • 第三方中转站(new-api / one-api 等)在 Magpie 侧配好 balance 探测即自动显示余额
  • 窗口名自动翻译(5 hours → 5 小时用量上限),重置卡按「种类 + 到期日」归组
  • 免费账号自动标注(plan 含 Free 或插件内置名单)
  • 读取失败的账号排在最前并给出可执行的原因(如「API key 无效(401)」)
  • 配色按钮:跟随 DSH → 浅色 → 深色,偏好记忆在 localStorage
  • 60s 自动刷新 + 手动刷新;主题令牌取自 DSH 自身,浅深色自适应

形态

  • 输入框右侧徽章:用量/额度 —— 悬停气泡给出各账号剩余百分比与当前所选周期的花费。
  • 点开面板(双栏大卡片):
  • 左栏「当前用量」:Magpie /v1/magpie/usage 的用量汇总,标题右侧有 当天 / 7 天 / 30 天 / 全部
    分段按钮(选择记在 localStorage magpie-quota-usage-period,默认 30 天)。汇总给出折算消耗、
    调用次数、输入/输出 token,
    下面是按花费排序的模型用量榜。每行第二行开头固定写来源(WorkBuddy · 542 次 · 入 838.7K …),
    所以同一个模型名出现在两家账号下也分得清。结算数字按厂家真实单位显示:84.1 积分 /
    ≈¥6.12(挂牌价估值)/ ¥6.12(预充值实扣),详见下文「三种计费口径」。
  • 右栏「额度」:逐字复刻 Codex 的额度卡。每个账号开头就是账号名(16px 加粗),
    免费账号跟灰色 (免费账号) 后缀;下面平铺窗口行,标签左对齐、数值右对齐:
MiniMax (China)
4 小时用量上限                    剩余 95%
每周限额                          剩余 33%

DeepSeek(预充值)
余额                              ¥9.99

行本身不加粗、不上色(14px 主墨色),没有红黄绿、没有进度条、没有账号名旁的汇总百分比;
plan / 账号 ID 收进账号名的悬停提示。读不了的账号写 状态 读取失败,下一行给出原因(红色)。
数字只有「剩余 x%」一种口径(用量 <1% 时 剩余 &lt;1%,耗尽写 已用尽)。原始用量
已用 110.88 / 800、重置时间与倒计时(重置 15:00(37分后))、「预计 x 天后耗尽」
都收进悬停提示。按紧张程度排序。
- 窗口名按 Codex 的措辞:Magpie 原样给的 5 hours / 7 days / Credits / MCP · Month
会翻译成 5 小时用量上限 / 每周限额 / 额度 / 月度限额(任意 N hours /
N days 也处理:N 小时用量上限、每周限额/N 天用量上限;原名保留在悬停里)。
顺序固定为短周期在上、长周期在下,与 Magpie 返回的数组顺序无关。
- 重置卡单独一行:Magpie 的 resets.each 里每张卡都带窗口和到期时间,面板按
「种类 + 到期日」归类,写成 重置卡 5 小时 ×4 · 11-22 到期;5 小时 ×3 · 12-22 到期,
完全重置的写成 完全 ×N。悬停给出每类共几张、具体哪天到期。
- 为什么不上色、不画进度条:Codex 的额度页只给「标签 + 剩余百分比」,不加红黄绿、
不放汇总数——扫一眼就知道哪家要没了,其余细节按需展开。
- 观感跟随 DSH 主题:面板底色 / 文字 / 边框 / 阴影 / 状态色全部取 DSH 自己的设计令牌
(--dsw-alias-*),浅色深色自动一致。面板 860px 宽(窄屏自适应为单栏),最高 84vh,超出内部滚动。
- 字号:标题、左栏模型名、KPI 数字 = 16px;右栏整列(账号名、窗口名、百分比、
重置卡)与页脚等其余小字 = 14px。右栏账号名后免费账号会跟一个灰色 (免费账号)
后缀(Magpie 数据里的 plan/名字含 Free 自动判定;不带的如 Trae CN 靠插件内的已知列表)。
- 配色按钮(改卡片颜色):面板右上角「配色:跟随」按钮循环切换 跟随 DSH → 浅色 → 深色,
选择记在 localStorage(键 magpie-quota-card-theme,沿用了插件曾用名 magpie-quota,
改名后保留此键以免清掉偏好),刷新后保持。选「浅色 / 深色」时卡片会
在自身的 --dsw-* 变量上做行内覆盖,因此即使 DSH 是深色主题,卡片也能固定成浅色。
- 顶部余额条:所有预付余额账号(DeepSeek 等)汇总成标题下的一行 余额 DeepSeek ¥9.99,
不用往下滚就能看到金额。
- 预付余额账号(kind: &quot;balance&quot;,如 DeepSeek、AIHubMix、new-api 中转站):面板里显示
「余额 ¥9.99」加粗大字,而不是一行空着的百分比;徽章在没有百分比窗口时会退化成
DeepSeek 余额 ¥9.99。余额数值由 Magpie 格式化后原样透传(币种、单位都听 Magpie 的,
插件不做汇率换算,也不对金额做红黄绿阈值判断)。
- 空账号(有 provider 但没有窗口也没有余额,比如纯 API key 型):只写一行说明,不再挂
「订阅 / 余额」标签,避免和空白数据自相矛盾。
- 读取失败的账号:Magpie 会把探测错误挂在条目上(error 字段,典型是
401 Unauthorized: … api key: ****6b92 is invalid)。插件把这类账号排到最前面,
右上写红色「读取失败」,下面一行给出可执行的原因(如「API key 无效(401),请到 Magpie
里更新这个账号的 Key」),完整原文放在悬停提示里——而不是显示成「未提供余额」让人以为
这家本来就没有余额。
- 60 秒自动刷新,打开面板时若缓存超过 15s 会强制拉一次;面板底部有手动「↻ 刷新」。

架构

browser (DSH 页面,与 DSH web server 同源)
│  fetch /magpie/quotas , /magpie/usage   ← 同源,避免 CORS(Magpie API 不带 CORS 头)
▼
host half  dsh/index.js             ← 注册在 DSH web server 上
│  GET 127.0.0.1:3425/v1/magpie/quotas  (Node fetch,失败回退 subprocess+curl --noproxy)
│  GET 127.0.0.1:3425/v1/magpie/usage   (近 30 天按模型汇总,20s 缓存)
▼
Magpie gateway (tray, v0.1.x)
  • 端口覆盖:环境变量 MAGPIE_URL(或 MAGPIE_BASE_URL),例如
    MAGPIE_URL=http://127.0.0.1:4000。
  • 缓存:quota 15s、usage 20s;同一时刻只保留一次 in-flight 请求;Magpie 离线时面板显示错误原因而不是空白。
  • 改了 dsh/index.js(host 半边)必须重启 DSH 才生效;只改 dsh/client.js 刷新页面即可。

让「第三方中转站 / 自定义充值」也显示余额(在 Magpie 侧配置)

插件本身只读 Magpie,因此能不能显示某家的余额,取决于 Magpie 有没有给它配余额探测。
Magpie 的 provider 支持这几个键(CLI 就是同一个 magpie.exe):

键 含义
balance= 余额查询地址
balance.path=&lt;表达式&gt; 金额在响应里的位置,可用 + - * / 和括号组合;$ 或 .. 前缀取带符号值;末尾 % 表示按 1 的比例显示成百分比
balance.method=GET\|POST 只回答 POST 的端点用这个
balance.token= 余额端点要的令牌(与聊天 key 不同时用)
header.X-Foo= 附加请求头(如 new-api 的 New-Api-User)

常见写法:

# OpenAI 兼容中转站(/dashboard/billing/credit_grants、/v1/usage 之类)
magpie provider add &quot;My Relay&quot; url=https://relay.example.com/v1 key=sk-... `
balance=https://relay.example.com/api/usage/token balance.path=&#x27;$data.total_available / 500000&#x27;

# new-api / one-api 中转站(要 access token + 用户 id)
magpie provider set my-relay balance=https://relay.example.com/api/user/self `
balance.path=&#x27;$data.quota / 500000&#x27; balance.token= header.New-Api-User=

# 只想显示「剩百分之几」
magpie provider set my-relay balance.path=&#x27;(1 - credits.monthlyCredits / 70) %&#x27;

配好后 Magpie 会在 /v1/magpie/quotas 里返回 kind: &quot;balance&quot; + balance 字符串,本插件自动显示,
不用改代码。若厂商根本不提供余额查询接口(部分自建/自充值平台如此),那任何工具都取不到余额,
只能退而看 Magpie 的花费统计:GET /v1/magpie/usage(30 天 cost / credits / 调用数)。

安装(本地开发形态)

dsh plugin --profile desktop add &quot;&lt;本目录的绝对路径&gt;&quot;
# 已实测:会自动写入 dsh.profile.bundles,并把包以 link: 方式挂进 profile 的 node_modules

然后把 DSH 页面刷新一次(或重启 DSH)即可看到输入框右侧的徽章。

开发与测试

node --check dsh/index.js &amp;&amp; node --check dsh/client.js   # 语法
node --test tests/client.test.mjs tests/host.test.mjs                                        # 15 项断言,全离线
node scripts/preview.mjs                                  # 出 preview.html,浏览器直接打开

两套测试都不需要 Magpie 也不需要 DSH:tests/client.test.mjs 用桩 document /
window.__ModuleLoader__ 加载真实 dsh/client.js,断言徽章文案、窗口名翻译、重置卡分组、
免费账号标记、余额行、错误态与字号;tests/host.test.mjs 用桩内核 + 桩 globalThis.fetch
驱动 dsh/index.js,断言信任校验、quota 归一化、周期透传与降级。CI 见
.github/workflows/ci.yml(Node 22,语法 + 测试 + manifest 校验)。

自检(对着运行中的 DSH)

# host 半边不需要登录 token。端口每次重启 DSH 都会变,取当前页面地址栏里的端口
curl.exe --noproxy &#x27;*&#x27; http://127.0.0.1:&lt;当前端口&gt;/magpie/quotas

离线预览(不用开 DSH 也能看样式)

node scripts/preview.mjs [输出路径]

用真实 Magpie 数据渲染一个自包含的 preview.html(内置 CSS),浏览器直接打开即可;
Magpie 没开时渲染的是「连不上 Magpie」离线态,也值得看一眼。想看「当天」周期就改脚本里的
usagePeriod。

> 备注:/v1/magpie/usage/requests 的分页参数是 offset(不是 page,Magpie 会忽略 page 并重复返回第一页);
> 行时间戳混着 +08:00 与 Z 两种写法,比较前一律 Date.parse 成时间戳。当日按模型榜就是靠这个逐页取到当天零点为止。

文件

  • dsh/index.js —— host 半边:读 Magpie quota API,注册 GET /magpie/quotas 与
    GET /magpie/usage?period=1d|7d|30d|all(当天按模型榜走 requests 日志 offset 分页),
    15s / 20s 缓存 + 失败兜底。
  • dsh/client.js —— 浏览器半边:conversation.input.right 插槽的徽章 + 弹层面板。
  • 面板挂在 document.body 上(position: fixed)。原因:输入框插槽位于一个带缩放/变换的
    composer 容器里,fixed 子元素会按该容器的坐标系布局,显示成半尺寸并被挤出屏幕右边缘。
  • cordis.patch.yml —— bundle 挂载层。

数据形状(Magpie /v1/magpie/quotas)

{ &quot;data&quot;: [ { &quot;provider&quot;: &quot;workbuddy&quot;, &quot;name&quot;: &quot;WorkBuddy&quot;, &quot;kind&quot;: &quot;subscription&quot;,
&quot;plan&quot;: &quot;Free plan&quot;, &quot;user&quot;: &quot;…&quot;, &quot;readAt&quot;: &quot;…&quot;,
&quot;windows&quot;: [ { &quot;name&quot;: &quot;Credits&quot;, &quot;used&quot;: 5.65, &quot;remaining&quot;: 94.35,
&quot;resetsAt&quot;: &quot;2026-10-31T15:59:59Z&quot;, &quot;display&quot;: &quot;45.22 / 800&quot;,
&quot;amount&quot;: 45.22, &quot;limit&quot;: 800, &quot;unit&quot;: &quot;credits&quot;,
&quot;runsOutAt&quot;: &quot;…&quot;, &quot;runsOut&quot;: 100, &quot;holdsWhy&quot;: &quot;low&quot; } ] } ] }

used 是百分比(0–100);host 半边统一归一化成 pct 字段供客户端使用。

余额型账号(kind: &quot;balance&quot;,无 windows):

{ &quot;provider&quot;: &quot;deepseek&quot;, &quot;name&quot;: &quot;DeepSeek&quot;, &quot;kind&quot;: &quot;balance&quot;,
&quot;windows&quot;: [], &quot;balance&quot;: &quot;¥9.99&quot;, &quot;readAt&quot;: &quot;…&quot; }

读取失败时 Magpie 会附上 error(原始报错文本),此时 balance 为空:

{ &quot;provider&quot;: &quot;deepseek&quot;, &quot;kind&quot;: &quot;balance&quot;, &quot;windows&quot;: [],
&quot;error&quot;: &quot;401 Unauthorized: … api key: ****6b92 is invalid&quot; }

三种计费口径(左栏数字为什么不能相加)

同一份用量日志里混着三种完全不同的结算方式,插件的做法是按厂家真实结算单位显示、不做汇率折算:

显示 含义 判定依据
78.9 积分 订阅/套餐扣的积分 该行 credits &gt; 0(如 WorkBuddy、Trae)
≈¥6.12 估值:按官方 API 挂牌价折算「这些 token 如果在按量 API 上要花多少」,套餐用户并不会真扣这笔钱 provider kind 为 subscription / plan(含未在额度列表里出现的 codex)
¥6.12 实扣:从预充值余额里真的扣掉的钱 provider kind 为 balance(如 DeepSeek 预充值)

同理左栏顶部 KPI 的「折算消耗」带 ≈,旁边单独一行给「积分消耗合计」,两者不合并成一个数。
排序仍按 cost → credits → calls,所以积分型模型会排在金额型之后。

License

MIT. See LICENSE.

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-magpie 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:Hongcheng-LI/dsh-magpie` 即可。

dsh-magpie 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-magpie 安全吗?

低风险。

dsh-magpie 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-magpie 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

会话与消息
按星标排序,可作替代方案

dsh-desktop

dsh-desktop

为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。

L3 · 安装规范通过 3.0 万 星

openpets

openpets

L4 · 沙盒安装通过 1,274 星

deeptide

deeptide

L4 · 沙盒安装通过 1,104 星

jingyun-dsh

jingyun-dsh

井云 DSH 客户端插件,为 DeepSeek Harness 注入会员登录、订阅支付、算力管控与应用市场,让智能体和技能快速变成可交易商品

L3 · 安装规范通过 1,004 星

study-mate

study-mate

StudyMate 是 DSH 的「学习模式」预设与技能包,为数学、计算机科目定制学习路线、讲解课件与练习评估,跨科目共享记忆。

未标注验证等级 856 星

Hongcheng-LI 的其它插件

3 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。