From 3fadee97b92c45cf7edab0df039e87086e696efd Mon Sep 17 00:00:00 2001 From: yumoqing Date: Sat, 12 Sep 2026 09:06:54 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20README+=E6=A8=A1=E5=9D=97=E6=8A=80?= =?UTF-8?q?=E8=83=BD=E5=90=8C=E6=AD=A5=E9=A1=B9=E7=9B=AE=E5=BD=92=E5=B1=9E?= =?UTF-8?q?=E5=8F=A3=E5=BE=84(=E6=8C=96=E6=8E=98=E5=88=86=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE,=E5=8F=AF=E8=A7=81=E6=80=A7=E5=AF=B9=E9=BD=90opp=5Fre?= =?UTF-8?q?ports,E2E=2011=E9=A1=B9=E5=85=A8=E8=BF=87)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 ++++++++-- skill/SKILL.md | 7 +++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 19b284c..84eb4cd 100644 --- a/README.md +++ b/README.md @@ -118,11 +118,17 @@ CRUD 页(`opp_reports/` `opp_approvals/`)保留供后台运维直接编辑 - `opp_reports`:研发报告(software/title/content/status/confirm_task_id/confirmed_by) - `opp_approvals`:研发审批(report_id/status/note/resolved_by) -- `opp_mining_batches`:需求挖掘批次(org_id 隔离;scope=top/targeted;状态机 - pulling→embedding→clustering→naming→done/failed;stats_json 进度统计;error_msg 可行动报错) +- `opp_mining_batches`:需求挖掘批次(org_id+project_id 隔离,project_id 空=平台级挖掘; + scope=top/targeted;状态机 pulling→embedding→clustering→naming→done/failed; + stats_json 进度统计;error_msg 可行动报错) - `opp_demand_snap`:需求快照(batch_id+src_id 去重;cluster_id 聚类回填;embed_status) - `opp_clusters`:需求类别(heat_rank 热度排名/share 占比/naming_evidence 命名证据/centroid_snap_id) +挖掘结果的项目可见性口径与 opp_reports 对齐(2026-09-12 用户确认挖掘也分项目): +挂项目的批次仅本项目会话可见;平台级批次(无项目会话发起)本机构登录可见; +无当前项目的会话只见平台级批次。`_check_batch_visible` 是单一规则源 +(mining_status/list_clusters/cluster_detail 三层复用,E2E 11 项断言实测全过)。 + ## 需求挖掘架构(P1,2026-09-11) 众包需求(爬虫平台 record_type=demand)→ 语义聚类 → TopX/指定类型分析: diff --git a/skill/SKILL.md b/skill/SKILL.md index cfd7a59..b4a50e8 100644 --- a/skill/SKILL.md +++ b/skill/SKILL.md @@ -94,8 +94,11 @@ draft ──人工确认──> confirmed ──发起──> approval_initiated - **编排** opp_mining_flow.py:状态机 pulling→embedding→clustering→naming→done/failed, `asyncio.create_task` 后台跑,进度实时落 `stats_json`,失败落 `error_msg`(可行动报错, 禁前端挂起干等)。**算法/VDB/embedding** opp_mining.py。 -- **机构隔离**(用户定夺):基础数据(需求快照+embedding缓存)全机构共享;分析结果 - (批次/快照归属/类别)挂 `org_id`,所有查询按 ctx.org_id 强制过滤(伪 org 拒绝实测通过)。 +- **机构隔离 + 项目归属**(用户定夺 2026-09-12:挖掘也分项目):基础数据(需求快照+embedding缓存) + 全机构共享;分析结果(批次/快照归属/类别)挂 `org_id` + `project_id`(空=平台级挖掘), + 可见性对齐 opp_reports 口径——挂项目批次仅本项目会话可见,平台级批次本机构登录可见, + 无项目会话只见平台级。`_check_batch_visible` 单一规则源三层复用(status/list_clusters/ + cluster_detail),E2E 11 项断言实测全过(scripts/p1_proj_e2e.py)。 - **VDB 协议**(实测,详见技能 rag-module-operations):kNN=`/v1/query`+vector+pagerows (非 /v1/search);标量过滤=`expr`(非 filter);kNN+expr 组合可用;output_fields 可取回 vector;dropcollection 可用(旧批工作集自动清理,保留最近 opp_mine_keep_batches 个)。