dsh-radeon-capacity:在 DSH 模型选择器里读 AMD Radeon Cloud 并发容量

前言

用 DeepSeek Harness(DSH)接 AMD Radeon Cloud(Token Factory)时,模型并发会在 idle、busy、full 之间变化。撞上 full 往往要等配额腾出来,而原先要么去网页控制台看「AI Capacity」,要么等限流报错。维护者 lcy362 的客户端插件 dsh-radeon-capacity 把控制台同源的数据接到 DSH 模型选择器:在点选模型之前就能看到每个模型的忙闲水位,并在当前模型名同一行显示选中模型的容量读数。它不接管模型调用,传输与用量仍由 DSH 自带的 dsh-llm-pi-ai 负责。

这是什么

dsh-radeon-capacity 是 DSH 的独立插件,分类为客户端。核心能力是容量读数;已配置 Radeon provider 的用户安装后通常无需额外填写。额度信息会一并展示,但 AMD 目前免费不限量,该数字仅作参考,不影响能否调用。插件也可选代为写入 provider 配置(落在 DSH 用户层,卸载插件后 provider 仍保留)。

界面上的表现

读数挂在 conversation.input.right,与模型选择器同在 standardControls 容器内、渲染在选择器左侧,因此与模型名并排;选定模型但尚未开始会话时也会显示(与模型选择器共用同一 sessionId 守卫)。

位置 内容
模型选择器 每个 Radeon 模型名后一枚徽章:● 12%(绿)/ ● 63%(橙)/ ● 100%(红)
模型选择器同一行 当前选中模型的容量在模型名左侧;额度弱化跟在后面,例如 ● Busy 55% · $0.97 / $1.00
设置 → 插件 → dsh-radeon-capacity 已写入模型与实时容量列表;可选配置区

徽章仅在探测到 Radeon provider 后注册;未配置 Radeon 时不占用槽位,不会顶掉内核自带的模型标注。界面读数为英文(Idle / Busy / Full,与 AMD 控制台术语一致);设置页跟随 DSH 的 locale,中英双语。

核心功能

容量读数

数据来自控制台内部路由 GET /radeon/api/tokenfactory/load,响应形态类似:

{ "models": { "GLM-5.3-Flash": { "state": "full", "label": "At capacity", "utilization": 100 } } }

该端点 TTFB 约 25 秒、cache-control: no-store,且返回的模型集合会浮动(约 13~16 个有流量的模型)。插件在宿主侧做缓存与单飞,采用 stale-while-revalidate:过期先展示旧值、后台刷新,避免界面卡在单次长请求上。默认容量缓存 capacityTtlMs: 30000,读数新鲜度大致在 30 秒量级。

额度展示(可选)

网关在正常响应上附带 x-ratelimit-* 头。插件可用 max_tokens: 1 探针读取(约 0.31 秒,占 1 次 RPM),默认 60 秒 TTL。不做门控、不参与告警;tooltip 标明仅供参考。不需要时可设 quotaProbe: false,仅去掉额度参考,容量不受影响。

Provider 识别与可选配置

已配好 Radeon 的人:装完即有读数。插件按 baseURL 是否含 developer.amd.com.cn 识别,不要求改 provider 名称或密钥引用名。

尚未配置 provider 时,可在插件设置页填写 provider id、凭据引用名、rc-… API 密钥并「写入配置」。写入的是用户层 profile 补丁,卸载插件后 provider 仍可用。配置页展示已写入模型及「已写入 / 新增 / 将移除」状态;提交后立即返回,不等待容量端点刷新。

内置对话模型档位表与 reasoningEfforts、compat 等实测项,写入 provider 时一并带上;配置页还会对照 GET /v1/models 列出线上有而表里没有的模型供勾选。

安装与启用

从插件市场安装(推荐)

在 DSH「设置 → 插件 → 发现」中添加市场来源 URL:

https://raw.githubusercontent.com/lcy362/dsh-radeon-capacity/main/market/index.json

国内访问 raw.githubusercontent.com 不稳定时,可使用 jsDelivr:

https://cdn.jsdelivr.net/gh/lcy362/dsh-radeon-capacity@main/market/index.json

在「发现」中安装 Radeon Capacity 即可(市场按钉死的 commit 安装)。

从源码安装

cd ~/.dsh/profiles/desktop
pnpm add dsh-radeon-capacity

并在 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles 中登记 dsh-radeon-capacity。

一般无需重启 DSH:profile 的 package.json 与 cordis.patch.yml 变更会经 HMR 重算补丁;客户端 bundle 变更会推 /plugins/events 并热更新。仅当日志出现 changed modules keep running their previous code until a restart 时,已加载过的模块可能需要重启。

典型用法

场景一:已有 Radeon provider

安装市场或 pnpm add 后打开 DSH,在模型选择器中查看各模型徽章与当前行容量即可,无需改现有 cordis 配置。

场景二:首次接入 Radeon

  1. 安装插件;
  2. 打开「设置 → 插件 → dsh-radeon-capacity」;
  3. 填写 provider id(默认 amd)、凭据引用(默认 AMD_API_KEY)、API 密钥;
  4. 点「写入配置」,按需勾选模型列表;
  5. 回到对话界面,在选模型前观察容量徽章。

可选插件配置(写在 profile 的 cordis.patch.yml 中 radeon-capacity 节点下)示例:

- id: radeon-capacity
  name: dsh-radeon-capacity
  config:
    providerId: amd
    apiKeyEnv: AMD_API_KEY
    displayName: Radeon Cloud
    baseURL: https://developer.amd.com.cn/radeon/api/v1
    quotaProbe: true
    capacityTtlMs: 30000
    quotaTtlMs: 60000

适用场景与注意

适合谁:在 DSH 里日常使用 AMD Radeon Cloud、希望减少切控制台或撞 full 后才察觉拥塞的开发者。

运行与信任:插件以当前 DSH 进程权限运行,会向 Radeon API 发起读数与可选探针请求。安装前建议阅读仓库源码与 MIT 许可证,自行评估凭据与网络暴露面。

已知限制(来自 README):

  • 容量读数最细约 30 秒级,不是秒级实时;
  • full 表示并发预算已满,插件不做硬禁用,只标红提示;
  • 上游只返回有流量的模型,冷门模型可能无读数;
  • 容量端点为控制台内部路由,未文档化,失败时静默降级为「暂无读数」;
  • 接管模型名旁徽章槽后,需与内核 dsh-client-ui-deepseek-model-label-1017 的判定保持一致;可通过配置关闭 modelLabelBadge 以降低耦合(代价是选择器内无容量徽章)。

本地验证:npm test(44 项);真机冒烟可用 node scripts/smoke.mjs(不打印密钥)。

结尾

dsh-radeon-capacity 把 Radeon 控制台侧的 AI Capacity 接到 DSH 模型选择器同一行,让你在发起对话前判断模型是否拥挤;调用链路仍走 DSH 原有 LLM 插件。更多信息见 SkillHub 目录页 与 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye