01. Architecture Blueprint

1. 设计目标

你的知识系统不是单一笔记软件,而是一个分层系统:

  • Obsidian 负责原始输入与人工组织
  • Git 负责版本与审计
  • TrueNAS 负责存储、快照、备份
  • llm-wiki 负责知识编译与 AI 可消费输出
  • gbrain 负责长期记忆
  • MacBook 负责 AI 执行、编排与例行工作

你的角色是:

  • 架构师
  • 程序员
  • 前端团队 TL

所以系统需要同时支持:

  • 深度技术思考
  • 代码与方案沉淀
  • 团队协作上下文
  • 会议/项目/人员长期记忆
  • AI 辅助的回顾、总结、预案、周报与行动项

2. 机器分工

MacBook

定位:主工作台

负责:

  • Obsidian
  • Codex
  • Claude Code
  • Ghostty
  • 本地代码开发
  • 日常知识输入
  • AI 会话产出

原则:

  • Obsidian Vault 始终本地打开
  • 不直接把 Vault 放在 SMB/NFS 上编辑
  • 同步和备份交给 Git + TrueNAS

homelab Ubuntu

定位:常驻服务节点

负责:

  • Forgejo
  • llm-wiki
  • gbrain
  • 可选 Postgres + pgvector
  • 定时任务、Webhook、自动汇总

原则:

  • 所有 AI 服务尽量容器化
  • 所有运行数据落到 TrueNAS
  • 对外暴露尽量通过反向代理和内网入口

TrueNAS SCALE

定位:数据底座

负责:

  • Vault 原始存储备份
  • Git 仓库存储
  • AI 产物存储
  • 快照
  • 异地备份

原则:

  • 快照比同步更重要
  • SyncthingGit 都不是备份
  • 误删回退必须依赖 ZFS snapshots

3. 分层架构

Layer 1: Raw Knowledge

原始知识层,保存未经 AI 重写的第一手资料:

  • Obsidian 笔记
  • 会议记录
  • 设计草稿
  • 架构分析
  • Daily log
  • 团队管理笔记
  • 人物与项目手账

建议目录:

  • 00 Inbox
  • 10 Projects
  • 20 Areas
  • 30 Knowledge
  • 40 ADR
  • 50 People
  • 60 Architecture
  • 70 Team
  • 80 AI
  • 90 Archive

Layer 2: Version and Audit

版本与审计层:

  • Forgejo
  • Git 仓库
  • Pull Request
  • ADR 演进
  • 方案草案与变更记录

目的:

  • 让知识库像代码一样可追踪
  • 支持阶段回滚
  • 支持 AI 后续读取变更上下文

Layer 3: Compiled Knowledge

知识编译层:

  • llm-wiki

输入:

  • Obsidian Vault
  • Codex 会话记录
  • Claude Code 会话记录
  • 项目代码仓库
  • ADR 和设计文档

输出:

  • 可搜索静态知识站
  • interlinked wiki
  • llms.txt
  • JSON/文本导出

这一层的核心价值:

  • 让你不是在“查原始笔记”
  • 而是在“查 AI 编译后的高质量知识入口”

Layer 4: Memory

长期记忆层:

  • gbrain

输入重点:

  • 会议
  • 公司
  • 项目
  • 你自己的持续思考

适合放进去的内容:

  • 某个同事的能力画像和历史协作上下文
  • 某个项目的关键节点和关系人
  • 某次会议提到的后续追踪事项
  • 你长期关注的一类架构模式或组织问题

这一层的核心价值:

  • 不是单纯搜索
  • 而是给 agent 提供“持续积累的上下文”

Layer 5: Agent Workbench

执行工作台层:

  • MacBook
  • Codex
  • Claude Code
  • 可选远程模型或 API

适合承接的工作:

  • Daily brief
  • Weekly review
  • Meeting prep
  • ADR 草稿生成
  • 项目状态摘要
  • PR 风险聚合
  • 会议后行动项收敛

原则:

  • 不让 AI 直接写核心原始知识
  • 优先让 AI 先写到单独目录或输出区
  • 由你人工审核后再进入正式知识层

4. 推荐部署拓扑

flowchart LR
    MB["MacBook\nObsidian / Codex / Claude Code / Ghostty"] --> GIT["Forgejo on homelab"]
    MB --> RAW["Local Vault"]
    RAW --> GIT
    GIT --> TN["TrueNAS\nSnapshots / Backup"]
    RAW --> LLMW["llm-wiki"]
    GIT --> LLMW
    MB --> TX["AI transcripts"]
    TX --> LLMW
    RAW --> GB["gbrain"]
    TX --> GB
    GB --> AW["MacBook Agent Workflow\nCodex / Claude Code"]
    LLMW --> AW
    TN --> LLMW
    TN --> GB

5. 数据集规划

建议在 TrueNAS 上建立:

  • tank/knowledge/obsidian-vaults
  • tank/knowledge/git-forge
  • tank/knowledge/ai-transcripts
  • tank/knowledge/llm-wiki
  • tank/knowledge/gbrain
  • tank/knowledge/backups

快照建议:

  • 每小时,保留 48 小时
  • 每天,保留 30 天
  • 每周,保留 12 周

6. 网络与访问建议

优先级:

  1. 内网访问
  2. Tailscale/ZeroTier 之类的组网
  3. 反向代理 + 强鉴权

不建议:

  • 直接把 gbrainHermes 暴露到公网
  • 未经鉴权开放任何 memory / wiki / AI 面板

7. 最重要的架构决策

决策一

Obsidian 是原始知识源,不是 AI 的工作流引擎。

决策二

llm-wiki 是知识编译器,不是事实真源。

决策三

gbrain 负责长期关系和上下文记忆,不替代 Vault。

决策四

当前阶段不在 homelab 上部署重型执行代理,AI 执行能力优先放在 MacBook