Clinical Neuroscience Knowledge Base

这是长期维护的临床神经科学课程工作区。它同时保留两种视图:

  • lectures/:逐节课记录老师讲了什么,原始文件、课堂总结、提取图片和处理日志互不合并。
  • knowledge-base/pathways/atlas/review/:把截至当前的课程知识增量整合成可检索、可复习的系统。

Markdown 与 sources/sources.json 是 source of truth;site/ 是可删除并重新生成的 HTML 浏览层。

结构类 HTML 采用 anatomy-first / visual-first:标题后先显示 Visual Anatomy / 解剖定位(主要定位图、原图 + 标注图、必要的其他切面,可点击放大),再依次阅读“它在哪里”、毗邻、组成、功能、通路、损伤定位、PT 联系、课堂重点和来源。Atlas 的结构化关系保存在 atlas/atlas.json,HTML 不反向成为知识源。

生成站点提供中文优先的双层目录:桌面端左侧是按“课程、知识库、图谱、通路、复习、来源与质量”组织的全站目录,右侧是按当前页面二级标题生成的本页目录;窄屏使用顶部“全站目录 / 本页目录”抽屉按钮。目录直接从 Markdown 路径和页面标题生成,新增或移动页面后只需重建 HTML,不另行维护手写页面清单。

V2 标注不把 PPT 箭头当作 ground truth。顺序固定为:识别切面 → 找 landmarks → 独立推断目标 → 再看 PPT 标注 → 生成 → 重新打开最终图做视觉复核。每个端点使用 CONFIRMEDPROBABLEUNCERTAIN 内部置信度;UNCERTAIN 不发布正式箭头。

Knowledge Base 以课程 PPT 为主干,不预填通用神经科学百科。外部资料只能回答已登记的具体知识缺口:gap-driven, not encyclopedia-driven

最简单的日常用法

  1. 新建 lectures/L01_Introduction/lectures/L02_Sensory/ 这类目录。
  2. 把老师的 .ppt.pptx.pdf 原文件直接放进去,不重命名、不覆盖旧课。
  3. 对 Codex 说:整理最新一节 Clinical Neuroscience。

Skill 会发现最高编号的未处理 Lecture;处理完成后在项目根目录运行 ./publish.sh 即可一键更新并发布全站。

网站发布与自动同步 (Publishing & Auto-Sync)

项目已配置 GitHub + Cloudflare Pages 自动部署:

  • 本地 Markdown/PPT/图谱为 Source of Truth。
  • 原始 PPT/PDF/视频/临时文件经 .gitignore 隔离,确保版权与隐私安全。
  • 生成的静态网页 site/ 托管于 GitHub 私有仓库,由 Cloudflare Pages 自动构建部署。

一键更新网站

在本地更新课程内容或图谱后,只需执行:

./publish.sh

该脚本会自动完成:

  1. 运行 build_html.py 生成最新 site/ 页面与图谱。
  2. 校验全站 40+ 页面与 2800+ 相对链接/资源完整性(如有断链则自动中断 push)。
  3. 提交 Git 变更并 push 到 GitHub。
  4. 触发 Cloudflare Pages 自动更新(约 1 分钟后手机/iPad/Windows 刷新网站即可看到最新版)。

手动检查命令

在项目根目录运行:

python3 skills/clinical-neuroscience-knowledge-builder/scripts/discover_lectures.py Clinical-Neuroscience
python3 skills/clinical-neuroscience-knowledge-builder/scripts/build_html.py Clinical-Neuroscience
python3 skills/clinical-neuroscience-knowledge-builder/scripts/annotation_integrity.py Clinical-Neuroscience
python3 skills/clinical-neuroscience-knowledge-builder/scripts/validate_workspace.py Clinical-Neuroscience

修改结构页或 Atlas 后应先生成并重新打开最终标注图,再运行 annotation_integrity.pybuild_html.pyvalidate_workspace.py。前者证明哈希、尺寸、1:1 anatomy canvas 与端点坐标没有漂移;它不能替代神经解剖语义复核。

如需先提取指定课程:

python3 skills/clinical-neuroscience-knowledge-builder/scripts/extract_lecture.py Clinical-Neuroscience --lecture L03_Motor-Control

PDF 默认提取文字;确有图像复习价值时可加 --render-pages。图片标注必须先独立判断切面、landmarks、目标与置信度,再使用 V2 annotation spec;低于阈值的结构不会被脚本强行标注。审计记录保存在 annotation-audit.mdatlas/annotation-audit.json

外部知识补充

当 PPT 缺少理解当前结构、通路、lesion localization 或 PT 联系所必需的信息时,Skill 会先在 Gap Register 写清楚一个可回答的问题和边界,再按顺序查找:

  1. 当前及已有课程 PPT;
  2. reference-library/course-assigned/ 中的指定教材和老师资料;
  3. 权威教材、图谱或专业资源;
  4. 高质量 review、guideline 或 peer-reviewed literature;
  5. 可靠专业网页。

缺口被合适来源回答后即停止,不继续扩展相邻百科内容。外部知识仍分别标为 【Foundation】【Clinical Extension】【PT Relevance】,不会变成 【Course Content】

以后加入教材或参考书时,把原文件放到 Reference Library 对应目录,并对 Codex 说:登记这份课程参考资料。 可先检查尚未登记的文件:

python3 skills/clinical-neuroscience-knowledge-builder/scripts/discover_references.py Clinical-Neuroscience

长期维护约定

  • 专业解释以中文为主,重要术语第一次出现给标准英文。
  • 课程事实使用 [PPT:Lnn:Snnn] 这一格式(实际处理时替换为真实编号);基础、临床与 PT 扩展使用各自标签,不冒充老师内容。
  • 外部补充必须先有 Gap ID,先查本地 Reference Library,并把引用登记到 sources/sources.json
  • 新资料先查 canonical entry 和 terminology,再补充、修正或增加来源。
  • PPT 与外部权威资料冲突时保留 Course Content,并写入 conflicts/index.md,不得静默覆盖。
  • status: processed 只用于自动检查无 error 的课程;仍需人工确认时使用 needs-review
  • 不声称“必考”;只记录明确强调、跨课重复或推测的复习价值。

目录导览

放大图像