Commit Graph
43 Commits
Author SHA1 Message Date
potaser f712a657c0 修复:输出前缀绑定替换保留原引号,避免 Python -c 字符串字面量变裸标识符(zh01 NameError) 2026-08-29 23:57:45 +08:00
potaser 6a4db21891 修复:服务器测试数据路径目录导入保留目录 basename(proteomes/ 层级不再丢失) 2026-08-29 23:30:43 +08:00
potaser 31bb5fa5e0 拓展分析运行已发布时个别样例报前缀不对的问题 2026-08-28 19:48:46 +08:00
potaser 81b0a7045d 修复:对话触发轻量拓展分析三缺陷(帮助意图误判、Phase A 弱命中抢占、LLM 空响应重试) 2026-08-27 11:22:08 +08:00
potaser afdb1614a2 粗筛改 union 策略:强触发词不再优先全量,关键词命中返回子集
真实验收 prompt 必然带拓展分析强触发词,原分支会导致全量 61 候选。现改为:先剔除强触发词后按关键词源匹配子集(命中数降序);仅纯拓展分析无任何关键词命中时才全量兜底(catalog 截断时 reason 注明请补充工具名)。
2026-08-27 00:24:43 +08:00
potaser db610031c1 修复轻量拓展分析 NL 触发第一轮测试反馈(PM 裁断)
- P0 目录截断:_rough_candidates 关键词源扩展 extension_id token 与参数 flag;命中数降序排序;MAX_CATALOG_CHARS 12000→24000;截断时 reason 注明
- P1a 过滤缺失 extension_id 的记录,不再产出 None 候选
- P1b hmmsearch/hmmer/blast/blastp 不再全量触发,改为按关键词源匹配子集;仅「拓展分析/扩展分析/extension」允许全量候选
- P2 extension_name 改为 extension_id 紧凑形式(去尾缀时间戳截 30 字符);message 中文模板(extension_id 为主、summary 括号补充)
- P2 nl-import-paths:目录同名冲突 _1/_2 后缀;多路径先整体校验后复制
2026-08-27 00:21:31 +08:00
potaser a60f457541 轻量拓展分析自然语言触发:nl_intent 模块、后端意图回退与短路、两步向导与服务器路径导入
- 新增 gfa_core/extension_stage_lightweight/nl_intent.py:粗筛+DeepSeek 解析+sanitize,client_factory 可注入
- main.py:_match_lightweight_extension_intent 与三个空返回点回退、/api/agent/plan 守卫、_run_agent_chat 预闸短路、POST /api/nl-import-paths
- index.html:lightweightNlRun 两步向导(拖拽上传+服务器路径导入)、executeLightweightNlRun、poll 回话
- 一并提交工作区既有改动:api.py store 默认路径 .runtime/lightweight-extension/store、index.html stop 404 容错
2026-08-26 23:46:42 +08:00
potaserandClaude Opus 5 dfff8b6c45 fix(lightweight-extension): 输出前缀绑定、拖拽导入与前端入口修复
- runtime_binding: 验证时排除输入 sidecar 输出,目录参数跟随输出前缀重命名
- import-folder: 改 multipart 二进制上传,规避大文件 base64 报 Invalid string length
- main: 前端入口切回 index.html,conda 路径兜底

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 20:51:22 +08:00
wtx 4a5fdff6f0 fix: preserve gene-family stage intent and completed results 2026-08-24 09:34:13 +08:00
potaser 052b0c1d5d fix: stabilize Router model error handling 2026-08-22 00:47:11 +08:00
sj 1824f2d14b Merge remote-tracking branch 'origin/master'
# Conflicts:
#	scripts/legacy_startup/restart_with_prompts.sh
#	scripts/legacy_startup/start-webui.sh
#	scripts/legacy_startup/start_celery.sh
#	scripts/legacy_startup/start_celery_7880.sh
#	scripts/legacy_startup/start_celery_port9000.sh
2026-08-21 11:06:22 +08:00
potaserandClaude Opus 5 509f5ff11b feat(i18n): 后端共享 i18n 翻译模块
供后端所有模块使用的翻译函数与字典(t / I18N_MAP)。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 20:25:58 +08:00
potaser da8001ab2a Merge branch 'master' of http://192.168.0.175:3000/admin/PlantAI-dev 2026-08-19 20:23:24 +08:00
potaserandClaude Opus 5 a2e8cbae86 fix(lightweight-extension): 环境激活、前缀重命名、数据复制与上传进度
- service.py: _make_env 用 conda run 激活环境(执行 activate.d,补 PYTHONPATH)
- index_ml.html: 环境下拉框动态加载 + 补传 runtime_env
- runtime_binding.py: 前缀误判修复、放宽 ambiguous、can_rename 判断、子目录数据复制补 mkdir
- api.py: 缺输出目录时友好提示
- main.py + lightWeightExtensionTest.js: run.sh 环境声明 # lightweight-env
- index.html/index_ml.html: 拖拽上传进度条

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 20:17:43 +08:00
potaser 77011a21b7 fix: resume confirmed analysis handoff 2026-08-11 06:37:24 +08:00
potaser 4a80793b4a fix: integrate deployed reports with PPI KaKs handoff 2026-08-11 04:48:38 +08:00
potaser 8b61269d3f Merge remote-tracking branch 'origin/master' into fix/ppi-kaks-enable
# Conflicts:
#	tests/unit/test_router_analysis_handoff_boundary.py
2026-08-10 23:24:47 +08:00
potaser 7b7e334213 fix: complete PPI and KaKs reference handoff 2026-08-10 23:13:05 +08:00
sj b725a9c125 feat:sync-report-workflows-and-migration-runtime 2026-08-10 11:40:20 +08:00
potaser fe5f7b9d6e 多语言散落补全 2026-08-10 00:31:32 +08:00
potaser 87c158efe5 多语言散落补全 2026-08-09 22:58:26 +08:00
potaser 963e4ddc73 多语言散落补全 2026-08-09 22:24:06 +08:00
potaser 9dbd87696b 多语言散落补全 2026-08-09 22:20:36 +08:00
wtx 9b9c88b18e merge: preserve latest report refinements 2026-08-09 16:06:20 +08:00
wtx b8dcb63fa1 fix: preserve raw intent across language switching 2026-08-09 16:03:13 +08:00
sj 1c2cfc5b6e Merge remote-tracking branch 'origin/master' 2026-08-09 14:31:42 +08:00
wtx 0e5cece447 feat: refine gene family result report 2026-08-09 14:28:41 +08:00
wtx dc9d44f95b feat: refine RNA-seq result report 2026-08-09 14:21:26 +08:00
wtx 0f81b5140c fix: restore main-agent routing and workflow handoff 2026-08-09 13:50:35 +08:00
sj 55338be930 merge: resolve .gitignore conflict, keep remote memory ignore pattern 2026-08-09 09:05:11 +08:00
sj 9c38f32d52 feat: deepseek summary agent + clean old memory logs + merge prep 2026-08-09 09:04:27 +08:00
potaser 8f7e992b84 多语言首页与首页引用页 2026-08-09 06:03:39 +08:00
wtx cb122fd088 feat: add gene family result reports 2026-08-09 04:32:28 +08:00
wtx 65f79207f0 feat: add evidence-bound RNA-seq result reports 2026-08-09 01:37:00 +08:00
wtx 7399b0bf14 Merge origin/master before analysis handoff push 2026-08-08 10:41:45 +08:00
wtx 5f240d1eec fix: delegate analysis planning from main agent 2026-08-08 10:40:01 +08:00
potaserandClaude Opus 5 d66a5f9378 fix: output prefix handling for tools without shared filename prefix
15 changes to resolve the validation chain for extensions where
output files lack a common filename prefix (MEME, MCScanX, etc):

