Obsidian+GitHub 跨项目知识库

作者:jihe 发布时间: 2026-10-31 阅读量:0

几何之家 · 零基础实操

搭建自己的
AI 项目记忆库

用 Obsidian+GitHub 保存要求和进度,让 Codex 接着记录工作

适用 Windows|需要 GitHub 账号|包含实操截图

换一个项目,就要重新交代自己的要求;上次已经做过的决定,又要从聊天记录里翻出来?你可以把重要要求、项目进度和决定放进一个由自己保管的资料夹。下次开始工作时,让 Codex 先读相关笔记,再接着做。

学完你能做什么

01

整理长期要求

把偏好与项目规范写成笔记,留下日期和来源。

02

保存与同步版本

用 Commit 记录版本,用 Push 上传,再检查远端文件。

03

让新任务读取记录

明确指定项目笔记,核对助手实际读到了什么。

它不会自动收集或继承全部聊天历史。需要长期保留的信息,要主动写入知识库;Codex 也必须在当前任务中有权限读取它。

本文用 codex-memory 作教学示例。截图中的演示名称可能不同;实际操作时,请始终使用自己的同一个仓库和同一个本地文件夹。

开始前:把工具准备好

先完成下表中的准备。已有账号或已安装软件的项目直接跳过,不必重复安装。本文以 Windows 为例,不需要购买 Obsidian Sync,也不需要额外安装社区插件。

工具与官方入口

必要动作与完成标志

GitHub
账号与远端仓库

登录;新用户先选 Sign up 注册。能进入自己的 GitHub 主页即可。

GitHub Desktop
下载与同步

安装 Windows 版,选择 Sign in to GitHub.com,用同一个账号登录;按首次提示填写提交身份。能查看仓库列表即可。

Obsidian
阅读和编辑

安装 Windows 版并启动。出现欢迎页或笔记库即可;本教程不需要同步服务账号。

Codex
按需读取笔记

本教程使用 GitHub 连接实际读取笔记;已有可用连接就直接使用。云环境仓库配置是另一种可选方式,不要求同时完成。

登录信息只填在相应官方登录流程中,不写进笔记,也不把令牌粘贴到对话里。软件语言或版本不同,菜单文字可能略有差别。

GitHub Desktop 登录后,可在 File → Options → Accounts 的 GitHub.com 区域检查当前账号;已登录时通常显示账号和 Sign out。账号应与网页端一致,再到克隆窗口查看自己的仓库列表。这里按文字核对即可,下图仅展示 GitHub 网页端登录结果。

GitHub 登录后的网页局部:账号菜单已展开。这里只展示登录结果,不是安装或注册过程。
GitHub 登录后的网页局部:账号菜单已展开。这里只展示登录结果,不是安装或注册过程。 查看清晰原图

全程路线图

知识库关系示意图

知识库关系示意图(原创) 查看清晰原图

Obsidian 编辑本机同一目录,Commit 在本机仓库保存版本记录。Push/Pull 需要手动执行;Codex 先获授权,再读取指定记录,不会自动收集聊天。

七步操作速览

1建库→2克隆→3同目录打开→4写记录→5Commit→6Push→7指定读取

01 建立一个私有知识库

本章目标
准备一个私有知识库,能进入仓库页面并找到 README。

这一段要完成的事:在 GitHub 上准备一个专门放笔记的仓库。已有可读写的 codex-memory 仓库,就直接使用它,从下一任务继续。

1. 进入创建页面。在 GitHub 网页右上角点击 + → New repository,打开 Create a new repository 表单。

2. 填写并核对设置。按下表选择账号、名称和可见性。

表单项目

怎么填写或选择

Owner

选择自己的账号。

Repository name

输入 codex-memory。若提示同名仓库已存在,先确认是否就是要使用的知识库,不要重复创建。

Choose visibility

选择 Private。

Add README

开启,用来初始化一份仓库说明文件。

Description

可留空,或填写知识库用途;不填密码和令牌。

配置局部对照:①选 Private;②开启 README;③点击创建。完成后应进入自己的仓库页面。
配置局部对照:①选 Private;②开启 README;③点击创建。完成后应进入自己的仓库页面。 查看局部大图

