T55 采购规格标准化匹配与 AI Provider 设置 #62

Closed
opened 2026-08-21 16:04:33 +08:00 by ila · 10 comments
Owner

基本信息

  • 类型:新功能 / 服务端匹配与管理端系统设置
  • 所属:#46「采购规格 AI 匹配与实时规格回传(决策变更)」的首个独立实施单元
  • 阶段:v2 原型已确认;实现已提交,等待数据库迁移的人工确认
  • 来源:2026-08-21 用户确认

需求摘要

采购任务创建时,服务端先将 SYB 的目标颜色、尺码与 PDD 商品档案规格做确定性标准化匹配;未唯一命中时才使用可配置的 AI Provider 作为兜底。AI 配置在管理端「系统设置 → AI 规格匹配」中维护。Android Agent 不转换、不匹配、不接触 Provider 或密钥,只执行服务端下发的精确 PDD 规格文字。

用户已确认的规则:

  1. 匹配触发在服务端采购流程,不在 SYB 导入或 Agent 中。
  2. 创建采购任务时优先按当前 PDD 档案匹配:确定性匹配失败才调用 AI。
  3. PDD 档案没有规格、不完整或不可信时,允许创建第一趟规格探测任务;实时探测回传后同样执行“确定性 → AI”。
  4. 已有可信候选时,两种匹配都无唯一结果则拒绝创建;实时探测后仍无唯一结果则任务明确失败且不派发第二趟。
  5. 绝不付款。任何路径中都不得让 Agent 猜测、点击近似规格或获取密钥。

交付范围

服务端

  • 增加纯确定性规格标准化器:繁体转简体、空白/全半角/大小写统一、重量区间单位统一(公斤与斤)。保留原始文字,不覆盖业务字段。
  • 仅对相同规格维度的 PDD 可选候选匹配;唯一匹配才可作为精确 PDD 规格。多个候选或无候选不自动选择。
  • 创建采购任务时使用已有 PDD 规格走“确定性 → AI”;无法使用档案时按 #46 进入第一趟实时规格探测。
  • 第一趟 spec_probe_completed 后使用实时可选规格重复“确定性 → AI”,固化决策后才允许第二趟派发。
  • 设置中只有一个启用中的 OpenAI 兼容 Provider:启用开关、Base URL、模型名、内部部署明文保存的 API Key、超时时间和测试连接。Base URL 支持公网或内网的 HTTP/HTTPS,不限制局域网。
  • API Key 不写日志、不出现在代码、工单、Wiki、任务快照、采购员接口或 Android 接口;专用设置接口仅管理员可读取明文,以便下次查看和替换。任务决策只保存 Provider 标识、模型、候选、结果、理由和匹配来源。
  • 管理员可以编辑、查看明文 API Key 和测试;采购员只能看到启用状态,不能读取或修改 Provider、地址、模型和密钥。

管理端

  • 在「系统设置」下增加「AI 规格匹配」页面/卡片。
  • 明确展示:未启用、已启用、保存中、测试中、测试成功、测试失败、没有密钥、权限不足等状态;测试连接不能暴露密钥或完整服务响应。
  • 管理员再次进入页面时可直接查看并替换 API Key;采购员无此字段。

不做

  • 不支持多个 Provider、模型路由、提示词编辑、向量库、OCR/VLM 或 Agent 端 AI。
  • 不实现付款或绕过规格匹配下单。
  • 不在本单修改 #46 之外的物流、支付或地址规则。

设计证据与门禁

  • 新增管理端设置功能,必须先有可审阅原型。
  • 设计源:当前环境没有可调用的 QuantUX MCP;使用版本化本地 HTML 审核稿作为等效设计证据,并在本工单记录此限制。
  • 计划路径:prototypes/<本工单号>/v1/index.html。
  • 原型应覆盖:管理员已启用/未启用/测试失败与成功、采购员只读、密钥掩码、保存与测试加载态、无配置时的采购任务匹配提示。
  • 用户审核通过原型后,才可开始代码。数据库迁移前还须单独取得人工确认。

前置依赖与并行

  • 依赖:#46 的业务决策;#61 的安全规格入口修复可独立收尾。
  • 本单的原型可立即进行;生产代码须在原型确认后开始。
  • 不与订单创建、支付、物流工单并行混改。