1. _output_has_prefix: match directory components, not just filenames
2. _replace_output_prefix: rename directory when prefix matches dir
3. _shared_output_prefix: fallback to deepest shared directory prefix
4. _fallback_dir_prefix (NEW): extract prefix from common dir
5. _is_dir_prefix (NEW): detect directory-style prefix
6. _replace_positional_prefix (NEW): rewrite positional args (MCScanX)
7. _symlink_prefix_data_files (NEW): create data file symlinks
8. _inject_dir_prefix_override (NEW): inject -oc flag (MEME family)
9. _root_prefix_pair (NEW): extract old/new root from renamed outputs
10. covered_by_patched_root: accept '/' as delimiter boundary
11. _requested_substitutions: auto-register unpatchable output roots
12. render_runtime_package: positional + -oc rewrite + locked data copy + symlink
13. _load_and_validate_render_record: exempt prefix overrides from ENTRY_COMMAND_CHANGED
14. _render_script_updates: tolerate count > expected (allow over-replace)
15. record schema: add _prefix_binding and actual_command fields

Fixes: s2-t02-f series, s4-t01-f series, s6-t02-f series, s8-v01-f
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 20:51:27 +08:00
potaserandClaude Opus 5 842455dd78 Add gfa_core/mas/memory module
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 09:52:43 +08:00
potaser 822baab367 fix: preserve species roles through confirmation 2026-08-07 08:57:22 +08:00
wtx 8c3d601072 fix: allow reordered subfamily member records 2026-08-06 21:32:49 +08:00
potaser 35fbee8c85 fix: preserve confirmed species roles in agent planning 2026-08-05 15:42:32 +08:00
potaserandClaude Opus 5 e641c8b9ab feat: 轻量拓展分析 + WGS2GWAS 阶段支持 + 结果区域重构 + 物种角色解析增强 + 会话 Job 隔离
【轻量拓展分析】
- 新增 gfa_core/extension_stage_lightweight/ 核心模块,支持用户上传代码/数据/原始命令
- 前端卡片式交互流程:候选核对 → 验证 → 结果审查 → 授权发布 → 运行
- Celery 不受限任务 + 轮询机制 + sessionStorage 操作恢复
- 启动脚本新增 BBAV5_LIGHTWEIGHT_* 环境变量

【WGS2GWAS 支持】
- 新增 13 个 WGS 阶段定义(QC → MAF/Missing Filter)
- email_haplotype_region.py 新增 LTR-RT 分析功能

【结果区域重构】
- 单层折叠 → 三组双层折叠:RNA-seq / 基因家族 / WGS2GWAS
- 结果按执行时间排序,保留最新尝试

【物种角色解析增强】
- 新增 _resolve_subfamily_request_species_roles()
- 支持 reference 角色的识别
- 直接 stage 请求保留 intent 中的物种角色

【会话 Job 隔离】
- rebind_job() 跨 job 时创建新会话,返回新 conversation_id

【前端交互增强】
- RAG 文献问答模式
- NL 触发 config/samples 自动填写、亚家族确认表、基因家族成员确认表
- 执行状态从后端 resource_tasks 恢复

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 09:40:45 +08:00
potaser f745ee9d7e Initial commit: PlantAI-dev 2026-08-03 18:42:47 +08:00