待验收。实现提交 aa2ecc6ef791d1ebbd9c4f0ee64c84816de046cc 已推送;2026-09-02 已在线执行追加迁移 1788354164329 并发布为 20260902-aa2ecc6-r1,GoAuto/Nginx 已重启且健康检查通过;系统任务保持关闭,尚未执行真实 AI 批处理验收。
aa2ecc6ef791d1ebbd9c4f0ee64c84816de046cc
1788354164329
20260902-aa2ecc6-r1
uncertain
failed
sybimport.Parse
RawJSON.productSpec
purchase.previewFromDataset
parse_status=success
manually_confirmed=true
uncertain/failed
GoAutoShopeeSpecAutoMatch
GoAutoSYBSpecAIParse
parse_status IN ('uncertain','failed')
RawJSON
productSpec
autoConfirmMinConfidence
syb_product
ai_confirmed
parse_status
success
manually_confirmed
syb_spec_ai_parse_run
syb_spec_ai_parse_work_item
sys_job
ExecWithDB
f27ec1630788ac9a6a8287caf65e486ba3e3abce
shopee_product_id
server/app/goauto/sybimport/
server/app/goauto/aimatching/
server/app/goauto/models/
server/app/goauto/migrations/
server/app/jobs/
server/cmd/migrate/migration/version-local/
server/app/goauto/purchase/
SYB_PARSE_FAILED
sync
sync --check
./scripts/verify.ps1 -Component server
python dev_scripts/harness.py check --strict
Gitea MCP 在当前环境不可用,本次按仓库规则回退已配置的 Gitea API;凭据仅从忽略文件读取,未写入代码、日志、工单或文档。
feat/198-syb-ai-parse
0 5 * * * *
batchLimit=20
server/cmd/migrate/migration/version-local/1788354164329_syb_spec_ai_parse.go
go test ./...
go vet ./...
go test -race ./app/goauto/aimatching ./app/goauto/sybimport ./app/goauto/purchase
git diff --cached --check
已在线更新并回读:
568d40fd882dc520e247226c4dd4d5c6b03122d9
a60c48f56ec7cad6f886df78a644fbabb92d288f
75cebdfb2408d35e59d05d5755068b6d8cd126f5
6b6458ea30bc2140ad39dbf0c28c0d5896ee7618
已执行唯一一轮 sync 和一轮 sync --check,均成功。同步同时带回与 #198 无关的 docs/12-syb-erp-interface.md 既有远端变化,已保留为未暂存修改,未混入本提交。
docs/12-syb-erp-interface.md
已按用户 2026-09-02 明确授权执行在线追加迁移并发布;定时任务保持关闭。
/home/goauto/releases/20260902-aa2ecc6-r1
/home/goauto/current -> /home/goauto/releases/20260902-aa2ecc6-r1
pnpm run build:prod
aec6c3190ab36fb667b45d6c14f88e68da51dd0eb99234a87bd3e1ae5c1c51bc
1ab9d485ba69f79a6308cafacada1c41d744f67b73aecffe1a0564eeeccab0b4
/home/goauto/backups/pre-198-20260902-aa2ecc6.sql
48b858b83ebe29127783eb3927ddd04b370f596ac4a2c90ee05c19d574f53ac1
1788354164329_syb_spec_ai_parse.go
sys_migration
job_id=5
{"batchLimit":20}
status=1
20260902-f27ec16-r1
active
goauto-server
http://185.216.248.75:9527/
index.html
/api/v1/health
Gitea MCP 在当前会话不可用,按仓库规则回退 Gitea API;首次 API 读取曾超时,连接恢复后已重新读取工单并完成本次回写。
No dependencies set.
The note is not visible to the blocked user.
阶段
待验收。实现提交
aa2ecc6ef791d1ebbd9c4f0ee64c84816de046cc已推送;2026-09-02 已在线执行追加迁移1788354164329并发布为20260902-aa2ecc6-r1,GoAuto/Nginx 已重启且健康检查通过;系统任务保持关闭,尚未执行真实 AI 批处理验收。原始需求摘要
uncertain或failed而显示“采购规格解析存疑,请先人工修正并确认”时,由定时任务使用 AI 在安全边界内尝试解析,减少逐条人工修正。当前事实与问题边界
sybimport.Parse目前仅按确定性规则拆分RawJSON.productSpec,没有 AI 路径。purchase.previewFromDataset只信任parse_status=success或manually_confirmed=true;未确认的uncertain/failed会阻止创建采购。GoAutoShopeeSpecAutoMatch处理的是“蝦皮规格 → PDD 规格”,扫描单位是蝦皮商品,不能纠正 SYB 明细中的目标颜色/尺码,也不能消除本报错。目标范围
GoAutoSYBSpecAIParse,按批次扫描未人工确认的parse_status IN ('uncertain','failed')SYB 明细。RawJSON。非目标
productSpec为空、关联蝦皮商品缺失、蝦皮规格候选缺失或候选角色不明确的记录;这些仍需人工处理。manually_confirmed=true;不修改已有采购任务的不可变规格快照。AI 输入与安全边界
productSpec、关联蝦皮商品的颜色候选、尺码候选;不发送订单号、店铺、价格、地址、账号、完整 RawJSON、PDD 页面数据或个人信息。autoConfirmMinConfidence;低置信度、歧义、无结果或上下文漂移保持异常状态。数据与状态方案
SYB 明细确认来源
syb_product增加 AI 确认事实(建议ai_confirmed、置信度、限长理由、确认时间和输入指纹)。parse_status继续记录确定性解析器的结果,不把 AI 结果冒充success;manually_confirmed继续只表示人工决定。success、人工确认或有效 AI 确认三者之一。productSpec或关联规格上下文变化时旧 AI 确认必须失效。运行与工作项
syb_spec_ai_parse_run:触发来源、requestId、状态、批量上限、扫描/符合/处理/确认/未匹配/失败计数、脱敏错误、全局活动槽和租约。syb_spec_ai_parse_work_item:按 SYB 商品唯一,保存输入指纹、状态、尝试次数、下次尝试时间、租约、稳定错误码与脱敏结果。productSpec、蝦皮规格候选、关联关系和 AI 设置更新时间。调度与依赖
sys_job、ExecWithDB和 #195 已验证的活动槽/租约/工作项模式,但使用独立表和独立调用目标。f27ec1630788ac9a6a8287caf65e486ba3e3abce。shopee_product_id为唯一键的工作项。设计证据
预计影响
server/app/goauto/sybimport/:AI 解析服务、资格、确认写入及同步/人工覆盖规则。server/app/goauto/aimatching/:增加封闭候选的 SYB 解析请求/响应,不复用 PDD 映射语义。server/app/goauto/models/、server/app/goauto/migrations/:字段、运行表和工作项表。server/app/jobs/:注册GoAutoSYBSpecAIParse。server/cmd/migrate/migration/version-local/:追加迁移与默认关闭系统任务。server/app/goauto/purchase/:可信规格判断纳入有效 AI 确认。验收标准
productSpec、无关联蝦皮商品、无候选或角色歧义不调用 AI且保持人工处理。SYB_PARSE_FAILED,但后续 PDD 映射、价格、任务、订单及支付门禁保持不变。sync与sync --check完成。验证方式
./scripts/verify.ps1 -Component serverpython dev_scripts/harness.py check --strict风险与回退
GoAutoSYBSpecAIParse;服务回退时保留运行审计,采购可信条件不再使用 AI 确认。不得删除原始 RawJSON 或人工确认。文档影响
实施完成,待验收(2026-09-02)
Gitea MCP 在当前环境不可用,本次按仓库规则回退已配置的 Gitea API;凭据仅从忽略文件读取,未写入代码、日志、工单或文档。
实现
feat/198-syb-ai-parseaa2ecc6ef791d1ebbd9c4f0ee64c84816de046ccGoAutoSYBSpecAIParse,默认 Cron0 5 * * * *、batchLimit=20、迁移后默认关闭。productSpec、已关联蝦皮且具有唯一角色候选集合的异常行调用 AI。productSpec和蝦皮颜色/尺码候选;返回值必须逐字属于候选,并达到现有自动确认阈值且理由非空。parse_status保留规则解析结论;新增独立 AI 确认、置信度、理由、时间和隐藏指纹。采购门禁只信任仍命中当前蝦皮候选的 AI 结果。追加迁移
server/cmd/migrate/migration/version-local/1788354164329_syb_spec_ai_parse.gosyb_productAI 确认字段。syb_spec_ai_parse_run、syb_spec_ai_parse_work_item。验证
go test ./...:通过。./scripts/verify.ps1 -Component server:通过(完整测试及 Go build)。go vet ./...:通过。go test -race ./app/goauto/aimatching ./app/goauto/sybimport ./app/goauto/purchase:通过。python dev_scripts/harness.py check --strict:通过。git diff --cached --check/ 提交前差异检查:通过。Wiki
已在线更新并回读:
568d40fd882dc520e247226c4dd4d5c6b03122d9a60c48f56ec7cad6f886df78a644fbabb92d288f75cebdfb2408d35e59d05d5755068b6d8cd126f56b6458ea30bc2140ad39dbf0c28c0d5896ee7618已执行唯一一轮
sync和一轮sync --check,均成功。同步同时带回与 #198 无关的docs/12-syb-erp-interface.md既有远端变化,已保留为未暂存修改,未混入本提交。待人工验收/上线
GoAutoSYBSpecAIParse关闭,以少量脱敏记录验证,再由管理员决定是否启用 Cron;#195 可保持每小时第 15 分钟形成后续映射阶段。线上迁移与发布完成(待验收)
已按用户 2026-09-02 明确授权执行在线追加迁移并发布;定时任务保持关闭。
版本与构建
aa2ecc6ef791d1ebbd9c4f0ee64c84816de046cc/home/goauto/releases/20260902-aa2ecc6-r1/home/goauto/current -> /home/goauto/releases/20260902-aa2ecc6-r1pnpm run build:prod通过。构建存在既有 CSS 伪类及大 chunk 警告,但没有构建错误。aec6c3190ab36fb667b45d6c14f88e68da51dd0eb99234a87bd3e1ae5c1c51bc1ab9d485ba69f79a6308cafacada1c41d744f67b73aecffe1a0564eeeccab0b4数据库备份与迁移
/home/goauto/backups/pre-198-20260902-aa2ecc6.sql(22,096,187 bytes,SHA-25648b858b83ebe29127783eb3927ddd04b370f596ac4a2c90ee05c19d574f53ac1)。1788354164329_syb_spec_ai_parse.go,结果为新执行 1 个、跳过已应用 35 个。sys_migration恰有 1 条1788354164329;syb_spec_ai_parse_run、syb_spec_ai_parse_work_item均存在;syb_product的 5 个 AI 字段均存在。job_id=5,GoAutoSYBSpecAIParse,Cron0 5 * * * *,参数{"batchLimit":20},status=1(关闭)。服务重启后再次回读仍为关闭。发布与在线验证
20260902-f27ec16-r1;采用新 release 目录和原子 symlink 切换,保留旧版本用于回退。active。goauto-server;重启后近 10 分钟日志未发现 panic/fatal/failed/error。http://185.216.248.75:9527/:首页 200、index.html200 且内容一致、主 JS 200、/api/v1/health200;未登录 SYB 商品接口返回 HTTP 200 + 业务码 401,认证边界正常。未执行项与安全边界
Gitea MCP 在当前会话不可用,按仓库规则回退 Gitea API;首次 API 读取曾超时,连接恢复后已重新读取工单并完成本次回写。