3. 确认创建结果。核对无误后点击绿色 Create repository。进入自己的 codex-memory 仓库页面,看到初始化的 README 文件,就可以继续克隆。

独立演示仓库 codex-memory-demo-20261031:Private、1 次 Initial commit,文件列表仅含 README.md。读者实际使用自己的 codex-memory;这不是后续正式仓库的同一次创建记录。
独立演示仓库 codex-memory-demo-20261031:Private、1 次 Initial commit,文件列表仅含 README.md。读者实际使用自己的 codex-memory;这不是后续正式仓库的同一次创建记录。 查看清晰原图

提醒:Private 表示限制访问,不是秘密保险库。新仓库也不会自动生成整套笔记目录或整理脚本;后面按需要建立。

02 让 Desktop 和 Obsidian 使用同一份文件

本章目标
把仓库克隆到电脑,让 GitHub Desktop 与 Obsidian 使用同一个文件夹。

先用 GitHub Desktop 把仓库下载到电脑,再让 Obsidian 打开刚下载的那个文件夹。这一步最重要的是不要打开两份不同的本地副本。

1. 选择仓库和保存位置。在 GitHub Desktop 点击 File → Clone repository…;在 GitHub.com 页签选中自己账号下的 codex-memory。列表较长时,用搜索框查找名称。

在底部 Local path 填写最终保存目录,或点 Choose… 选择位置。示例克隆图使用:

D:\Knowledge\codex-memory

没有 D 盘就选自己的有效位置。检查最终路径,避免出现两层 codex-memory;把这条路径记下来,后面还要用。

①选中自己的仓库;②核对最终本地路径;③点击 Clone。完成后可在电脑上找到这份文件夹。
①选中自己的仓库;②核对最终本地路径;③点击 Clone。完成后可在电脑上找到这份文件夹。 查看局部大图

2. 下载并找到本地文件。点击蓝色 Clone,等待下载完成。左上角 Current repository 应显示 codex-memory。随后点击 Repository → Show in Explorer,资源管理器会打开这份仓库文件夹。

①看 README 等实际文件名,用来确认克隆目录。新仓库只有 README 也正常,已有知识库可能有更多文件。
①看 README 等实际文件名,用来确认克隆目录。新仓库只有 README 也正常,已有知识库可能有更多文件。 查看局部大图

3. 从 Obsidian 打开它。在 Obsidian 欢迎页找到 打开本地仓库,点右侧 打开。已经打开别的笔记库时,先从左下角仓库名称进入仓库管理界面。这里不需要选择“同步远程仓库”。

①点击“打开本地仓库”右侧的“打开”,接下来选择与 GitHub Desktop 相同的目录。
①点击“打开本地仓库”右侧的“打开”,接下来选择与 GitHub Desktop 相同的目录。 查看局部大图

4. 选择同一个文件夹。在选择窗口中找到刚才的 Local path,选中 codex-memory 文件夹本身,再点 选择文件夹。不要只选父目录 Knowledge,也不要另建一个同名空库。

打开后,在 Obsidian 左侧找到 README,和资源管理器中的文件核对。新仓库最初只有 README 很正常;已有知识库才会出现更多目录。其他截图中的个人路径已遮挡,你只需以自己当前的 Local path 为准。

完成标志:GitHub Desktop 管理的文件夹,就是 Obsidian 正在打开的文件夹。以后在 Obsidian 改笔记,Desktop 的 Changes 才能识别这些更改。

需要了解“仓库”和文件夹的关系,可查看 Obsidian 官方仓库管理说明。

03 写好长期要求和项目记录

本章目标
分别保存用户偏好和项目记录,写清来源、日期与当前进度。

先分开保存两类内容:用户偏好写长期要求;项目页写这个项目的目标、进度和下一步。不要把某个项目的特殊要求自动推广到所有项目。

1. 建立偏好笔记。在 Obsidian 左侧文件列表空白处右键,选择 新建文件夹,输入 10-Profile 并按 Enter;再右键这个文件夹,选择 新建笔记,命名为 用户偏好。已有同名文件夹或笔记时,直接打开原来的。