验收标准

  • 本地 HTML 原型可离线打开,主要交互、资源与状态完整;用户明确审核通过。
  • 管理员可保存、查看并替换一套内部 Provider 配置;采购员只读启用状态,读取 API 不向采购员或 Android 返回 API Key。
  • 确定性匹配覆盖繁简、空白/全半角/大小写和公斤/斤区间;多候选与无候选明确拒绝。
  • 创建时按“确定性 → AI”执行;无可用档案进入第一趟探测;实时探测后按同一顺序重新决策。
  • 任一阶段两种匹配都没有唯一结果时,不会派发可下单的第二趟;结构化错误对采购员可理解。
  • Android 只收到最终精确规格;没有 Provider/密钥相关字段。
  • 相关服务端、Web、契约和安全测试通过;真机测试不进入改地址、创建订单或支付。

验证与风险

  • 单元测试覆盖标准化与候选唯一性;接口测试覆盖管理员读取、采购员/Android 隔离、超时和 Provider 失败;Web 覆盖表单状态与权限。
  • 外部 Provider 会接收规格文本及候选规格,不发送控件树、截图、地址、账号、订单或 API Key。
  • 数据库明文保存的内部 API Key、数据库迁移和外部测试连接涉及安全/不可逆配置;用户已于 2026-08-21 明确确认该内部部署例外。

文档影响

  • Wiki Business-Rules-and-Glossary
  • Wiki Android-Agent-API-Contract
  • Wiki Architecture-and-Code-Map
  • Wiki Local-Development-and-Verification
  • #46 与本工单的任务归档

需求变更记录(2026-08-21)

  • 用户明确修改 #62 的已确认安全范围与项目凭据规则:内部部署的 AI Provider API Key 不再加密;管理员保存后下次可查看和替换明文。
  • 保持边界:API Key 仍不得写入代码、日志、工单、Wiki、任务快照、采购员接口或 Android 接口;采购员仍只可查看启用状态。
  • Base URL 明确支持公网和内网 HTTP/HTTPS,不限制于局域网。HTTP 不加密传输中的 API Key。
  • 原型 prototypes/62/v1/index.html 不再覆盖新的明文查看交互;必须创建 v2 并获得用户重新确认后,才可修改生产代码。
