现有 Admin 已能把顺运宝规格与已采集的 PDD 可购买 SKU 做确定性排序,并由采购员在单条详情中人工保存映射。本 MVP 增加批量 AI 规格匹配:采购员在顺运宝列表勾选商品后发起匹配,AI 只能从当前真实候选中选择;通过服务端硬校验的结果直接写入现有规格映射并标记来源为 AI,之后仍由采购员显式创建真实采购任务。
同时在 Admin 增加仅管理员可访问的 AI 模型配置,用于快速切换服务商、OpenAI 兼容接口和模型。API Key 不写数据库、data/、日志、Gitea 或文档,保存后任何账号(包括管理员)都不能回显明文,只允许替换或清除。
data/
/etc/cmautobuy/ai-secrets.yaml
spec_mappings
_test
关闭 AI 功能并停止新批次即可回到现有单条人工匹配流程;配置和审计表保留。已经写入且仍有效的 AI 映射不做破坏性回滚,采购员可在详情页人工改写为人工映射。
用户明确要求 OpenAI 兼容 Base URL 同时支持 HTTP 和 HTTPS,并且不增加配置项。#223 只扩展允许的 URL 协议;现有 URL 凭据禁用、私网/回环/元数据限制、DNS、实际拨号、重定向校验和独立密钥存储保持不变。HTTP 不提供传输加密,使用者需自行承担链路明文风险。
#200、#201、#202 已按依赖顺序完成实现、单元归档和工单回写:
MVP 边界保持不变:AI 匹配不创建采购任务、不调用 Client、不自动付款,也没有放宽真实采购门禁;API Key 不进入数据库、data、日志、响应、工单或归档。
固定工具链集成回归:
GOTOOLCHAIN=go1.23.0 go build ./...
GOTOOLCHAIN=go1.23.0 go test ./... -count=1
GOTOOLCHAIN=go1.23.0 go vet ./...
node --check static/js/app.js
go1.23.0 windows/amd64
未验证项:当前没有启用独立 MySQL 8.4 _test 数据库,涉及 v20-v22 实际迁移、事务并发、重启恢复的专项用例被明确跳过;未连���真实模型服务,也未执行浏览器 1366×768 人工验收。没有使用生产库代替测试库。
按项目流程,本 MVP 和三个子工单继续保持打开;用户验收通过后再关闭子工单、更新本工单清单并创建 MVP 总结归档。
关联跨端 MVP #253。#199 继续负责 Admin 网页批量 AI 匹配和通用 AI 配置/候选安全核心;#255 在其基础上增加采购运行时真机候选编排。两者必须复用同一模型客户端、端点安全、候选白名单、置信度和响应硬校验,不能复制第二套 AI 配置或密钥存储。
#253 会新增一次性 Client 规格解析命令,但不改变 #199 原有“SYB 列表人工发起批次”的范围,也不让模型创建采购任务或生成候选外规格。
No dependencies set.
The note is not visible to the blocked user.
背景与目标
现有 Admin 已能把顺运宝规格与已采集的 PDD 可购买 SKU 做确定性排序,并由采购员在单条详情中人工保存映射。本 MVP 增加批量 AI 规格匹配:采购员在顺运宝列表勾选商品后发起匹配,AI 只能从当前真实候选中选择;通过服务端硬校验的结果直接写入现有规格映射并标记来源为 AI,之后仍由采购员显式创建真实采购任务。
同时在 Admin 增加仅管理员可访问的 AI 模型配置,用于快速切换服务商、OpenAI 兼容接口和模型。API Key 不写数据库、
data/、日志、Gitea 或文档,保存后任何账号(包括管理员)都不能回显明文,只允许替换或清除。范围与非范围
关键架构决策
data//release 之外且权限为 600 的密钥文件。生产建议路径为/etc/cmautobuy/ai-secrets.yaml。阶段与子工单
依赖与风险
spec_mappings、�����下文版本和人工详情页保存逻辑。MVP 验收标准
data/、日志、响应正文、工单或文档,保存后不能回显明文。_test首建/升级/重放及权限、并发、超时回归通过。回退策略
关闭 AI 功能并停止新批次即可回到现有单条人工匹配流程;配置和审计表保留。已经写入且仍有效的 AI 映射不做破坏性回滚,采购员可在详情页人工改写为人工映射。
实施中新增缺陷(2026-08-14)
HTTP 模型接口兼容范围变更(2026-08-14)
用户明确要求 OpenAI 兼容 Base URL 同时支持 HTTP 和 HTTPS,并且不增加配置项。#223 只扩展允许的 URL 协议;现有 URL 凭据禁用、私网/回环/元数据限制、DNS、实际拨号、重定向校验和独立密钥存储保持不变。HTTP 不提供传输加密,使用者需自行承担链路明文风险。
生产可用性与失败反馈(2026-08-14)
候选上限调整(2026-08-21)
2026-08-21 生产发布任务
AI 超时调整(2026-08-21)
2026-08-21 AI 等待时间生产发布
2026-08-21 候选上限 150 条生产发布
MVP 集成候选已完成,待用户验收
#200、#201、#202 已按依赖顺序完成实现、单元归档和工单回写:
MVP 边界保持不变:AI 匹配不创建采购任务、不调用 Client、不自动付款,也没有放宽真实采购门禁;API Key 不进入数据库、data、日志、响应、工单或归档。
固定工具链集成回归:
GOTOOLCHAIN=go1.23.0 go build ./...:通过GOTOOLCHAIN=go1.23.0 go test ./... -count=1:通过GOTOOLCHAIN=go1.23.0 go vet ./...:通过node --check static/js/app.js:通过go1.23.0 windows/amd64未验证项:当前没有启用独立 MySQL 8.4
_test数据库,涉及 v20-v22 实际迁移、事务并发、重启恢复的专项用例被明确跳过;未连���真实模型服务,也未执行浏览器 1366×768 人工验收。没有使用生产库代替测试库。按项目流程,本 MVP 和三个子工单继续保持打开;用户验收通过后再关闭子工单、更新本工单清单并创建 MVP 总结归档。
关联跨端 MVP #253。#199 继续负责 Admin 网页批量 AI 匹配和通用 AI 配置/候选安全核心;#255 在其基础上增加采购运行时真机候选编排。两者必须复用同一模型客户端、端点安全、候选白名单、置信度和响应硬校验,不能复制第二套 AI 配置或密钥存储。
#253 会新增一次性 Client 规格解析命令,但不改变 #199 原有“SYB 列表人工发起批次”的范围,也不让模型创建采购任务或生成候选外规格。