18 Commits

Author SHA1 Message Date
7a8afab054 fix(feasibility): promote_to_project幂等守卫——E2E实测重复调用重复建项目;description带[report_id=X]精确标记,立项前查已立则返回既有项目;handler区分reused文案;E2E L3改为幂等断言(不重复建+库中仅1项目) 2026-09-14 14:11:10 +08:00
2304b86667 test(feasibility): 修A4断言期望值——EI det=6/ftr=1低复杂度应3FP非7,非法type正确进pending(产品行为对,脚本期望值写错) 2026-09-14 14:06:06 +08:00
5686b255e9 test(feasibility): P3可行性研究E2E脚本——FP规则引擎独立复算/draft正负链(全personal拒绝+跨项目+伪org+未归一化)/八节报告落库+成本系数核对/评分/promote门禁(draft拒→confirmed拒审批→approved放行)/八节PPT断言(python-pptx解析章节页)/重复立项行为记录/清理立项项目 2026-09-14 14:02:42 +08:00
1e64ab7e75 feat(normalize): P2-③类内共性提取引擎——opp_normalize.py(原子化LLM合批并发→embedding+τ2并查集候选组→LLM裁决归一(相似度只当触发器)→能力域分组→覆盖率三层core≥0.6/ext≥0.4/personal);3新表atoms/std_demands/domains+clusters补normalize_status/error列;2工具normalize_cluster/coverage_report(org隔离+未归一先报错引导);params种子5项 2026-09-12 11:41:51 +08:00
25348fa2e1 feat(mining-ui): P2需求挖掘三级下钻UI——⛏需求挖掘菜单(无require_project,平台级批次也可见)→批次列表(启动全量/指定类型按钮+状态色标+done行下钻)→类别排名PopupWindow(排名/占比/命名依据)→类内明细(每条带来源,src_id复用opp_item_detail详情弹窗);opp_mining_start.dspy复用start_mining与工具通道同实现;cluster_detail补src_id字段;load_path注册4端点 2026-09-12 11:00:49 +08:00
02b904164e test(mining): 项目隔离E2E脚本——11项断言(批次落项目/跨项目批次+类别+明细三层拒绝/B列表不含A/存量归平台级/无项目会话只见平台级)全过 2026-09-12 09:05:52 +08:00
8b7626dc83 feat(mining): 挖掘批次/类别落项目归属(用户确认商机产线分项目)——opp_mining_batches/opp_clusters加project_id(空=平台级挖掘),可见性对齐opp_reports口径(挂项目仅本项目会话可见/平台级本机构可见/无项目只见平台级),_check_batch_visible单一规则源status/list_clusters/cluster_detail复用;补列脚本information_schema守卫幂等 2026-09-12 09:02:04 +08:00
f1eab971cb feat(mining): P1需求挖掘投产线能力包——opp_mining(VDB客户端/增量embedding缓存/批次工作集/kNN图/τ并查集/大簇细分/LLM命名+规则兜底)+opp_mining_flow(状态机编排pulling→embedding→clustering→naming→done,后台create_task,进度实时落库,失败可行动报错)+4工具(start_mining/mining_status/list_clusters/cluster_detail)+OPP_PROMPT挖掘工作流;共享缓存collection全机构复用嵌入,批次/类别org_id隔离;gen_ddl.sh修死路径+DDL重生成5表 2026-09-11 23:04:35 +08:00
091d9db02d feat(mining): P1聚类质量分析脚本——多τ对比(0.70/0.75/0.82/0.88)+超大簇(>150)质心二次细分(τ+0.10)+向量/kNN文件缓存(省embedding费用)+样例去重;2075条真实数据实测167s,τ=0.75为最优拐点(42簇,top1=8.2%微信小程序,语义纯净无失控巨簇) 2026-09-11 22:49:56 +08:00
4ad5dfda81 feat(mining): P1聚类算法验证脚本(真实数据)——爬虫拉全量需求→rag_client Bearer embedding(10条/批,3次退避)→VDB kNN(pagerows=30)→τ阈值并查集聚类→小组质心并入→簇质量报告;坑:cookie会话401(Secure标志+aiohttp拒发http),生产路径Bearer不受限;独立脚本须initEnv()注入password_decode 2026-09-11 22:41:52 +08:00
b10ef50661 feat(mining): P1需求挖掘3表models(批次/快照/类别)+幂等建表脚本+P0 VDB/embed探测脚本——org_id机构隔离,scope支持top/targeted,heat_rank避开MariaDB保留字,double带length+dec精度 2026-09-11 22:22:02 +08:00
8627b855c0 feat(opp): 研发报告菜单改造——owner过滤列表+四节详情+成果文件下载
用户需求(2026-09-09):研发报告按钮点击按项目owner过滤列表;每项点击看
研发场景/输入/输出/成果;成果文件多个列出、逐个点击下载。

