|
|
66e7f79ec7
|
feat: 招标文件分析拆四维度并行(评分项/资质/文件要求+骨架/成本收益)——对账器按维度各派一个任务并行抽取;QC五类逐类并行审核每类一个审核任务;新增bid_cost_benefit成本收益分析表+extract_cost_benefit/add_cost_benefit_item;QC阈值9.5→8.5(params固化8.5);add_doc_requirement加去重防重派重复录入(2026-09-02)
|
2026-09-02 17:10:42 +08:00 |
|
|
|
7a6a0350dc
|
fix: resolve_project_id键漂移防护——传入值先按id校验,查不到按name反查归一为真实id,名字歧义拒绝;根治bid_chapters以项目名落库(陕西项目26条名字键孤儿行,与id键骨架并存形成双骨架)(2026-09-02)
|
2026-09-02 12:00:40 +08:00 |
|
|
|
1eafd7b1c3
|
fix: 标书合成失败不回退/tmp——输出文件必须落项目空间,工作目录解析失败直接中止合成
|
2026-09-02 11:56:49 +08:00 |
|
|
|
b7bbee6563
|
fix(投标): 招标书在工作空间还反复催上传根治+同一事项待办只发一次
- 对账器0b: 无bid_tender_files记录时先扫工作空间,发现招标书自动import_tender_file登记启动解析(与上传入口等价),不再发上传待办
- request_tender_file硬门禁: 已有文件记录拒绝发待办; pending存在返回已有id
- create_human_task机制层去重: 同项目+同类型pending存在→返回已有id不重复创建
- prompt/工具描述同步: 文件已在工作空间/已登记时禁止发上传待办
|
2026-09-01 17:28:18 +08:00 |
|
|
|
ceeec055a3
|
fix(workspace): 创建入口写死项目目录+解析收敛引擎统一函数
- create_bid_project/自动立项: 创建时写 workspace_dir+directory_name
- _project_dir_of/_workspace_dir: 自抄旧口径推导→收敛 get_project_dir_by_id
|
2026-09-01 11:54:59 +08:00 |
|
|
|
e387c7c5ce
|
fix(bidding): 解析读不到完整招标书根治——最优文件选择+路径解析+升级自动恢复
- extract/read 选最优记录: 磁盘文件大小与正文长度取大, 替代固定取最老
- 相对/裸文件名按项目根目录解析, 解析后回写绝对路径
- bid_flow: 新招标文件到来自动重置解析计数+清旧产出残留+关旧人工任务(防永久卡死)
- 主 agent 补 reset_task_retry 工具(待办文案承诺但一直未实现)
|
2026-09-01 09:26:45 +08:00 |
|
|
|
d377d76f61
|
fix(ui): 投标产线副标题同步新流程(收到招标文件自动立项)
|
2026-09-01 05:16:57 +08:00 |
|
|
|
4e1386f2a1
|
feat(bidding): 移除立项+配人步骤,收到招标书直接启动项目
- import_tender_file 无项目时自动立项(项目名缺省取文件名),导入即解析
- 主 agent 下线 assign_members/list_members 工具(能力原语保留)
- BID_PROMPT/典型场景同步:不再先问建项目/配人
|
2026-09-01 05:15:53 +08:00 |
|
|
|
aa5eb26d37
|
fix(session): 默认tab session_id按产线分离(default_bidding_general)
|
2026-08-31 22:03:48 +08:00 |
|
|
|
5420bf49dd
|
feat(bidding): 立项随附招标文件直接导入跳过人工上传——用户已提供招标书时不再卡在上传步骤
- create_bid_project 增加 tender_content 参数:带招标文件立项,落库+上传任务自动完成
- 新增 import_tender_file:已建项目补录招标文件正文/路径,跳过上传步骤
- 驾驶舱 prompt 硬规则:用户提供招标文件必须随立项/导入提交,不再让用户手动上传
|
2026-08-31 16:21:44 +08:00 |
|
|
|
3240c4f042
|
fix(schemas): 补注册add_kb_doc/list_kb_docs——PM样板标书录入链路闭环
|
2026-08-31 16:00:58 +08:00 |
|
|
|
8a13da7322
|
fix(analysis): 骨架生成assignee_role与section一致(商务章→bid_biz_writer)+显式chapters也走_infer_section
|
2026-08-31 15:54:15 +08:00 |
|
|
|
35aabc2acc
|
fix(bid_flow): chapters查询补section字段——分角色派发读不到section全派技术写者
|
2026-08-31 15:50:36 +08:00 |
|
|
|
b40f54d63f
|
feat(bidding v1.2): 编写分商务/技术角色+篇幅门禁+样板标书规范+并发编写
- 章节按section分流: business→agent.bid_biz_writer(新角色), technical/price→agent.bid_writer
- 骨架生成自动推断section(_infer_section标题关键词)
- 篇幅门禁机制层强制: review_chapter字数低于门限必退+自动附意见
(参数bid_chapter_min_words=800/bid_chapter_min_words_biz=500)
- 并发编写: 对账器单轮最多派bid_write_concurrency(4)个编写任务
- 样板标书: bid_kb_docs doc_type=sample_bid码值; extract_writing_spec工具
(PM抽章节结构/篇幅口径/表格图示/商务要素, 落bid_doc_requirements writing_spec)
- DESIGN.md v1.2
|
2026-08-31 15:40:03 +08:00 |
|
|
|
76ef3e4f7d
|
fix(ui): 驾驶舱头部副标题补QC契合度审核阶段
|
2026-08-31 14:24:08 +08:00 |
|
|
|
45cdb2e61e
|
feat(scripts): 投标产线自持 init 导入脚本(码表幂等+废弃码清理+产线描述)
|
2026-08-31 13:45:57 +08:00 |
|
|
|
44f8c18ac3
|
feat(bidding): 产线起点改为上传招标文件+解析产出QC契合度审核门禁
清理(前三步归商机产线):
- 删邮箱采集: bid_mail.py/bid_mail_accounts表与页面/首页按钮
- 删招标审批状态机: TD_*/HT_TENDER_APPROVAL/摘要审批工具族
- bid_tenders瘦身为解析抽取的商务要素(去邮件字段)
QC契合度审核:
- 新表bid_qc_reviews(qc_type/round/fit_score/pass_score/passed/improvement)
- bid_qc_capability: start_qc/finish_qc/list_qc/qc_report, 四类产出逐类审核
- 判定: 10分制打分, >9.5放行(参数bid_qc_pass_score); 不通过给改进意见
+清空产出+对账器重派解析任务带意见重做; 超轮次抛qc_escalation人工
- bid_flow对账器A2门禁阶段: 幂等/在办去重/轮次守卫/重做不计首跑上限
- 驾驶舱: qc_report工具+解析QC审核菜单; 参数读appbase表+默认兜底
|
2026-08-31 13:37:49 +08:00 |
|
|
|
22fca127cb
|
feat(agent): 模型下拉带 session_id——与项目模型持久化联动
|
2026-08-28 12:26:24 +08:00 |
|
|
|
d235eeda74
|
fix(rbac): 补注册多session会话入口 /pipeline-bidding/agent 权限
|
2026-08-27 14:11:55 +08:00 |
|
ymq
|
4943a04aac
|
feat(analysis): 招标文件解析增加投标要素抽取(落 bid_tenders source=tender_doc)
- EXTRACT_PROMPT 增加 tender_facts(项目名/招标人/编号/投标时间/周期/金额/保证金/资质/关键节点/风险)
- extract_from_file 抽取后 _upsert_tender_facts 幂等落库,复用 bid_tenders 承载商务要素
- 合成标书 get_tender_by_project 链路无需改动即可拿到 title/tender_no
- 强化评分项+得分规则抽取要求:逐条覆盖、保留档位/扣分/加分细则、否决项 is_veto=1
|
2026-08-27 13:28:15 +08:00 |
|
ymq
|
7ceedefeb7
|
feat(bidding): 多session会话入口 + 从上传招标文件开始(砍邮件采集/审批)
- 新增 /pipeline-bidding/agent/index.ui 多 session 会话界面(复用通用 agent)
- bid_ability 砍 fetch_tenders/import_tender/list_tenders/tender_detail/summarize/set_fields/submit/approve/reject/archive/reopen 等邮件采集+审批工具
- create_bid_project 改为直接创建项目+发上传招标文件任务(不依赖 tender)
- 删除招标信息员角色,菜单改招标文件/评分项/章节/资质/知识库/标书
- bid_flow 去掉审批门禁,无招标文件则自动发上传任务作为产线起点
|
2026-08-27 13:12:58 +08:00 |
|
|
|
e134ecde4a
|
fix(bid_flow): failed任务视为阻塞并抛人工介入,不再每轮重复造任务(实测角色agent失败后对账器15秒重造的根源)
|
2026-08-27 00:30:39 +08:00 |
|
|
|
a5dd0a4079
|
diag: poller 注册/启动链路加日志(定位 rounds=0:是未注册还是循环未跑)
|
2026-08-27 00:22:30 +08:00 |
|
|
|
c4e8406c6f
|
fix(load_path): set_role_perm.py 用宿主根绝对路径(否则在模块目录执行时找不到文件,0/68 注册)
|
2026-08-27 00:14:16 +08:00 |
|
|
|
300d09fe8a
|
feat: poller心跳+诊断探针 bid_probe.dspy;日志双通道(appPublic.debug 进 pipeline.log)
|
2026-08-27 00:12:02 +08:00 |
|
|
|
8db2a059e5
|
fix: pipeline_human_tasks 活表无 comments 列,改用 qc_comment(以测试环境活表 schema 为准)
|
2026-08-26 23:58:55 +08:00 |
|
|
|
7c21378296
|
fix(build): getConfig 显式传宿主根目录(否则相对路径解析到模块自身目录找不到 conf)
|
2026-08-26 23:48:02 +08:00 |
|
|
|
19a3d67c68
|
feat: 投标产线模块(bidding_general)
- 12张 bid_* 表(models+DDL+CRUD):招标信息/邮箱配置/人员/招标文件/评分项/资质/
投标文件要求/章节/评审/评分/知识库/标书
- 7个角色能力模块(bid_*_capability):采集摘要/解析/知识库资质/编写/评审/合成/评分
- bid_flow 状态对账器:角色任务唯一创建者+阻塞门禁(源头守门,引擎零特判)
- bid_mail:阿里云企业邮 IMAP 采集(凭据存DB AES,客户端专用密码兼容)
- 能力包注册(bid_ability)+ 角色工具自注册(role_tool_schemas)
- 技能:6 common 状态机/规范 + 9 角色技能(pipelines/bidding_general,随 pipeline-core 部署)
- i18n(zh/en)、init/data.json(appcodes+pipelines记录)、build.sh、RBAC load_path
|
2026-08-26 23:45:03 +08:00 |
|
|
|
73d19bbd49
|
Initial commit
|
2026-08-26 23:44:04 +08:00 |
|