## 基本信息 - 类型:新功能 / 服务端匹配与管理端系统设置 - 所属:#46「采购规格 AI 匹配与实时规格回传(决策变更)」的首个独立实施单元 - 阶段:v2 原型已确认;实现已提交,等待数据库迁移的人工确认 - 来源:2026-08-21 用户确认 ## 需求摘要 采购任务创建时,服务端先将 SYB 的目标颜色、尺码与 PDD 商品档案规格做确定性标准化匹配;未唯一命中时才使用可配置的 AI Provider 作为兜底。AI 配置在管理端「系统设置 → AI 规格匹配」中维护。Android Agent 不转换、不匹配、不接触 Provider 或密钥,只执行服务端下发的精确 PDD 规格文字。 用户已确认的规则: 1. 匹配触发在服务端采购流程,不在 SYB 导入或 Agent 中。 2. 创建采购任务时优先按当前 PDD 档案匹配:确定性匹配失败才调用 AI。 3. PDD 档案没有规格、不完整或不可信时,允许创建第一趟规格探测任务;实时探测回传后同样执行“确定性 → AI”。 4. 已有可信候选时,两种匹配都无唯一结果则拒绝创建;实时探测后仍无唯一结果则任务明确失败且不派发第二趟。 5. 绝不付款。任何路径中都不得让 Agent 猜测、点击近似规格或获取密钥。 ## 交付范围 ### 服务端 - 增加纯确定性规格标准化器:繁体转简体、空白/全半角/大小写统一、重量区间单位统一(公斤与斤)。保留原始文字,不覆盖业务字段。 - 仅对相同规格维度的 PDD 可选候选匹配;唯一匹配才可作为精确 PDD 规格。多个候选或无候选不自动选择。 - 创建采购任务时使用已有 PDD 规格走“确定性 → AI”;无法使用档案时按 #46 进入第一趟实时规格探测。 - 第一趟 `spec_probe_completed` 后使用实时可选规格重复“确定性 → AI”,固化决策后才允许第二趟派发。 - 设置中只有一个启用中的 OpenAI 兼容 Provider:启用开关、Base URL、模型名、内部部署明文保存的 API Key、超时时间和测试连接。Base URL 支持公网或内网的 HTTP/HTTPS,不限制局域网。 - API Key 不写日志、不出现在代码、工单、Wiki、任务快照、采购员接口或 Android 接口;专用设置接口仅管理员可读取明文,以便下次查看和替换。任务决策只保存 Provider 标识、模型、候选、结果、理由和匹配来源。 - 管理员可以编辑、查看明文 API Key 和测试;采购员只能看到启用状态,不能读取或修改 Provider、地址、模型和密钥。 ### 管理端 - 在「系统设置」下增加「AI 规格匹配」页面/卡片。 - 明确展示:未启用、已启用、保存中、测试中、测试成功、测试失败、没有密钥、权限不足等状态;测试连接不能暴露密钥或完整服务响应。 - 管理员再次进入页面时可直接查看并替换 API Key;采购员无此字段。 ### 不做 - 不支持多个 Provider、模型路由、提示词编辑、向量库、OCR/VLM 或 Agent 端 AI。 - 不实现付款或绕过规格匹配下单。 - 不在本单修改 #46 之外的物流、支付或地址规则。 ## 设计证据与门禁 - 新增管理端设置功能,必须先有可审阅原型。 - 设计源:当前环境没有可调用的 QuantUX MCP;使用版本化本地 HTML 审核稿作为等效设计证据,并在本工单记录此限制。 - 计划路径:`prototypes/<本工单号>/v1/index.html`。 - 原型应覆盖:管理员已启用/未启用/测试失败与成功、采购员只读、密钥掩码、保存与测试加载态、无配置时的采购任务匹配提示。 - 用户审核通过原型后,才可开始代码。数据库迁移前还须单独取得人工确认。 ## 前置依赖与并行 - 依赖:#46 的业务决策;#61 的安全规格入口修复可独立收尾。 - 本单的原型可立即进行;生产代码须在原型确认后开始。 - 不与订单创建、支付、物流工单并行混改。 ## 验收标准 - [ ] 本地 HTML 原型可离线打开,主要交互、资源与状态完整;用户明确审核通过。 - [ ] 管理员可保存、查看并替换一套内部 Provider 配置;采购员只读启用状态,读取 API 不向采购员或 Android 返回 API Key。 - [ ] 确定性匹配覆盖繁简、空白/全半角/大小写和公斤/斤区间;多候选与无候选明确拒绝。 - [ ] 创建时按“确定性 → AI”执行;无可用档案进入第一趟探测;实时探测后按同一顺序重新决策。 - [ ] 任一阶段两种匹配都没有唯一结果时,不会派发可下单的第二趟;结构化错误对采购员可理解。 - [ ] Android 只收到最终精确规格;没有 Provider/密钥相关字段。 - [ ] 相关服务端、Web、契约和安全测试通过;真机测试不进入改地址、创建订单或支付。 ## 验证与风险 - 单元测试覆盖标准化与候选唯一性;接口测试覆盖管理员读取、采购员/Android 隔离、超时和 Provider 失败;Web 覆盖表单状态与权限。 - 外部 Provider 会接收规格文本及候选规格,不发送控件树、截图、地址、账号、订单或 API Key。 - 数据库明文保存的内部 API Key、数据库迁移和外部测试连接涉及安全/不可逆配置;用户已于 2026-08-21 明确确认该内部部署例外。 ## 文档影响 - Wiki `Business-Rules-and-Glossary` - Wiki `Android-Agent-API-Contract` - Wiki `Architecture-and-Code-Map` - Wiki `Local-Development-and-Verification` - #46 与本工单的任务归档 ## 需求变更记录(2026-08-21) - 用户明确修改 #62 的已确认安全范围与项目凭据规则:内部部署的 AI Provider API Key 不再加密;管理员保存后下次可查看和替换明文。 - 保持边界:API Key 仍不得写入代码、日志、工单、Wiki、任务快照、采购员接口或 Android 接口;采购员仍只可查看启用状态。 - Base URL 明确支持公网和内网 HTTP/HTTPS,不限制于局域网。HTTP 不加密传输中的 API Key。 - 原型 prototypes/62/v1/index.html 不再覆盖新的明文查看交互;必须创建 v2 并获得用户重新确认后,才可修改生产代码。
Author
Owner