1. 列表页 api/opp_reports_list.dspy(替换CRUD裸表页作菜单入口):
   - list_visible_reports 单一事实源:挂项目的报告仅项目owner可见
     (sd_projects.created_by==uid;agent建的项目降级同机构,对齐
     check_project_owner既有语义);未挂项目的平台级调研登录可见;
     孤儿报告(项目已删)不可见(LIKE 'agent.%' 写法有 rag_client.py 生产先例)
   - 整行点击下钻详情,交互范式照抄 opp_references_items.dspy
2. 详情弹窗 api/opp_report_detail.dspy:
   - parse_report_sections 四节解析(## 研发场景/输入/输出/成果),
     MdWidget逐节渲染;兼容序号/冒号/加粗标题变体;三级标题不误判;
     旧报告无节时全文归输出节;空节如实标注不编造
   - check_report_visible 与列表同一可见性规则(语义不漂移)
3. 文件下载 api/opp_report_file_dl.dspy + list_report_files:
   - 范围=项目deliverables/全部文件+报告PPT(realpath去重)
   - 安全模型对齐 opp_attachment_dl:前端只传report_id+name,
     服务端回查清单命中才给文件,文件名不参与路径拼接(防穿越)
4. agent侧四节模板硬要求:OPP_PROMPT新增节+create/update_report工具描述
5. RBAC load_path 补3端点;i18n zh/en 补9词条;README 补改造说明

离线实测11项断言全过:标准四节/标题变体/旧报告归输出/缺节/三级标题不误判/
重复节拼接/空正文/deliverables扫描+PPT去重/项目外PPT/无项目不崩/防穿越
2026-09-09 15:04:20 +08:00
45cec8987e feat(opp): 数据参考三级整行下钻+明细详情弹窗+附件下载代理
- 汇总主题/分项条目整行点击(cursor:pointer)弹下级弹窗,撤「查看分项」按钮
- 明细每条来源写进说明文字(source_text),删除 source_button_widget 来源按钮
- 新 opp_item_detail.dspy: 爬虫平台条目全量字段+公告全文+附件列表
- 新 opp_attachment_dl.dspy: 服务端附件下载代理,归属校验防SSRF,
  降级链 download_url→/api/attachments/{id}/download→原始url,失败如实报错
- opp_data_capability: tender_attachments/normalize_attachment 容错对接
  爬虫平台附件子系统(/api/tenders/{id}/attachments,另一会话开发中,未就绪时降级提示)
- opp_common: crawler_get_raw 原始字节下载辅助; load_path 注册两个新端点
- README/prompt 同步新交互描述
2026-09-08 23:39:16 +08:00
0d094e6f54 chore: load_path pyc regen (tracked artifact) 2026-08-31 11:36:15 +08:00
333aad0127 feat: 数据项列表全面带来源URL——国内众包需求主题接入数据参考弹窗(新opp_demand_items.dspy,逐条带需求详情/来源页)+category_references支持record_type+prompt强制数据项列表逐条挂来源链接 2026-08-31 11:34:38 +08:00
ca8e9f2c71 海外软件需求接入商机产线: opp_hot_overseas/opp_overseas_references工具+数据参考弹窗海外板块+opp_demands补海外源 2026-08-30 19:54:00 +08:00
f192128f5e feat: references可查证界面+报告确认门禁全文展示+PPT存储下载+数据参考菜单 2026-08-29 13:08:16 +08:00
b5cf9599f4 feat: 商机产线能力包——招标数据(爬取平台内网HTTP)→热点推荐→研发报告→人工确认→研发审批 2026-08-28 17:00:58 +08:00