源码阅读 MOC

组织「读开源项目源码」这一类笔记的入口,提供统一的阅读方法(目录结构 → 包组织 → 依赖方向 → 调用链)与项目清单。

#type / moc #status / growing #tech / dev

[!info] related notes

源码阅读 MOC

这张地图覆盖什么

这里收录「读别人的开源项目源码」产生的笔记。它和 Go 语言项目实战 MOC 是一对互补关系:

地图材料来源核心动作
本图外部开源项目逆向理解已有设计:它为什么这样切包
Go 语言项目实战自己写的项目正向做决策:我该怎么切包

每个项目一篇 type/resource 主笔记,回答四件事:目录结构、包组织、架构分层与依赖方向、从哪读起。从中提炼出的稳定结论再落成 type/concepttype/synthesis,并与既有理论笔记双向链接。

推荐阅读顺序 / 从这里开始

读任何一个陌生项目,都走同一条固定路线,避免一上来就陷进单个文件:

  1. 鸟瞰目录:只看顶层 1–2 层,先数出「有几个顶层边界」。
  2. 给每个顶层目录一句话职责:说不清的先标记为疑问,不要跳过。
  3. 确定依赖方向:谁 import 谁,箭头是否单向。这一步决定它属于哪种架构范式。
  4. 找入口main 在哪,组装了什么,服务怎么起来。
  5. 贯穿一条用例:挑一个最简单的写操作,从 HTTP 入口一路追到落库。
  6. 回到理论:把观察到的做法链接回 Go 项目结构与分层 等理论笔记,验证或推翻自己原来的理解。

先看理论:Go 项目结构与分层(讲原则)→ 再看下面的真实案例(讲落地)。

项目清单

[!note] 按「三层参考架构」组织 用户为 BodySense 定的学习框架:每个项目只负责教它最擅长的部分,不追求一个仓库覆盖全部。对照关系见下。

Go 服务端(既有)

  • Ardan Labs Service —— 教学向参考实现,四层横切(api / app / business / foundation)× 领域纵切,强类型只在业务层
  • Memos —— 真实产品,契约先行(protobuf)+ 多数据库驱动 + 单仓带前端

Python:优雅写法 & 完整产品

  • PydanticAI —— 学「现代、类型安全、优雅的 Python AI 写法」首选;Agent[Dependencies, Output] 类型链贯穿 dependency→tool→model→output
  • Onyx —— 学「完整 Python AI 产品工程化」首选;FastAPI + Celery + PostgreSQL + RAG + 分层测试,与 BodySense 技术栈重合最高

React + Python:图形化 & AI 交互

  • Langflow —— React 19 + Vite + Zustand 可视工作流;graph 执行 + 流式,前端匹配度最高
  • OpenHands —— Agent 状态机 / 事件流 / 中断恢复 UI(注:main 根为前端 agent-canvas,Python 运行时位置待确认)

React + Go + Python:三栈分工

待读

关系笔记入口

相关 MOC

创建于 2026/8/10 更新于 2026/8/11