这些指令适用于整个仓库,兼容 Codex / Cursor / TRAE / ZCode 等编码代理。
学科知识中心(KnowledgeNexus):大规模多学科知识库平台。任何任务开始前先读:
docs/学科知识中心技术方案.md—— 目标态架构(K/R 双资产轴、四服务、数据权威、能力位、ACL、评测口径)。docs/学科知识中心-落地方案.md—— 落地执行(复用映射、Phase 0–5、风险预案)。
libs/*/radai/与tests/radai/是从 RADAI(dev@4fb1af7)迁来的冻结快照: 只读参考,不在本仓库内直接演化;新代码写在同 lib 的干净层或services/内。- 快照内
from backend.…导入路径是预期状态,抽取重构时逐模块消除;每完成一次抽取, 对应快照模块即退役删除,保持单一事实源。 schemas/*.yaml是学科 Schema 内容资产(三层体系:_base.yaml通用学术层 + 18 学科层 +custom_*自定义层;hydrogeology v1.3 起 extends_base), 演进走版本化,修改需同步docs/中相应约定;corpus/gen_subject_schemas.py是学科层批产工具(LLM 起草+validator 校验,幂等可重跑补齐)。eval/内含全量测试数据与历史运行产物(约 1.5G):题集/holdout/消融结果是后续测试的 基础设施,删除或"清理"前必须确认可再生。eval/与tests/为本地资产(.gitignore 已排除),不随 GitHub 仓库分发。
- 永不提交:
.env、密钥/token、连接串、日志、上传内容、模型数据、运行态、构建产物。 - 提交前检查暂存文件清单,排除临时与生成文件。
- 对外(公网/校外)暴露任何服务前,确认开源许可清单(MinerU 为 AGPL-3.0)。
- Python ≥3.12;依赖在 Phase 0/1 从
requirements-radai-baseline.txt裁剪定型前, 不要随意新增运行时依赖。 - 前端零构建链:admin 管理台
services/admin-api/app/static/为单页壳(PAGES/RENDER 注册)+ 拆分 JS +vendor/UMD(cytoscape/echarts,许可与 sha256 登记vendor/NOTICE.md);新页面沿用该模式,不引框架/构建链,vendor 只收宽松许可库。 - 质量门沿用 RADAI 模式:语法编译门(CI
compileall)→ lint → 最小测试数 → 覆盖率, 随骨架充实逐级开启。 - 提交信息用 conventional commits 风格(
feat/fix/perf/docs/refactor/...(scope): 摘要)。 - 图查询层 day1 契约:Nebula MATCH 读边属性一律
properties(e)(RADAI 生产教训),libs/engine实现时配 lint/契约测试。
- 自建基础设施只经
deploy/docker-compose.infra.yml(MySQL/OpenSearch/Nebula/Redis/MinIO), 版本矩阵与升级纪律以deploy/README.md为准。 - Embedding / LLM / MinerU 三类模型服务不自建:永远经
deploy/.env.services端点注入 外部现有服务;服务缺这三类端点时/readyz必须保持 not-ready。 - 端口纪律:基础设施(13306/19200/19669/16379/19000/19001)永远只绑 127.0.0.1。
四应用服务(18100/18111/18121/18131)2026-09-12 经项目所有者评审后允许对外
(0.0.0.0,统一经
deploy/run_services.sh启动),但必须同时满足: ①KNC_AUTH_PASSWORD已设(Basic Auth 网关,回环/预检/healthz 免认证,见libs/knc-core/knc_core/authn.py);②KNC_CORS_ORIGIN_REGEX显式配置; ③ 收紧口令只存deploy/.env。撤回对外=改绑 127.0.0.1 并清空该口令(中间件自动全放行)。 - 真实
.env/.env.services永不入库(只有*.example模本可提交)。
实现任务完成后,若改变了目录职责、服务边界、数据流、依赖或部署形态, 在同一变更内更新本文件与相关 README。