|
|
6 dni temu | |
|---|---|---|
| .. | ||
| icons | 1 tydzień temu | |
| prompts | 1 tydzień temu | |
| reference | 2 tygodni temu | |
| shell | 1 tydzień temu | |
| stages | 6 dni temu | |
| .gitignore | 1 tydzień temu | |
| README.md | 6 dni temu | |
| db.py | 6 dni temu | |
| index.html | 6 dni temu | |
| search.html | 1 tydzień temu | |
| server.py | 6 dni temu | |
| 流程执行手册.md | 6 dni temu | |
MySQL 四表(search_process / search_tools / mode_process / mode_tools)为唯一事实源的单页工作台: Dashboard(结果/过程指标可视化)、Dataset(query → 帖子 → 工序/工具解构)、聚类库(占位)。 顶栏「Query 规则」按内容树维度铺词 → Sonnet 评分 → 高亮达标组合 → 一键搜(见下「Query 规则组织器」)。
设计文档:docs/superpowers/specs/2026-06-12-mode-workflow-design.md、
docs/superpowers/specs/2026-06-18-query-builder-design.md(Query 规则 + 端到端管线)
# 0. 前置:.env 配 MYSQL_* 与 OPEN_ROUTER_API_KEY;pip install -e .
python db.py init # 建四张表(幂等);db.py clear 清空数据
python server.py # http://localhost:8772
| 文件 | 职责 |
|---|---|
db.py |
四表 DDL + 全部读写(读 .env MYSQL_*);连接走 PooledDB 池(远程 RDS 每次握手 ~0.5s,池复用避免每请求重连) |
server.py |
页面 + API + 解构任务子进程管理(端口 8772);/api/dashboard 结果带缓存(任务完成时作废 + 60s 兜底 TTL),/api/extract 等带 ETag/304;Query 规则接口 query_matrix/category_tree/query_score |
index.html |
单文件前端:Dashboard / Dataset / 聚类库 / Query 规则弹层 |
stages/search_eval.py |
任意 query 搜索+评估 → search_process / search_tools(按解构方向分表) |
stages/procedure_extract.py |
工序解构(LLM 直出)→ mode_process |
stages/tool_extract.py |
工具解构 → mode_tools |
stages/import_process_knowledge.py |
已采纳工序(mode_process 最新版)→ 知识导入接口;读 DB 非本地文件,采纳口径同 Dashboard(db.is_adopted_rel) |
prompts/ |
工序/工具解构 system prompt(可单独迭代) |
reference/judged_matrix.json |
内容树(27 动作×50 类型),Dashboard 覆盖度用 |
stages/query_score.py |
Query 正交格评分:tier≥1 格 × 维度上下文 → Sonnet 打分,结果缓存 .cache/query_score/ |
prompts/query_score_system.md |
评分 system prompt(可单独迭代) |
runs/ |
运行日志与调试副本(gitignore):search / mode_process / mode_tools / logs |
搜索/评估/转写引擎函数只读复用
examples/process_pipeline/script/search_eval/search_and_evaluate.py,本目录不复制引擎代码。
Query 规则(UI) → /api/query_score(Sonnet 评 tier≥1 格)→ 高亮达标(keep 且 综合分≥阈值)→ 点格/搜全部达标
新建搜索(UI) → server 子进程 stages/search_eval.py → 统一评估 → 按 知识类型 标签路由
(工序/能力→search_process,工具→search_tools,两者都含写两表)
选帖解构(UI) → server 子进程 stages/{procedure,tool}_extract.py → mode_process / mode_tools
(Dataset 工序/工具 tab「解构全部已采纳」一键解构该 query 该方向全部采纳帖)
Dashboard → /api/dashboard 实时聚合四表(内容树覆盖按 steps 的 action×type 命中有效节点)
解构按版本(v_MMDDHHMM)保留历史:同版本重跑幂等覆盖,跨版本共存,前端版本下拉可回看。
cost_usd / duration_s 记录每次解构调用;同一 (case_id, version) 的多行重复存同一值,
聚合统计时按该键去重(见 server.py:_dashboard 的 cost_groups)。
解构前按 case 全局去重(省钱): case_id 是帖子物理身份,与 query 无关。同一帖被多个
query 搜到时只真实解构一次——stages/{procedure,tool}_extract.py 在调 LLM 前先查
db.latest_real_version(case_id),已解构过的帖跨 query 用 db.link_process 复制 link_*
行补齐关联(cost=0),不再付费重跑。换 prompt/模型要对比时传 --force(API force:true)
跳过去重。runs/backfill_links.py 是事后扫尾工具,复用同一 link_process。
顶栏「Query 规则」打开弹层,把"凭直觉拍 query"变成系统化铺词 + LLM 筛选:
library.aiddit.com 分类树逐级下钻,仅作 Sonnet 领域上下文)、动作/类型(从
judged_matrix 的 l1/l2 下钻,筛选下方表格显示)。动作 × 类型 整张 27×50(来自 reference/judged_matrix.json),每格
query = [工具类型] 动作叶 类型叶 [模态] [后缀],tier 决定底色。POST /api/query_score 起 stages/query_score.py,对 643 个 tier≥1 格在
当前维度上下文下用 Sonnet 打分(natural/findable/useful + keep + rewrite + reason),
综合分 = natural*0.4 + findable*0.3 + useful*0.3。结果按选择哈希缓存
.cache/query_score/<sel>.json,同选择不重复付费。POST /api/run_search(默认 xhs,gzh 各 20、
方向无关,落表由评估标签自动路由)。命令行单独跑评分(不依赖 UI):
python stages/query_score.py --tool-type AI --modality 图片 --suffix 怎么做 --dry-run # 只拼词,不调 LLM
python stages/query_score.py --tool-type AI --suffix 怎么做 --limit 20 --sel _t # 小样真评(写 .cache)
外部依赖:library.aiddit.com 的 category-tree 接口(实质/形式),server 端直连 + .cache/category_tree/ 缓存。
把 DB 中已采纳的工序解构导入到知识接口(/api/v1/knowledge/ingest)。数据来源是
mode_process(每 case 取最新版本),不读本地文件——db.fetch_adopted_process_cases()
把工序解构与 search_process 评估 JOIN,用 is_adopted_rel(相关性<4 / 超两年 / 综合分<6
任一即不采纳)过滤;每个 procedure 组装一条知识,字段映射与
Downloads/import/how_process_knowledge/main.py 一致(steps→scopes/custom_ext)。
python stages/import_process_knowledge.py --dry-run # 只取数+组装 payload,不调接口(先验证)
python stages/import_process_knowledge.py --dry-run -v # 同上,打印完整 payload JSON
python stages/import_process_knowledge.py --query-id q0001 # 只传某搜索任务下的采纳 case
python stages/import_process_knowledge.py --case-ids xhs_a,gzh_b # 只传指定 case(采纳集内精确补传/重传单帖)
python stages/import_process_knowledge.py --limit 5 # 只处理前 5 个 case(调试)
python stages/import_process_knowledge.py # 真实导入(去掉 --dry-run)
# 其它:--api-url <根地址>(默认 47.236.83.130:8001) --delay <毫秒>(调用间隔,默认 100)
取代 fixed_query_eval(8770)+ mode_procedure(8771)两套服务的"搜索评估 + 大模型解构"
部分;procedure-dsl 执行引擎、mode-dsl 模式提取、A/B/C 三形式对比未迁移(按设计裁剪)。