原型 v1 已完成,等待用户审核:

  • 本地入口:prototypes/62/v1/index.html
  • 提交:df48ca0 docs(#62): add AI matching settings prototype
  • 覆盖管理员已启用/未配置/测试失败、采购员只读、密钥掩码与替换、保存/测试加载反馈,以及采购时“确定性 → AI → 明确失败”的流程。
  • 离线资源、HTML 结构、关键控件和内联 JavaScript 语法检查通过。
  • 当前环境的浏览器连接不可用,因此未执行自动化视觉浏览;请以本地 HTML 审核为准。

原型获明确确认前,不开始生产代码;数据库迁移和外部 Provider 测试连接在实施前还须单独人工确认。

原型 v1 已完成,等待用户审核: - 本地入口:`prototypes/62/v1/index.html` - 提交:`df48ca0` `docs(#62): add AI matching settings prototype` - 覆盖管理员已启用/未配置/测试失败、采购员只读、密钥掩码与替换、保存/测试加载反馈,以及采购时“确定性 → AI → 明确失败”的流程。 - 离线资源、HTML 结构、关键控件和内联 JavaScript 语法检查通过。 - 当前环境的浏览器连接不可用,因此未执行自动化视觉浏览;请以本地 HTML 审核为准。 原型获明确确认前,不开始生产代码;数据库迁移和外部 Provider 测试连接在实施前还须单独人工确认。
Author
Owner

2026-08-21:用户已明确验收通过 prototypes/62/v1/index.html。原型状态由“待审核”更新为“已确认”。下一步为服务端/Web 实施;因需新增加密配置存储与数据库迁移,按仓库安全规则等待单独人工确认后才开始。

2026-08-21:用户已明确验收通过 `prototypes/62/v1/index.html`。原型状态由“待审核”更新为“已确认”。下一步为服务端/Web 实施;因需新增加密配置存储与数据库迁移,按仓库安全规则等待单独人工确认后才开始。
Author
Owner

需求变更已记录:用户于 2026-08-21 明确允许内部部署的 AI Provider API Key 明文保存,并只供管理员后续查看与替换;采购员和 Android 仍不可读取。Base URL 也明确支持公网/内网 HTTP 和 HTTPS。

新版设计证据:prototypes/62/v2/index.html,提交 9adb29b。v2 覆盖管理员显示/隐藏 Key、保存与测试反馈、HTTP 提示、未配置/测试失败状态和采购员只读隔离。原 v1 不再作为本次实现依据。

本地 HTML 与内联 JavaScript 静态校验通过;当前环境没有可用浏览器连接,尚未进行浏览器交互验收。请审核 v2;确认后才会把现有 #62 代码改为明文存储与管理员回显。

需求变更已记录:用户于 2026-08-21 明确允许内部部署的 AI Provider API Key 明文保存,并只供管理员后续查看与替换;采购员和 Android 仍不可读取。Base URL 也明确支持公网/内网 HTTP 和 HTTPS。 新版设计证据:`prototypes/62/v2/index.html`,提交 `9adb29b`。v2 覆盖管理员显示/隐藏 Key、保存与测试反馈、HTTP 提示、未配置/测试失败状态和采购员只读隔离。原 v1 不再作为本次实现依据。 本地 HTML 与内联 JavaScript 静态校验通过;当前环境没有可用浏览器连接,尚未进行浏览器交互验收。请审核 v2;确认后才会把现有 #62 代码改为明文存储与管理员回显。
Author
Owner

v2 审核与实现状态(2026-08-21)

  • 用户已明确审核通过 prototypes/62/v2/index.html。该版本覆盖内部部署下管理员明文查看/替换 API Key、采购员只读启用状态,以及公网/内网 HTTP/HTTPS Base URL。
  • 实现已提交并推送:6181d97 feat(#62): add AI specification matching settings。
  • 已实现:服务端确定性标准化(繁简、空白/全半角/大小写、公斤/斤区间)、唯一候选约束、服务端 OpenAI-compatible 兜底、档案匹配和实时规格探测后的同一决策流程;Android 只收到固化后的精确规格标签。
  • API Key 仅在专用设置表明文保存,并且仅管理员设置接口返回;采购员接口只返回 enabled,Android 与任务快照不接收密钥。
  • 已通过:go test ./...、迁移单元测试、pnpm lint、pnpm build:prod、python dev_scripts/harness.py check --strict 与 sync --check。未配置真实 Provider,未发起外部连接、真机改地址、创建订单或支付。

下一步仅剩本机数据库迁移的人工确认。迁移只会将 ai_matching_setting.api_key_encrypted 重命名为 api_key 并保留已有字段值;不会触碰商品、采购任务、尝试、订单或支付数据。

## v2 审核与实现状态(2026-08-21) - 用户已明确审核通过 `prototypes/62/v2/index.html`。该版本覆盖内部部署下管理员明文查看/替换 API Key、采购员只读启用状态,以及公网/内网 HTTP/HTTPS Base URL。 - 实现已提交并推送:`6181d97 feat(#62): add AI specification matching settings`。 - 已实现:服务端确定性标准化(繁简、空白/全半角/大小写、公斤/斤区间)、唯一候选约束、服务端 OpenAI-compatible 兜底、档案匹配和实时规格探测后的同一决策流程;Android 只收到固化后的精确规格标签。 - API Key 仅在专用设置表明文保存,并且仅管理员设置接口返回;采购员接口只返回 `enabled`,Android 与任务快照不接收密钥。 - 已通过:`go test ./...`、迁移单元测试、`pnpm lint`、`pnpm build:prod`、`python dev_scripts/harness.py check --strict` 与 `sync --check`。未配置真实 Provider,未发起外部连接、真机改地址、创建订单或支付。 下一步仅剩本机数据库迁移的人工确认。迁移只会将 `ai_matching_setting.api_key_encrypted` 重命名为 `api_key` 并保留已有字段值;不会触碰商品、采购任务、尝试、订单或支付数据。
Author
Owner

本机数据库迁移已执行(2026-08-21)

用户已明确确认后执行 go run . migrate -c config/settings.yml。

结果:

  • MySQL 连接成功;
  • ai_matching_setting.api_key_encrypted 已重命名为 api_key;
  • 迁移版本 1786701400000 已写入 sys_migration;
  • 输出为“新执行 1 个,跳过 16 个(已应用)”;
  • 未重启服务、未调用外部 AI、未执行 Android 动作,也未创建订单或支付。
## 本机数据库迁移已执行(2026-08-21) 用户已明确确认后执行 `go run . migrate -c config/settings.yml`。 结果: - MySQL 连接成功; - `ai_matching_setting.api_key_encrypted` 已重命名为 `api_key`; - 迁移版本 `1786701400000` 已写入 `sys_migration`; - 输出为“新执行 1 个,跳过 16 个(已应用)”; - 未重启服务、未调用外部 AI、未执行 Android 动作,也未创建订单或支付。
Author
Owner

需求变更:超时与测试反馈位置(2026-08-21)

用户要求:

  1. AI Provider 超时时间上限由 60 秒改为 600 秒;
  2. 删除服务设置、Base URL、API Key 下的既有说明文字;
  3. 删除操作栏原有“测试连接只访问已保存的服务地址,不会创建采购任务。”说明;
  4. 在该操作栏位置显示测试连接结果。

该变更涉及接口校验与已确认页面的状态反馈位置。将创建 prototypes/62/v3/index.html,覆盖管理员测试成功/失败/进行中与采购员只读边界;用户重新审核通过 v3 后才修改生产代码和长期 Wiki。

## 需求变更:超时与测试反馈位置(2026-08-21) 用户要求: 1. AI Provider 超时时间上限由 60 秒改为 600 秒; 2. 删除服务设置、Base URL、API Key 下的既有说明文字; 3. 删除操作栏原有“测试连接只访问已保存的服务地址,不会创建采购任务。”说明; 4. 在该操作栏位置显示测试连接结果。 该变更涉及接口校验与已确认页面的状态反馈位置。将创建 `prototypes/62/v3/index.html`,覆盖管理员测试成功/失败/进行中与采购员只读边界;用户重新审核通过 v3 后才修改生产代码和长期 Wiki。
Author
Owner

v3 审核原型已就绪(2026-08-21)

  • 路径:prototypes/62/v3/index.html
  • 提交:97a7131 docs(#62): add AI settings v3 review prototype
  • 覆盖:超时时间范围 3~600 秒;移除用户指定的四处说明文字;测试中的加载、成功与失败结果均显示在原操作栏说明位置;管理员/采购员权限边界保持不变。
  • 静态 HTML 解析、内联 JavaScript 语法和指定文字移除检查均已通过。

等待用户审核 v3。未修改生产代码、接口校验或数据库。

## v3 审核原型已就绪(2026-08-21) - 路径:`prototypes/62/v3/index.html` - 提交:`97a7131 docs(#62): add AI settings v3 review prototype` - 覆盖:超时时间范围 3~600 秒;移除用户指定的四处说明文字;测试中的加载、成功与失败结果均显示在原操作栏说明位置;管理员/采购员权限边界保持不变。 - 静态 HTML 解析、内联 JavaScript 语法和指定文字移除检查均已通过。 等待用户审核 v3。未修改生产代码、接口校验或数据库。
Author
Owner

v3 已确认并完成实现(2026-08-21)

  • 用户已明确审核通过 prototypes/62/v3/index.html。
  • 实现提交:0e3be46 feat(#62): extend AI matching timeout。
  • timeoutSeconds 服务端与管理端范围已从 3~60 秒调整为 3~600 秒;测试覆盖 600 可保存、601 被拒绝。
  • 管理端已移除用户指定的四处说明文字;“测试连接”会在原操作栏说明位置显示“正在测试连接”、成功或失败的可读结果,并以 aria-live 通知辅助技术。
  • Wiki 已先更新并在线回读:26b3a4a;本地镜像已同步。
  • 已通过:go test ./...、pnpm lint(30 条既有警告、无错误)、pnpm build:prod、harness.py sync --check、harness.py check --strict。
  • 未再次执行数据库迁移、未调用外部 AI、未执行 Android 动作或采购动作。

本单继续保持待用户验收,未关闭。

## v3 已确认并完成实现(2026-08-21) - 用户已明确审核通过 `prototypes/62/v3/index.html`。 - 实现提交:`0e3be46 feat(#62): extend AI matching timeout`。 - `timeoutSeconds` 服务端与管理端范围已从 3~60 秒调整为 3~600 秒;测试覆盖 600 可保存、601 被拒绝。 - 管理端已移除用户指定的四处说明文字;“测试连接”会在原操作栏说明位置显示“正在测试连接”、成功或失败的可读结果,并以 `aria-live` 通知辅助技术。 - Wiki 已先更新并在线回读:`26b3a4a`;本地镜像已同步。 - 已通过:`go test ./...`、`pnpm lint`(30 条既有警告、无错误)、`pnpm build:prod`、`harness.py sync --check`、`harness.py check --strict`。 - 未再次执行数据库迁移、未调用外部 AI、未执行 Android 动作或采购动作。 本单继续保持待用户验收,未关闭。
Author
Owner

用户验收与归档(2026-08-21)

用户已明确确认 #62 可用并要求继续下一步,现按验收通过归档。

## 用户验收与归档(2026-08-21) 用户已明确确认 #62 可用并要求继续下一步,现按验收通过归档。 - 归档 Wiki:[Task-62 采购规格标准化匹配与 AI Provider 设置](https://git.ilapage.cn/OPC/goauto/wiki/Task-62-%E9%87%87%E8%B4%AD%E8%A7%84%E6%A0%BC%E6%A0%87%E5%87%86%E5%8C%96%E5%8C%B9%E9%85%8D%E4%B8%8E-AI-Provider-%E8%AE%BE%E7%BD%AE.-) - Wiki revision:`c57a1e1944f1c4dfb8fcade13eebfcff97242771` - 最终产品提交:`0e3be46`。 - 未导出 `docs/task/`,因为用户未要求任务归档镜像。
ila closed this issue 2026-08-21 17:29:49 +08:00
Author
Owner

用户验收与归档(2026-08-21)

用户已明确确认 #62 可用并要求继续下一步,现按验收通过归档。

## 用户验收与归档(2026-08-21) 用户已明确确认 #62 可用并要求继续下一步,现按验收通过归档。 - 归档 Wiki:[Task-62 采购规格标准化匹配与 AI Provider 设置](https://git.ilapage.cn/OPC/goauto/wiki/Task-62-%E9%87%87%E8%B4%AD%E8%A7%84%E6%A0%BC%E6%A0%87%E5%87%86%E5%8C%96%E5%8C%B9%E9%85%8D%E4%B8%8E-AI-Provider-%E8%AE%BE%E7%BD%AE.-) - Wiki revision:`c57a1e1944f1c4dfb8fcade13eebfcff97242771` - 最终产品提交:`0e3be46`。 - 未导出 `docs/task/`,因为用户未要求任务归档镜像。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#62