公告:有新版本诚邀测试,让通用化配置变得更加简单,点击可查看 Dev分支
Astrbot 仓库的版本可能较旧,如果版本有问题请优先选择
使用 URL 安装
AstrBot 万能余额查询,只需要详细填写配置文件即可
优势:
- 支持99%的余额请求格式
- 内置解析器:常用服务开箱即用,只需填 api_key
- 配置中任意一行失败,不影响其他行
- 支持LLM请求(可开关)
- 支持YAML配置,更灵活,支持URL参数、复杂Header、多结果展示
- 可选择使用旧版或新版配置
使用balance命令,则会返回如下格式的消息:
余额查询结果:
A云 1.14 元
B云 5.14 元
如没有特殊站点,下面内置解析器的版本足够大部分人使用
可以直接复制并修改 api_key 字段为你的 token
如没有支持的站点 请跳转到下方 自定义格式
只需填写 type + api_key 即可
services:
deepseek: # 只需要复制需要的三行即可
type: "deepseek"
api_key: "sk-xxx"
siliconflow:
type: "siliconflow"
api_key: "sk-xxx"点击展开更多配置
onething:
type: "onething"
api_key: "sk-or-xxx"
kimi:
type: "kimi" # moonshot
api_key: "sk-xxx"
kimi-full:
type: "kimi-full" # 更详细的显示:Kimi: 25 元 (现金: 10 元, 代金券: 15 元)
api_key: "sk-xxx"
apimart:
type: "apimart"
api_key: "sk-xxx"
apimart-full:
type: "apimart-full" # 更详细的显示:apimart: 25 元 (已用: 15 元)
api_key: "sk-xxx"
apimart-credits:
type: "apimart-credits" # 积分为单位,无汇率转换
api_key: "sk-xxx"
apimart-credits-full:
type: "apimart-credits-full" # 更详细的显示:apimart: 10 积分 (已用: 5 积分)
api_key: "sk-xxx"
aihubmix:
type: "aihubmix" # 此方式需要魔法驱动
api_key: "sk-xxx"
openai:
type: "openai"
api_key: "sk-xxx"使用 type: "custom" 时为自定义模式,可以和上方配置混合使用
对于没有支持的站点,或者想自定义格式,此配置可以更灵活的设计一行的输出
services:
Deepseek:
type: "custom" # 标识为自定义格式
url: "https://api.deepseek.com/user/balance" # 请求的地址
headers: # 请求头列表,支持多个请求头
Accept: "application/json"
Authorization: "Bearer Your-APIKEY" # API-KEY 填写位置
result_template: "Deepseek: {{balance_infos.0.total_balance}} 元" # 返回模板,双层括号为json节
SiliconFlow:
type: "custom"
url: "https://api.siliconflow.cn/v1/user/info"
headers:
Authorization: "Bearer Your-APIKEY"
Content-Type: "application/json"
result_template: "哈基流动: {{data.totalBalance}} CNY/元/人民币/Q币" # 模板可以修改成任何东西
new-api: # 此处为基于NewApi站点的通用配置,可以改成对应站点名字
type: "custom"
url: "http://newapi.domain/api/user/self" # 替换newapi.domain为你的站点地址
headers:
Authorization: "Bearer Your-Access-Token" # 不是APIKEY,需要登录 new-api 后台 → 个人设置 → 生成访问令牌(Access Token)
New-Api-User: "1" # 用户ID
result_template: "new-api: {{round({data.quota}/500000, 2)}} 美元 (已用 {{round({data.used_quota}/500000, 2)}})"| 项目 | 用途 |
|---|---|
| type | 代表字段类型,用于判断是使用已有的模板,还是使用自定义模板 |
| url | 请求地址,支持URL参数 |
| headers | 请求头,键值对形式,支持特殊字符 |
| method | 请求方法(可选,默认GET) |
| result_template | 结果模板,使用 {{path}} 替换,支持公式计算 |
它支持大部分已提供api的服务商,并且格式大差不差
如这是网心AI的默认请求方式:
curl 请求例子:
curl 'https://api-lab.onethingai.com/api/v1/account/wallet/detail' -H 'Authorization: Bearer {TOKEN}'返回例子:
{
"code": 0,
"msg": "Success",
"data": { #这里有个data配置节
"availableBalance": 0.05, #假设这一项是余额
"availableVoucherCash": 72.93,
"consumeCashTotal": 6,
}
}假设你的token是123456,那么应将配置写为:
OneThing:
url: "https://api-lab.onethingai.com/api/v1/account/wallet/detail" # 请求地址
headers:
Authorization: "Bearer 123456" # 余额
Content-Type: "application/json"
result_template: "网心云: {{data.availableBalance}} 元" # 配置节当请求balance的时候,对应行应返回
网心云 0.05 元
通常用于特殊站点,你可以给常见站点配置,如计算百分比用量
使用 双层大括号 {{}} 包裹内容:
# 简单取值
result_template: "{{data.totalBalance}} 元"
# 公式计算(内层 {path} 替换后计算外层)
result_template: "{{abs({data.totalBalance})/100}} 元"
result_template: "{{round({data.usage}/{data.limit}*100, 1)}}%"支持的函数:
| 函数 | 说明 | 示例 |
|---|---|---|
abs(x) |
绝对值 | {{abs({data.balance})}} |
round(x, n) |
保留 n 位小数 | {{round({data.usage}/{data.limit}*100, 1)}} |
sqrt(x) |
平方根 | {{sqrt({data.value})}} |
pow(x, n) |
幂运算 | {{pow({data.x}, 2)}} |
floor(), ceil() |
取整 | {{floor({data.value})}} |
支持运算符:+, -, *, /, %(如 50% = 50/100)
他会针对每一行返回异常,当调用的时候异常会显示在消息中(不会泄露token)
| 注解 | 返回的消息 |
|---|---|
| 当字段数缺失的时候 | 配置格式错误(字段数不正确) |
| 返回的状态码非200 | 服务商名字 请求失败 |
| 获取的值为空/路径找不到 | 服务商名字 未找到字段 配置的字段名 |
| 请求超时 | 服务商名字 请求超时 |
| 任何未定义的异常 | 服务商名字 异常 |
修改:
- Xbodwf
修改 (AI):
- ChatGPT
- MiniMax M2.5
- Deepseek V4 Pro
- Qwen Coder