点击正文编辑区,写下本人明确确认的要求,并标明来源、日期和适用范围。可以参考这个格式,不要照抄不属于自己的经历:

偏好:教程要分步骤,用容易理解的话说明。
来源:我本人确认;日期:填写实际日期。
适用范围:教程制作;状态:有效。
①核对“用户偏好”标题和所在目录,再按正文示例写入记录;保存后应能找到用户偏好.md。
①核对“用户偏好”标题和所在目录,再按正文示例写入记录;保存后应能找到用户偏好.md。 查看局部大图

2. 建立项目页。用同样方法,在仓库根目录新建 20-Projects 文件夹,再在里面新建 教程项目 笔记。它与 10-Profile 并列,不要误建在偏好目录里面。

项目页可以这样写,进度只填写实际已经完成的事项:

目标:整理一篇可以跟着操作的教程。
要求:先保存草稿,人工检查后再决定是否发布。
当前进度:填写实际已完成事项。
下一步:填写待办事项。

3. 确认文件已经保存。Obsidian 通常会自动保存,也可按 Ctrl+S。左侧应能找到这两份笔记:

10-Profile/用户偏好.md
20-Projects/教程项目.md

后面让 Codex 读取时,就使用这些真实文件路径。这里只保存了电脑上的文件,还没有上传到 GitHub。

04 保存一个版本,并把它上传到 GitHub

本章目标
先在本机仓库记录版本,再同步到 GitHub 网页核对提交与文件。

记住两个动作:Commit 在本机仓库记下一个版本,Push 把已提交的版本传到 GitHub。本章以已有知识库中的 40-Daily/2026-10-29.md 日报及相关整理记录为同步实例,提交说明是“更新知识库日报和整理记录”。你也可以同步前面刚写的笔记,沿用同一操作;不必为了配合截图另外建立日报。

1. 先审阅 Changes。回到 GitHub Desktop,确认仓库为自己的 codex-memory。点击 Changes,逐个点文件查看差异,只勾选本次要提交的内容。示例包含日报和相关来源记录;你的文件名与数量可以不同。绿色一般是新增,红色一般是删除,核对没有误删、秘密或不应提交的个人资料。

2. 写说明,再提交。在左下角 Summary 输入能概括本次变更的说明;日报示例使用下面这句。你提交其他笔记时,改成符合实际内容的说明。Description 可以留空。

更新知识库日报和整理记录
提交控件局部:审阅 Changes,填写 Summary,再点击 Commit。截图用于定位控件,文件数量以当前实际勾选为准;随后到 History 核对本次版本。
提交控件局部:审阅 Changes,填写 Summary,再点击 Commit。截图用于定位控件,文件数量以当前实际勾选为准;随后到 History 核对本次版本。 查看局部大图

确认后点蓝色 Commit … files to main。文件数以你的勾选为准。提交后,本次文件会从 Changes 消失;在 History 中应能找到刚才的提交。

本机 codex-memory 的 History:选中“更新知识库日报和整理记录”,短哈希 f6d69e1,下方列出该提交的 5 个变更文件。这里证明本机有版本记录,远端需继续核对。
本机 codex-memory 的 History:选中“更新知识库日报和整理记录”,短哈希 f6d69e1,下方列出该提交的 5 个变更文件。这里证明本机有版本记录,远端需继续核对。 查看清晰原图

3. 上传已提交的版本。顶部出现 Push origin 后,点击它,也可以使用页面中间的同名蓝色按钮。等待传输结束;有错误就先处理实际错误,不把等待状态当成成功。

①点击 Push origin,等待上传结束;再到 GitHub 网页核对,不把“无本地修改”当成上传凭证。
①点击 Push origin,等待上传结束;再到 GitHub 网页核对,不把“无本地修改”当成上传凭证。 查看局部大图

4. 到 GitHub 核对文件。使用 Repository → View on GitHub,或页面中的 View on GitHub 按钮,打开远端仓库。

先确认网页仓库为自己的知识库、分支与本机一致。日报实例在 main 分支,最新提交说明为“更新知识库日报和整理记录”,短哈希为 f6d69e1;与上方 History 的这条记录对照。你应核对自己刚提交的说明和哈希,不必与示例数值相同。

