# mode_workflow · 搜索评估 + 工序/工具解构工作台 MySQL 四表(search_process / search_tools / mode_process / mode_tools)为唯一事实源的单页工作台: Dashboard(结果/过程指标可视化)、Dataset(query → 帖子 → 工序/工具解构)、聚类库(占位)。 设计文档:`docs/superpowers/specs/2026-06-12-mode-workflow-design.md` ## 启动 ```bash # 0. 前置:.env 配 MYSQL_* 与 OPEN_ROUTER_API_KEY;pip install -e . python db.py init # 建四张表(幂等);db.py clear 清空数据 python import_history.py # (可选)导入 fixed_query_eval 历史搜索结果 python server.py # http://localhost:8772 ``` ## 结构 | 文件 | 职责 | |---|---| | `db.py` | 四表 DDL + 全部读写(读 .env MYSQL_*) | | `server.py` | 页面 + API + 解构任务子进程管理(端口 8772) | | `index.html` | 单文件前端:Dashboard / Dataset / 聚类库 | | `pipeline/search_eval.py` | 任意 query 搜索+评估 → search_process / search_tools(按解构方向分表) | | `pipeline/procedure_extract.py` | 工序解构(LLM 直出)→ mode_process | | `pipeline/tool_extract.py` | 工具解构 → mode_tools | | `prompts/` | 工序/工具解构 system prompt(可单独迭代) | | `reference/judged_matrix.json` | 内容树(27 动作×50 类型),Dashboard 覆盖度用 | | `runs/` | 运行日志与调试副本(gitignore):search_process / search_tools / mode_process / mode_tools / logs | 搜索/评估/转写引擎函数只读复用 `examples/process_pipeline/script/search_eval/search_and_evaluate.py`,本目录不复制引擎代码。 ## 数据流 ``` 新建搜索(UI) → server 子进程 pipeline/search_eval.py → search_process / search_tools(方向分表) 选帖解构(UI) → server 子进程 pipeline/{procedure,tool}_extract.py → mode_process / mode_tools Dashboard → /api/dashboard 实时聚合四表(内容树覆盖按 steps 的 action×type 命中有效节点) ``` 解构按版本(`v_MMDDHHMM`)保留历史:同版本重跑幂等覆盖,跨版本共存,前端版本下拉可回看。 `cost_usd` / `duration_s` 记录每次解构调用;同一 `(case_id, version)` 的多行重复存同一值, 聚合统计时按该键去重(见 `server.py:_dashboard` 的 `cost_groups`)。 ## 与旧 search_eval 的关系 取代 `fixed_query_eval`(8770)+ `mode_procedure`(8771)两套服务的"搜索评估 + 大模型解构" 部分;procedure-dsl 执行引擎、mode-dsl 模式提取、A/B/C 三形式对比未迁移(按设计裁剪)。