bowenliang123/dsh-context
bowenliang123/dsh-contextDSH 上下文洞察面板:Context 仪表盘 + /context命令 + Context 浏览器,查看 Context的分类组成、内容详情、演进趋势、压缩/注入事件、统计等一站式 Context 全生命周期管理。
右下角「会员额度」悬浮球与面板,聚合各 AI 平台套餐额度(Kimi Code、DeepSeek、智谱 Coding Plan、BigModel、通义千问、超算、TokenRouter、SupaWriter),API key 自动同步自 DSH 凭证域,彩色进度条展示用量。
DeepSeek Harness 插件:右下角「会员额度」悬浮球 + 面板,一眼看清各 AI 平台的套餐额度与余额。


截图里都是什么:
API = 官方 API 直查(key 自动同步自 DSH 凭证域,下方灰色小字显示用的是哪个凭证引用,例如 ⇄ 已同步 KIMI_CODING_API_KEY · DSH 凭证),MCP = 通过已注册的 MCP 服务器查询;正常 / 失败 / 未配 Key 是本次查询状态已用 / 上限 剩xx,下方小字是额度窗口的重置时间refreshIntervalMinutes 可调);打开面板时数据超过 5 分钟也会自动补刷;手动「刷新」随时可用apiKeyEnv 引用)——DSH 里加过 key 就不用手动再填;凭证变更自动触发刷新$DSH_HOME/dsh-quota/history.json,重启不清零),在当前配额窗口段上计算平均消耗速率(%/h),条目下方给出「约 x 小时后耗尽」预估;窗口重置自动截断分段,不会跨重置算出错误速率;quota_refresh 工具同步透出✓ 320ms)或上游原始错误;只读探测,不改动快照localhost/.local/.internal 与回环/私有/链路本地/保留地址(含 IPv4/IPv6 字面量);请求拒绝跟随 3xx 跳转、响应超过 256 KiB 直接失败,避免自定义平台被用来探测内网ctx.locale 服务)实时切换,缺失该服务时按浏览器语言自动判定;药丸/悬浮环/面板/错误提示/时间格式全部本地化(en 文案不含中文字符,有单测把关)alertPercent(默认 85,可配置)的条目 + 登录失效提醒,恢复后自动消失钉住平台(始终显示,缺 key 时提示):Kimi Code、DeepSeek、智谱 Coding Plan。
自动发现平台(key 在 DSH 凭证域/环境变量能解析就自动出现,否则隐藏):Z.AI Coding、Moonshot、OpenRouter、SiliconFlow(国际/国内)、MiniMax Coding(国际/国内)、StepFun、xAI、OpenCode Go、DeepInfra、Venice、NeuralWatt、OpenAI Platform、Anthropic Claude。面板「API Key 管理」覆盖全部直连平台——填 key 即接入(写入 DSH 凭证域,模型配置也能用)。
火山方舟(Volcengine Ark):额度不在推理 API 上——ARK_API_KEY(ark-…)只能调模型,所以 DSH 里只配了它时,卡片只能探活显示「模型服务 在线」,这是设计如此、不是查询失败。套餐用量要走火山引擎控制面 OpenAPI(open.volcengineapi.com,GetCodingPlanUsage / GetAgentPlanAFPUsage,HMAC-SHA256 签名),必须用 AccessKey ID + SecretAccessKey:在面板底部「API Key 管理」里把两者按 AK:SK(或控制台给的合成串 AK/SK、整行 AccessKeyID/SecretAccessKey: …)填进「火山方舟 (AK/SK)」,插件会自动拆开,或直接写凭证引用 VOLC_ACCESS_KEY_ID / VOLC_ACCESS_KEY_SECRET(也认 VOLC_ACCESS_KEY / VOLC_SECRET_KEY 等别名)。AK/SK 建议用 IAM 子用户并只授 ArkReadOnlyAccess(只读);Coding Plan 与 Agent Plan 共用同一对 AK/SK,插件先试 Coding Plan、未订阅时自动落到 Agent Plan。
国外官方平台(用量/成本口径):OpenAI 走组织 Admin API /v1/organization/costs(凭证引用 OPENAI_ADMIN_KEY,即 sk-admin-…),Anthropic 走 Admin cost_report(凭证引用 ANTHROPIC_ADMIN_KEY,即 sk-ant-admin…,请求带 anthropic-version、金额单位是「分」已自动换算)。两家都没有余额查询接口,卡片展示「今日 / 近 7 天 / 近 30 天消耗」,并在卡片上注明;普通 sk-* / 项目 key 会被上游拒绝,不是插件的问题。
MCP 平台(纯可选扩展,通过另行注册的 mcp__* 工具取数;本仓库不包含这些 MCP 服务器):智谱 BigModel、通义千问(百炼)、超算互联网、TokenRouter、SupaWriter。没注册时对应平台自动隐藏。
平台来源以 DSH 系统配置为准:MCP 平台行只在 DSH composition(profile 的 cordis.yml / cordis.patch.yml)声明了对应的 @deepseek-ai/dsh-mcp-client 条目时才创建——Host 半边通过 cordis loader 服务读取真实的 entry 树,而不是看项目里的 .mcp.json、也不是"恰好存在同名工具";composition 里删掉条目(并重启 dsh)后,对应平台立即从面板消失。loader 服务不可用的旧版本上自动退回"工具注册表探测"。
自定义平台:有余额 API 的平台(聚合站 / one-api / new-api…)在面板底部「自定义平台」直接添加,或在 config 里声明 httpPlatforms / mcpPlatforms —— 详见 docs/extending.md(含"如何把网页 Cookie 平台做成 MCP 接入"的完整指南)。
NewAPI 有两种口径:openai-billing 使用模型 sk-* key 查询该 key 的额度;newapi-account 使用个人设置里的系统访问令牌与用户 ID 查询 /api/user/self,显示整个账号的余额和累计用量。
dsh plugin --profile web add dsh-quota
或打开 设置 → 插件市场,搜索 dsh-quota 一键安装。
版本要求:
0.8.0+需要 dsh0.1.2-alpha.1及以上(浏览器端模块表改用@deepseek-ai/dsh-client-storeplatform seed)。仍在用旧版 dsh(0.1.0-rc系列) 请锁定dsh-quota@0.7.x。
在 composition 里给条目加 config:
- id: quota
config:
refreshOnBoot: true # 启动后自动刷新一次(默认 true)
refreshIntervalMinutes: 30 # 定时刷新间隔,0 关闭(默认 0)
alertPercent: 85 # 用量占比告警阈值(红点计数,默认 85)
除了上述内置平台,composition 里声明 mcpPlatforms 即可把任何已注册的 mcp__* 额度工具接进面板(通用解析:自动识别 used/limit/remaining 形的配额行与 balance 形余额;未注册时该行自动隐藏):
- id: quota
config:
mcpPlatforms:
- id: mysite
label: 我的平台
tools: ['mcp__mysite__my_quota'] # 按序调用,可多个
pnpm install
pnpm link-harness # 把类型/依赖对齐到本机已安装的 dsh(见下)
pnpm build # 构建 host + client,含 client-id 一致性门禁
pnpm typecheck
sh scripts/reload.sh # 构建;Host 改动重启 dsh 生效,界面改动刷新页面生效
pnpm link-harness 默认从本机已安装的 dsh(npm root -g,或 DSH_INSTALL=<dsh 目录>)
软链 node_modules/@deepseek-ai/*,让 typecheck/build 与运行时解析同一份代码。
改 dsh 源码时才用 sh scripts/link-harness.sh --harness [checkout 路径] 切到工作树构建。
两者都没有时回退到仓库内 vendor/(schemastery / cordis / dsh-client-store)。
扫码加入 QQ 交流群,一起反馈问题、分享用法、共建插件——欢迎一起来建设!
MIT