GitHub 网页局部:codex-memory、Private、main;“更新知识库日报和整理记录”的短哈希 f6d69e1 与 History 一致。它与下面的日报正文组成远端核对实例。
GitHub 网页局部:codex-memory、Private、main;“更新知识库日报和整理记录”的短哈希 f6d69e1 与 History 一致。它与下面的日报正文组成远端核对实例。 查看清晰原图

进入 40-Daily → 2026-10-29.md,在 Preview 中核对日报正文;再打开对应提交详情,检查这次修改的文件和差异。示例正文显示“已完成语义复核”,差异页也出现相应新增内容。你提交其他笔记时,打开自己的实际文件并对照本次修改。网页正文正确、提交记录相符,才能确认远端已收到这次更新。

GitHub 日报网页局部拼排:Preview、2026-10-29 日报正文,以及选中的 40-Daily/2026-10-29.md。与对应提交中的新增内容对照;大图链接保留实际网页细节。
GitHub 日报网页局部拼排:Preview、2026-10-29 日报正文,以及选中的 40-Daily/2026-10-29.md。与对应提交中的新增内容对照;大图链接保留实际网页细节。 查看清晰原图 查看远端提交差异页局部

成功结果:GitHub 网页的目标文件里能读到刚写的内容。No local changes 只表示没有未提交改动;如果还有 Push origin,仍需要上传。

动作

实际作用

Obsidian 保存

把文字写入本地笔记文件。

Commit

在本地仓库保留一个版本记录。

Push

把已经提交的版本传到 GitHub。

Pull

把远端更新取回本地。

官方说明:审阅与提交、分支同步与拉取。

05 让新任务读取正确的项目记录

本章目标
接入知识库、复制并改好读取指令,最后核对实际结果。

1. 接入知识库

本教程采用已实际读取成功的 GitHub 连接方式。在当前客户端的“插件/应用/连接”入口找到 GitHub,使用有权访问知识库的账号完成官方连接流程,让连接能访问目标仓库。已连接且能读取时直接进入下一步。界面名称可能随客户端变化,可参考 GitHub 连接官方说明。

GitHub 连接与云环境仓库配置是不同入口,选用能完成实际读取的一种即可。本教程主流程不要求另外配置云环境仓库。如果你选择云环境方式,再检查该环境的仓库或本地工作目录;不能因为工作仓库叫 codex-test,就认定它包含 codex-memory。

云环境配置仅供需要这种方式的读者参考:查看环境仓库配置示例、查看仓库选择示例。这两张图只显示 codex-test 已选择、codex-memory 未选择,不表示知识库已接入。使用 GitHub 连接的读者无需完成这套配置;最终都用下面的只读指令确认实际访问结果。

2. 复制并改好读取指令

下表沿用实际读取截图中的仓库和笔记结构。先换成自己的仓库所有者与真实文件路径,再复制指令发送。如果你前面建立的是 20-Projects/教程项目.md,就使用那份文件,不必建立截图中的演示项目。

指令中的示例

替换成什么

你的GitHub账号/codex-memory

自己的仓库所有者与真实仓库名;本地模式则以已选择的实际目录为准。

10-Profile/用户偏好.md

自己库中真实存在的偏好笔记路径。

20-Projects/几何之家海外APP科普.md

本次项目页的真实路径,不要照抄示例文件名。

请通过当前 GitHub 连接,只读检查能否访问我的知识库。
仓库:你的GitHub账号/codex-memory

请实际读取:
1. 10-Profile/用户偏好.md
2. 20-Projects/几何之家海外APP科普.md
如有与本次任务相关的 README.md、AGENTS.md,请先阅读其中的维护规则。

请列出实际读取的文件,并准确复述与本次任务有关的要求。
无法访问时,请明确说明失败的文件或访问环节,不要根据旧聊天猜测。
本次只读,不修改文件,不提交或发布内容。

上面的演示项目文件名与截图一致。读者要替换成自己的项目页;若选用本地或云环境目录读取,则把首句改为“请从当前已接入的知识库目录只读检查”,并填写实际目录,不必再要求 GitHub 连接同时工作。

