Skip to content

Latest commit

 

History

History
61 lines (47 loc) · 3.91 KB

AGENTS.md

File metadata and controls

61 lines (47 loc) · 3.91 KB

KnowledgeNexus Repository Agent Instructions

这些指令适用于整个仓库,兼容 Codex / Cursor / TRAE / ZCode 等编码代理。

项目定位

学科知识中心(KnowledgeNexus):大规模多学科知识库平台。任何任务开始前先读:

  1. docs/学科知识中心技术方案.md —— 目标态架构(K/R 双资产轴、四服务、数据权威、能力位、ACL、评测口径)。
  2. 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/)

  • 自建基础设施只经 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。