# 会话记录:检索操作 ## 元数据 - 需求编号:003-06 - 需求名称:检索操作 - 创建时间:2026-02-03 - 状态:进行中 - 当前阶段:阶段 5:提示词生成 ## 阶段记录 ### 阶段 1:需求定义 (2026-01-28) - 状态:已完成 - 产物:[需求文档](../requirements/sub/2026-01-28-003-06-检索操作.md) ### 阶段 2:方案设计 (2026-02-03) - 状态:已完成 - 产物:[设计文档](../design/2026-02-03-003-06-检索操作-设计.md) - 关键决策: - 采用标准 Controller-Service-Repository 分层架构 - 使用 Salesforce Metadata API 的异步 `retrieve` 接口 - 配合轮询机制 (`checkRetrieveStatus`) 获取最终结果 - 创建 `datai_metadata_retrieve` 表记录检索请求和状态历史 - 不在数据库中持久化 ZIP 文件内容,仅返回给客户端 ### 阶段 3:方案决策 (2026-02-03) - 状态:已完成 - 产物:[ADR 文档](../decisions/2026-02-03-003-06-ADR-检索操作技术选型.md) - 关键决策: - **ZIP 文件处理**:不入库,直接透传,避免数据库膨胀。 - **状态管理**:使用 `datai_metadata_retrieve` 表记录生命周期。 - **轮询策略**:复用服务端同步轮询策略。 ### 阶段 4:数据库结构生成 (2026-02-03) - 状态:已完成 - 产物:[SQL 脚本](../sql/2026-02-03-003-06-retrieve-operation.sql) - 关键变更: - 创建 `datai_metadata_retrieve` 表 - 字段:`async_id`, `status`, `done`, `message`, `error_message`, `retrieve_time`, `user_id` - 索引:`idx_async_id`, `idx_retrieve_time` ### 阶段 5:提示词生成 (2026-02-03) - 状态:已完成 - 产物:[提示词文档](../prompts/2026-02-03-003-06-prompt-检索操作.md) - 内容摘要: - 定义了检索操作的提示词 - 引用了需求、设计、ADR、SQL 文档 - 明确了 Controller-Service-Repository 架构 - 规定了 ZIP 文件不入库的约束 - 定义了输出文件列表和测试要求