实际读取指令中的两份笔记:10-Profile/用户偏好.md 和 20-Projects/几何之家海外APP科普.md。图中是已有项目;复制文字时换成自己库里存在的路径。
实际读取指令中的两份笔记:10-Profile/用户偏好.md 和 20-Projects/几何之家海外APP科普.md。图中是已有项目;复制文字时换成自己库里存在的路径。 查看局部大图

3. 核对实际结果

先看返回的文件清单,再把回答里的关键要求与笔记原文对照。不要仅凭一句“已经读取”就继续;如果访问失败,先修正当前账号权限或文件位置,再重试。

GitHub 读取结果中的实际文件清单,与指令指定的两份笔记相对应。继续把回答复述的要求与笔记原文核对,不能只看一句“已读取”。
GitHub 读取结果中的实际文件清单,与指令指定的两份笔记相对应。继续把回答复述的要求与笔记原文核对,不能只看一句“已读取”。 查看局部大图

成功检查:满足这些条件再继续
□ 实际文件列表:与本次指定文件逐项对应。
□ 准确复述要求:关键结论能在笔记原文中找到依据。
□ 失败时明确报告:读不到就说明失败环节,不拿旧聊天补猜。

换项目时沿用同一知识库,改为指定那个项目自己的页面,例如:

20-Projects/另一个项目.md

必要提醒
不要把密码或访问令牌粘贴进指令。新任务使用的是主动保存的记录,不会自动继承全部聊天历史。

完成检查与日常使用

完成检查:逐项确认

日常使用:开始前、工作中、结束后

01

开始前

确认仓库,先 Fetch;有远端更新就 Pull。拉取前妥善处理本地未提交改动。

02

工作中

在同一目录里更新相关笔记,只写新增或变化的信息,注明来源、日期与适用范围。

03

结束后

审阅变更,Commit 后再 Push,最后核对远端文件;换设备前先完成上传。

定时整理或自动同步需要另行配置、验证。修正旧决定时保留必要依据,不把一次推测写成已确认习惯,也不要同时在两份副本中修改同一页。

常见问题

同步问题

Obsidian 保存了,GitHub 为什么没变化?

核对是否打开同一目录,再检查 Changes 和 Push origin。需要审阅、Commit、Push,并到远端目标文件确认。

Commit 后就可以换电脑了吗?

还需要 Push。在新电脑克隆同一仓库,用 Obsidian 打开对应文件夹,编辑前先 Fetch,有更新再 Pull。

出现冲突怎么办?

先保留自己的改动副本,阅读双方内容后再合并。不确定时带着脱敏错误求助,不直接丢弃或强制覆盖。

文件位置

Obsidian 里只有 README,是失败了吗?

新仓库只有 README 很正常,按教程建立笔记即可。本来有很多文件却看不到时,先检查是否选错目录。

截图路径和我的电脑不一样怎么办?

填写自己的实际克隆目录;没有 D 盘就换有效位置。关键是 Desktop 与 Obsidian 使用同一个最终文件夹。

Codex 访问

为什么读不到私有仓库?

先确认自己采用的是 GitHub 连接还是本地/云环境目录读取。GitHub 连接要检查连接账号是否能访问该私有仓库以及文件路径是否正确;目录读取要检查实际接入的目录。两种方式不必同时配置。只知道仓库名称或在选择窗口看到它,都不代表已经成功读取。

会自动保存所有历史聊天吗?

不会。需要主动写入重要结论或投递脱敏来源;没存进知识库的信息不能假设新任务知道。

私有仓库可以存密码和令牌吗?

不要。Git 保留历史,私有仓库不是秘密保险库。只保存必要知识和背景,不保存密码、令牌、恢复码或私钥。

搭好之后,先做一次验证

在知识库里写下一条真实的项目要求,保存并推送到 GitHub。然后打开一个新的 Codex 会话,确认它有权访问知识库,再让它读取这条记录,并复述要求。

如果它能准确读取,你就完成了从“保存记录”到“新会话继续使用”的第一次验证。以后项目有新进展,记得更新对应笔记,并同步到 GitHub。