dsh-a6api
已验证@lynn123411/dsh-a6api · v1.6.0 · MIT · Web 界面
A6API 多模型聚合站接入插件:原生 LLM 提供商注册、账户实时余额与价格波动监控、Token 白名单同步、商户线路探测与全景指标卡片
安装
dsh plugin add @lynn123411/dsh-a6api 用 dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南。
源码
发布到 npm 但没有公开仓库。安装前请检查包内容。
标签
说明文档
@lynn123411/dsh-a6api
A6API 多模型聚合站接入插件:将 A6API 聚合网关注册为 DSH 原生 LLM 提供商,提供多标签页分类视图(可用模型 / 模型目录 / 账户资产 / 基础配置)、美元与人民币余额监控、Token 授权模型白名单自动拉取、实时路由探针、按 A6API 官方模型市场维度复刻的商户指标卡片与官方 vs 商户价格比对表、标题栏与输入框下方浮层的价格波动胶囊与「模型市场」直达胶囊(均可一键跳转官网),以及后台预热加载。
特性
- 多标签页布局:设置交互拆分为「可用模型」、「模型目录」、「账户资产」、「基础配置」四个页面。
- 原生设置页形态与原生悬停提示:全插件界面按 DSH 视觉体系落地——「基础配置」为一列设置字段行(label / 控件 / 提示三段式,字段间 0.5px 发丝线,节点用分段控件、明文显隐用开关、清除/教程用 24px 图标按钮,底部单枚主按钮保存);所有悬停文案(工具栏、卡片操作、价格与倍率、固定徽标、时间戳、胶囊)统一由
@deepseek-ai/dsh-client-ui-primitives的Tooltip原子承载,气泡是 DSH 原生深色样式并portal挂到 body,不再有插件自造的提示层与配色。 - 配置页挂在宿主「插件」页:本插件的四个页面(可用模型 / 模型目录 / 账户资产 / 基础配置)整体作为本插件在「插件」页里的配置页(注册进
plugins.bundle.config,key 为包名@lynn123411/dsh-a6api)。路径是「插件」→ 本插件详情页 —— 配置直接铺在描述之下、行列表之上,不用再点开某一行。页面由宿主画标题、图标与面包屑,本插件只提供卡片正文;设置页里不再有任何本插件的入口。做法与约束见仓库docs/rules/plugin-config-page.md。 - 全真官方模型卡片复刻:1:1 像素级复刻 A6API 官网模型卡片视图,包含品牌图标、模型名、商户 ID、渠道说明、输入/输出/缓存读写单价、实时倍率比值胶囊、实时/24h/7d 阶梯成功率点阵、延迟与缓存命中率进度条、智能标签(稳定/低价/高速/高质/保真)以及真实的固定与禁用操作。
- 混合价估算标注(≈¥x/亿 tokens):每张模型卡片价格区新增绿色「≈ ¥x.xx/亿」胶囊——按卡片 24h 实测缓存命中率,把「缓存读价(命中)/ 输入价(未命中)/ 输出价」折算为每 1 亿 tokens 的混合人民币成本(输出 token 占比固定 0.35%,与官网模型市场标注口径一致),悬停展示完整估算式与每 1M 单价,对比模型贵贱;按次计费等无 token 单价的卡片不展示。
- 给模型固定商家:卡片一键「固定商家」/「取消固定」,直接调用 A6API 平台固定接口,把当前卡片商家绑定为该模型的服务渠道(优先路由);固定自动解析并绑定当前 API Key 令牌,异常时自动切换智能优选(平台默认兜底,无多余开关);检测到模型已固定到其他商家时,卡片自动切换为该固定商家(含价格/健康度指标),无需手动探测;卡片状态实时跟随官网——官网侧解除固定(如不接受涨价)后插件按钮自动还原。
- 商家禁用与恢复:卡片一键「禁用」当前商家对该模型的服务(路由不再命中),随时「恢复」;固定/禁用状态以徽标展示(已固定 / 已固定到其他商家 / 已禁用)。
- 路由快照时效标注:每张模型卡片右下角「全网最近」(该商户路线全网最近一次成功响应时间)与「个人最近」(我最近一次路由该模型的时刻,相对时间 + 悬停绝对时间)叠放两行;日志中无路由记录的模型显示灰色「从未路由」;探测完成后(无论成败、单卡或全量批内)时效即时刷新,以最新路由日志为准。
- 官方 vs 商户全景价格对比:展开卡片即可查看详细渠道说明、智能标签、真实数据徽章、近 100 次样本统计,以及官方基准价与商户实时价在「输入价/输出价/缓存读/缓存写 (1M)」各维度的清晰对比表格。
- 真实账户资产看板与调用明细:在「账户资产」页面实时呈现真实可用余额(美元及折合人民币)、历史总消耗、累计请求次数,并实时捕获展示近期模型请求的路由明细快照(时间、模型、命中商户渠道、总耗时、Token 消耗及状态)。
- 一键加入 DSH 与原生路由接入:在「可用模型」列表点击「添加到 DSH」即可把模型增量写入当前 Profile 的
llm-pi-ai条目配置(llm-pi-ai.providers.a6api,由 pi-ai 据此注册a6api路由),模型随即出现在 DSH 对话选择器中;插件不自行调用 LLM 运行时注册接口。 - 节点切换与凭据一站式配置:在「基础配置」页面支持 CDN 推荐节点(
https://api.a6api.com)、直连备用节点(https://a6.a6api.com)与自定义网关节点自由切换(分段控件选择,下方回显当前生效的 URL,选「自定义节点」时就地展开输入框),API Key / 系统访问令牌 / 账号 ID 三行字段各带明文显隐开关、已配置状态徽标与「清除」,系统访问令牌行另有就地展开的获取教程。 - 账号 ID(New-Api-User)自举:平台的账户/商户接口(
/api/user/self、/api/token/、/api/marketplace/*)强制要求New-Api-User: <账号 id>头,缺了一律 401,而该 id 原本只能从这些接口自身读出——「没有 id 就取不到 id」。系统访问令牌是 JWT(eyJhbGciOi...)时插件就地解出 payload 里的账号 id 并一次性写回凭据;不是 JWT 时「基础配置」里的「账号 ID」输入框就是唯一补位(余额同步、固定商家、令牌解析都靠它)。鉴权类上游报错会翻译成可操作的中文提示,不再把「缺账号 ID」误报成「缺令牌」。 - DSH 原生配置存储:全部配置落位 DSH 自有配置体系——凭据(API Key / 系统访问令牌 / userId)存入
~/.dsh/.credentials.yaml(0600,env 优先语义),非机密状态(节点 / 模型列表)写入当前 Profile 的llm-pi-ai条目配置(settings服务describe()读、update()/mutate()写;旧~/.dsh/settings.yaml由内核一次性导入并改名.imported),读写走 DSH 原生settings/credentials服务(串行写队列 + schema 校验 + revision 冲突校验 + 热发布),不再占用独立配置文件,也不写任何替代配置文件——配置写入失败会直接报错返回;旧版dsh-a6api-config.json启动时自动迁移并归档为.bak。启用模型时节点随模型列表一并落盘;移除全部模型时自动移除 DSH 中的 a6api 提供商块(DSH 对手写路由无合法的零模型表示)。 - 价格波动实时胶囊:标题栏余额右侧常驻「价格波动:n」胶囊(白底,仅数字变色:
0绿/n>0红/--灰),基于GET /api/marketplace/price-notices的待处理条数每 60s 轻轮询(与余额同频,仅计不处置;待处理 = 通知relations[].state === 'open',即固定渠道存在未被处理/取代的价格变动,兼容显式pendingCount字段与status ∈ open/pending/effective的兜底形态),n>0时一键新标签跳https://a6api.com/console/token,未配置/失效或0时置灰不可点,满足“只监听不处置”的轻量诉求。 - 「模型市场」直达胶囊:本插件配置页标题栏与输入框下方浮层的胶囊行中,价格波动右侧常驻同款「模型市场」胶囊(白底灰字、hover 变绿),点击新标签直达
https://a6api.com/models。 - 输入框下方快捷模型卡片:聊天输入框正下方那一行(官方统计胶囊左侧)常驻「A6api」幽灵胶囊按钮,任何会话(含子代理)均可展开浮层,贴按钮上沿向上弹出当前会话所用模型对应的完整商户卡片(与本插件配置页同一数据源与操作能力:探测/固定/禁用/详情全部可用);会话切换模型时卡片实时跟随;当前会话未使用 A6api 模型时,模型卡片区域整体置灰且不可交互,顶部账户速览胶囊(余额/价格波动/模型市场)保持正常可用。
- 浮层账户速览胶囊:浮层顶部常驻「账户余额」(纯展示,每 60s 自动同步)、「价格波动」(行为与标题栏一致,可一键跳官网)与「模型市场」(点击新标签直达
https://a6api.com/models)三枚同款胶囊,账号级数据与模型卡片无关,加载/空态恒显示。 - 后台预热无感加载:插件随 DSH 启动即后台预热一次完整状态,之后每 60s 静默整体刷新;服务端
/state将余额/模型列表/日志/固定记录等独立上游调用并行拉取(串行 5 次 RTT → 1 次)—— 输入框下方浮层与配置页打开时数据已就绪,无加载等待。服务端对/state保留 120s 短缓存供轮询复用;「可用模型」页「刷新列表」按钮带force=1绕过缓存立即向 A6API 重建最新数据。 - 模型目录管理:「可用模型」右侧的「模型目录」页——一键「从 A6API 获取市场模型」翻页拉取市场支持的全部模型 ID(参数初始为空),再「从 OpenRouter 一键查询」自动填充
contextWindow / maxTokens / input(查不到的保持留空可手动填写,每行也可单独查询;name仅用户手动填写,未填则不写入 DSH);行内编辑全部采用 DSHllm-pi-ai原生模型字段(name / contextWindow / maxTokens / input / reasoningEfforts),保存后若该模型已在 DSH 启用则立即重写llm-pi-ai.providers.a6api对应条目即时生效;OpenRouter 查询(单行「查询参数」/「一键查询」)填充到已启用模型时同样立即重写;支持按「可用(当前令牌白名单)/ 不可用」与「参数已填 / 未填」筛选;可一键「清空目录」(二次确认)后重新从 A6API 获取并重新用 OpenRouter 填充;新获取的模型默认声明 DSH 全部思考档位(off / minimal / low / medium / high / xhigh / max)。不内置静态模型目录,所有参数以运行时数据为准(存于~/.dsh/dsh-a6api/catalog.json插件子目录,与 DSH「组件自建 home 子目录」惯例一致;根目录遗留的dsh-a6api-catalog.json首次加载时自动搬迁并删除),写入llm-pi-ai条目配置时缺省字段自动省略(由 DSH 默认值兜底)。
校验
cd plugins/dsh-a6api && pnpm check
check 串起类型检查、构建、浏览器半边自检(scripts/smoke-client.mjs)与服务端两份行为测试。自检装载构建产物 lib/client.js,除装配层(本插件在插件页的 bundle 配置注册、dock 入口)外,还渲染配置卡片核对「基础配置」的字段与保存按钮,并看守悬停提示仍走 ui-primitives 的 Tooltip——渲染树与 bundle 里都不应再出现插件自造的提示属性。
安装
dsh plugin --profile web add @lynn123411/dsh-a6api