生产部署重启后,/etc/cmautobuy/admin.env 未配置 CMAUTOBUY_AI_SECRETS_PATH,线上也没有独立 AI 密钥文件。采购员提交 SYB AI 规格匹配时,请求在创建批次和调用模型前失败;页面只通过重定向消息反馈,容易被忽略。
/etc/cmautobuy/admin.env
CMAUTOBUY_AI_SECRETS_PATH
复现:
2608139NVHNBKG
/syb/ai-match
600
data/
admin/handler/web/ai_match.go
admin/handler/web/others.go
admin/templates/syb/list.html
admin/static/js/app.js
html/template
从 admin/ 执行:
admin/
$env:GOTOOLCHAIN="go1.23.0" go build ./... go test ./... -count=1 go vet ./... node --check static/js/app.js Remove-Item Env:GOTOOLCHAIN
生产只读核对环境变量名、密钥文件权限和批次/决策状态;不得打印密钥内容。浏览器验证失败弹窗,并在配置修复后重新提交指定订单。
0208dc6
ai_error
alertdialog
msg
go test ./... -count=1
go build ./...
go vet ./...
node --check static/js/app.js
git diff --check
/opt/cmautobuy/releases/0208dc6/cmautobuy-admin
ProtectSystem=strict
ReadWritePaths
ProtectSystem=true
ReadWriteDirectories
config.yaml
data
未验证:没有采购员登录会话,未代替用户在浏览器重新点击订单 2608139NVHNBKG;该项保留待用户验收。
归档已提交并推送:
cbe8d03
docs/task/229-Admin-AI规格匹配失败弹窗与生产密钥配置.md
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
生产部署重启后,
/etc/cmautobuy/admin.env未配置CMAUTOBUY_AI_SECRETS_PATH,线上也没有独立 AI 密钥文件。采购员提交 SYB AI 规格匹配时,请求在创建批次和调用模型前失败;页面只通过重定向消息反馈,容易被忽略。复现:
2608139NVHNBKG。/syb/ai-match返回 303,批次和决策均未创建;重定向消息提示密钥存储未配置,但没有明确弹窗。做什么 / 不做什么
600的 AI 密钥文件,在/etc/cmautobuy/admin.env配置CMAUTOBUY_AI_SECRETS_PATH,重启并验证模型连接与指定订单匹配。data/、日志、工单或文档。怎么做
admin/handler/web/ai_match.go:AI 匹配未开始时用独立、可识别的查询参数回到 SYB 页面,不把普通同步消息误当成 AI 弹窗。admin/handler/web/others.go、admin/templates/syb/list.html与admin/static/js/app.js:服务端传递一次性 AI 错误,页面加载后打开可关闭、可键盘操作的错误弹窗;正文使用html/template自动转义。验收标准
CMAUTOBUY_AI_SECRETS_PATH指向 release/仓库/data/之外的600文件,服务账号可读写。2608139NVHNBKG能创建批次并得到逐条结果。怎么验证
从
admin/执行:生产只读核对环境变量名、密钥文件权限和批次/决策状态;不得打印密钥内容。浏览器验证失败弹窗,并在配置修复后重新提交指定订单。
风险和回退
html/template文本转义并限制为纯文本展示。实施记录(2026-08-14)
0208dc6,AI 创建前错误改用独立ai_error参数,SYB 页面自动打开alertdialog;普通msg不会误触发。go test ./... -count=1、go build ./...、go vet ./...均通过;node --check static/js/app.js、git diff --check通过。/opt/cmautobuy/releases/0208dc6/cmautobuy-admin,systemd active,公网登录页和新 JS 均可访问。data/外的专用目录;文件权限600,服务账号可读写。未在工单、日志或命令输出中记录密钥。CMAUTOBUY_AI_SECRETS_PATH。ProtectSystem=strict/ReadWritePaths;二进制自动回滚成功。随后改用兼容的ProtectSystem=true/ReadWriteDirectories,补齐 release 的config.yaml、data链接后发布成功。未验证:没有采购员登录会话,未代替用户在浏览器重新点击订单
2608139NVHNBKG;该项保留待用户验收。归档已提交并推送:
cbe8d03docs/task/229-Admin-AI规格匹配失败弹窗与生产密钥配置.md2608139NVHNBKG并验收弹窗/结果。