AstrBot 接了中转站,最怕的是某天站点悄悄改了接口口径,机器人突然不回话、图片发不出去、流式断在半路。你翻更新日志又看不出和自己有没有关系。这篇给一套固定动作:先分清哪类更新必须动配置,再看要改哪几处,最后用一条真实对话跑通验证。
AstrBot 接了中转站,最怕的是某天站点悄悄改了接口口径,机器人突然不回话、图片发不出去、流式断在半路。你翻更新日志又看不出和自己有没有关系,只能瞎猜。这篇给一套固定动作:先分清哪类更新必须动配置,再看要改哪几处,最后用一条真实对话跑通验证。
核心思路就一句:别盯着公告措辞猜,用你原来能跑通的那条请求当尺子。走得通就先别动,走不通才按顺序往下查。下面是具体的分类、核对清单和排查顺序。
先分清:哪种「更新」跟你有关
拿到一份更新说明,第一件事不是逐条读,而是归类。三类分清楚,才知道自己要不要动手。上新模型通常不用动,接口路径或鉴权方式改了就必须动,只调限速和额度多数不用动。
| 更新类型 | 典型表现 | 你要不要动配置 |
|---|---|---|
| 只是上新模型 | 模型清单变长,老名字还在 | 一般不用,想换再换 |
| 改了接口路径或鉴权 | 原来请求开始报 401 或 404 | 必须动,且优先处理 |
| 换了域名 | 旧地址不通或跳转异常 | 必须动,别指望一直跳转 |
| 只调限速和额度 | 高峰期开始超时或排队 | 多数不用,观察即可 |
- 判断依据不是站点公告的措辞,而是你原来能跑通的那条请求现在还通不通。
- 公告说「兼容」不等于你的写法还能用,兼容往往只覆盖官方默认接入方式。
- 如果站点同时换了域名,归到必须动那一类,别赌旧地址会长期保留。
- 不适用的情况:你自己没改过任何配置、本来就用的是站点给的默认接入方式,那大概率轮不到你操心。
AstrBot 这边要核对的几处配置
确认要动配置之后,别乱翻面板。AstrBot 这边真正会影响中转站请求的,就那么几处。挨个对一遍,比对着一整页设置发呆快得多。
- 核对三项基本信息API 基础地址、密钥、模型名挨个对。模型名最容易出问题,站点换了个叫法,你这边就报模型不存在。
- 确认鉴权头形式有的站点认 Bearer 前缀,有的直接塞密钥。改错了表现都是同样的 401,光看报错分不出来,对照站点文档确认。
- 确认接口协议走的是 OpenAI 兼容接口还是站点自己的协议,决定你能不能继续用现成的那套请求写法;不兼容就得改适配层。
- 改完重载进程配置面板里改了记得重启或重载。很多人改了没生效,其实是旧进程还在跑,读的还是老配置。
- 基础地址
- 指向中转站的入口,换域名时这里第一个要改。
- 鉴权头
- 决定你是谁,形式错了会统一表现成鉴权失败。
- 模型名
- 站点侧的叫法,和官方名字不一定一致,最常出错。
- 接口协议
- 请求和响应的格式约定,不兼容时要动适配层而不是改配置。
如果你接了好几个站点,别只改当前在用的那个。备用配置里还留着老地址、老模型名,主站出问题时切过去照样不通。改配置时顺手把备用的也对一遍。
改完怎么验:一条真实链路跑一遍
改完配置最忌讳一上来就测复杂场景。图片、流式、多轮全堆在一起,报错也看不出是哪一层的问题。按由简到繁的顺序测,每步都确认通过再往下。
- 先测纯文本单轮一句最简单的对话,确认连通和鉴权都对。这一步不过,后面都不用测。
- 再测多轮上下文连着问两三轮,看会话状态有没有被丢掉。能揪出协议不兼容但单轮还能过的情况。
- 最后测流式和长回复流式断流、超时提前结束,基本都是这一层才暴露出来的。
- 按固定顺序排查连不上 → 鉴权错 → 模型不存在 → 能回但不对,顺着走比东改一处西改一处快得多。
有时候能连通但慢得离谱,先别急着怪站点。拿不准延迟是站点的问题还是你自己的网络,先到 接口测速(/tools/speed-test) 量个基线再下结论,免得白改一通配置。
让下次更新少折腾你
与其每次更新后手忙脚乱,不如花十分钟把现状记下来。下次出问题,翻出记录一对比,就知道到底变了什么。
- 把能跑通的配置记一份,包括地址、模型名、请求格式和当时的时间,下次一眼看出差异。
- 密钥和地址尽量走配置文件或环境变量,别散在几处,改的时候容易漏。
- 别把鸡蛋放一个篮子:主用一个站点,另留一个能顶上的备用配置,切换只改一两行那种。
- 如果站点长期不更新日志、只让你自己试,把它当成不稳定信号,处理方式参考 站点跑路或掉包之后怎么处理(/guides/stop-loss-and-migrate)。
想比对当前各站点的接入方式和历史变动,可以到 中转站列表(/sites) 和 价格追踪(/price-watch) 看当时的记录,比凭印象判断靠谱。
下一步把手上正在用的中转站按上面的清单核一遍,顺手记下能跑通的配置;想知道这个站点近期靠不靠谱,去站内页面核对当时的检测结果和变动记录。→常见问题
AstrBot 突然不回消息了,是中转站更新导致的吗?
先别急着怪站点。按顺序排:密钥是不是过期或欠费、模型名还存不存在、地址有没有变、请求有没有真的发出去。最快的办法是拿同一把密钥在命令行发一条最简请求,通了就说明是 AstrBot 这边的配置或进程问题,不通再去找站点。
更新后模型名对不上怎么办?
去站点自己的模型列表页把当前可用的名字抄下来,别用你上次记的那个。中转站普遍会对同一个上游模型起不同的别名,也可能随时改名或下线。改完在 AstrBot 里先跑一条纯文本确认,再考虑多模态和流式。
能不能一次把配置改成「以后都不用动」?
做不到。中转站的上游渠道会变,接口口径跟着变。能做的是把地址、密钥、模型名集中放一处,出问题时只改一个地方;再准备一份备用站点的配置。这样单次更新的处理成本能压到几分钟。