mirror of
https://github.com/23Star/xianyu-super-butler.git
synced 2026-09-01 16:14:35 +08:00
2042f88c8b
修复客户反馈的问题,补齐缺失的后台入口,并解决 NAS 等低配设备装不上的问题。 多件订单只发一份 按订单件数发货此前默认关闭,还要逐个商品手动打开,买家一单买三件只收到 一份卡券。改为默认开启,并加数据库迁移 1.6 补齐存量商品。仍可对单个商品 关闭,该设置不会被后续升级覆盖。 AI 回复频繁失败 - choices[0].message.content 为 None 时直接 .strip() 抛错。回复被 max_tokens 截断、命中内容过滤,以及把正文放在 reasoning_content 的推理类模型都会走到 这条路径,表现为"接口是通的,回复却时有时无"。改为分场景明确报错并兼容 reasoning_content。 - 完全没有重试,一次限流或抖动就放弃。补上有限重试:限流、超时、网关错误 退避重试,鉴权和参数错误立即放弃,避免拖慢回复。 - max_tokens 三处硬编码 100,中文只有 50~70 字,极易截断。改为读配置, 默认 400 并做上下限保护。 NAS 与低配设备装不上、资源被打满 - Dockerfile-cn 的 apt、pip、npm 都指向了国内镜像,唯独 Chromium 仍走官方 CDN,国内构建会卡到超时。补上 PLAYWRIGHT_DOWNLOAD_HOST。 - nuitka、ordered-set、zstandard 只在打包成二进制时用到,服务本身一行都没 import,却装在主依赖里,在弱 CPU 上会编译到卡死。移到 requirements-build.txt。 - 容器内跳过前端构建:镜像已带产物,运行时既没有 npm 也没有 node_modules。 - 前端目录扫描改为先剪枝再遍历。原本用 rglob 先把 node_modules 几万个文件 走一遍再过滤,机械盘上能卡好几分钟。 - Playwright 检测优先读 PLAYWRIGHT_BROWSERS_PATH。容器里浏览器在 /ms-playwright, 原逻辑找不到就靠"真启动一次浏览器"来判断,白烧一次冷启动。 - 新增 docker-compose.nas.yml:直接拉预构建镜像,不在本机编译,也不依赖 .env (NAS 图形界面没地方放 .env,缺变量会直接中断部署),内存上限放到 3G。 - 新增 docker-publish.yml,构建并发布 amd64/arm64 镜像到 ghcr。 缺失的后台入口 - 设置页补「修改登录密码」。后端 /change-password 一直都在,只是没有界面。 - 登录页补注册入口与注册表单。「允许用户注册」开关此前开了也看不到入口。 - 注册邮箱验证改为后台开关:没配 SMTP 的部署可以关掉先用起来,配好再开。 验证码邮件不再外发给第三方 未配置 SMTP 时,原先会回退到站外接口 dy.zhinianboke.com 代发,把注册者邮箱 交给第三方,部署方和用户都不知情,而且返回 200 就报"发送成功",用户只会 一直等一封永远收不到的邮件。现已移除该回退:发不出去就直接报错。 设置页开关关掉后打不开 后端把开关存成 'true'/'false' 字符串,前端当布尔用。'false' 是 truthy,关掉 的开关仍显示开启,取反后恒为 false。新增 toBool 统一转换,修正 6 个开关。 其他 - 版本号统一为 3.0.0-beta,「关于」页加官网 xy.corleom.com。 - 更新群二维码,README 补充 NAS 部署与排查说明。