4.3 KiB
服务器关键环境事实(生信编排实施团队共享上下文,2026-09-05 实测)
【分支与身份】
- 工作分支: feature/bioflow-conversation-orchestration(基于 main 4749f77,含 docgen 两批修复)
- git 身份: admin jerryhaozhang@gmail.com(仓库级已配置);不 commit/push(由 TL 统一决定)
- 仓库: /home/xzq/5090/teamWorkspace/zh/PlantAI-rag-new
【路径】
- 部署根: /home/xzq/5090/teamWorkspace/zh/plantai-rag-new-deploy-unified/(sdk/ + ui/)
- venv: /home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python(py3.12.13)
- 移植源(只读,零改动): /home/xzq/5090/teamWorkspace/zh/PlantAI-dev/(apps/cli 92 文件含 84 个 run_*;gfa_core 依赖闭包)
- dev 数据: /home/xzq/5090/PlantAI-dev4090-7/data/hmm/(Pfam-A.hmm 1.8G + 索引);金标在 PlantAI-dev/assets/examples/test_input/(519M + 24 成员 ID 预期)
- 生信数据根(TL 建): /home/xzq/5090/teamWorkspace/zh/bioflow-data/(hmm/ 软链 + rag_db/pfam_mapping.json)
【端口】8090 BFF / 8091 QA(金标,零改动)/ 8092-8093 legacy RAG / 8094 vstore / 8095 crm / 8098 生信服务(新建)/ 8099 mock / 5180 vite dev 【conda 环境→镜像(环境整体复制进镜像:conda-pack 打包→/opt/conda 解包+conda-unpack 重定位→ENV PATH 直达;最终镜像无 conda 本体、仅 root、无 /home/xzq;方法文档 docs/bioflow_image_build_playbook.md)】8 个在用的:test4py311(16G)→bioflow-gf / gfpy312(5.4G)→bioflow-gfpy / rnaseq(6.1G)→bioflow-rnaseq / rnaR(2.7G)→bioflow-rnaR / ASAW(5.1G)→bioflow-wgs / interproscanpy311(750M)→bioflow-interproscan / panfamily(1.8G)→bioflow-pan / r_de_analysis(1.6G)→bioflow-rde;其余 18 个环境工程结束后按同法补做 【8 镜像】bioflow-gf/gfpy/rnaseq/rnaR/wgs/interproscan/pan/rde(环境数=镜像数,用户拍板;环境枚举权威=dev 环境获取 API 9011 端口 /api/extension-stages/envs + .runtime/lightweight-extension 扩展样本声明)。P0 已完成(2026-09-06):8 镜像全部构建+验证清单通过;bioflow-gfpy 为 dev 历史残留储备(gfpy312 实测无 mafft/iqtree/meme, 工具在 test4py311, TL 裁决工具阶段单镜像执行不拆 gfpy);镜像内排除 .bak/.orig 备份(build_all.sh rsync excludes) 【LLM】沿用 docgen 直连模式(DOCGEN_LLM_* 键);vstore 用 ollama bge-m3:567m 【docker】已有运维先例(plantai-protected 4 容器);生信容器 --user xzq uid、--rm 一次性、BIOFLOW_DATA 只读挂载
【团队纪律(所有 agent 必须遵守)】
- 所有改码只在服务器仓库(经 ssh xzq@8.163.92.8 -p 26518 执行),且只在 feature/bioflow-conversation-orchestration 分支
- 开发 agent 只动自己任务书列出的文件;不越界;发现需改其他文件 → 记入报告交 TL 裁决
- 零改动:QA 树(8091)、PlantAI-dev 仓库(只读复制源)、ui/src/stores/modes.js、ui/src/i18n/labels.js、ui/src/stores/bench.js(store)、ui/src/api/qa.js、ui/src/sse/parser.js、services/docgen 既有代码(report 模板由 A3 经 TL 协调增量新增)、tooling/compile/compile_sdk.sh(内核/生信服务各自复制副本改白名单,不改原脚本)
- 不 commit、不 push、不部署、不重启生产进程(编译/部署/镜像构建发布由 TL 执行)
- 不连生产端口探测(8090/8091 运行中服务)
- 单元测试只跑不依赖生产服务/网络的(mock/fixture/tmpdir);全量 pytest/vitest 由 TL 统一执行
- 每个 agent 有独立工作目录(见各任务书),互不写入
- 服务层代码只用 dataclass/dict(Cython 编译纪律,勿用 pydantic 模型);新增 pydantic 模型只放明文白名单 schemas.py
- 明文安全:凭据绝不写入报告/日志/仓库
- 产出报告写在本任务书指定的报告文件
【需要改代码前必读的仓库文件】
- tooling/compile/compile_sdk.sh(编译机制,复制改白名单的基准)
- sdk/app/main.py、sdk/app/config.py(BFF 反代注册点与配置键,A2)
- ui/src/components/chat/PipelineCard.vue、AssistantMessage.vue、Composer.vue、ui/src/stores/chat.js、ui/src/components/bench/BenchPanel.vue、ui/src/components/layout/AppShell.vue(A3)
- docs/PRD.md §16(FR-BIO-001~032)、docs/UI_SPEC.md §8、docs/TEST_PLAN.md §9-12(需求与门禁唯一来源)
- docs/TEST_CASES.md 生信部分(T1 产出,用例唯一来源)