在 Raspberry Pi 上构建一个数字主权的“第二大脑”

我们每天都会接触大量信息:阅读过的文章、想法、待办事项、书籍、项目资料、会议记录......这些信息如果只是零散地存放在便签、手机或不同的云端服务中,真正需要它们的时候,往往很难快速找到。

那么,有没有一种方式,可以把这些信息集中起来,同时保持数据的私密性和可控性?

在最新一期《Raspberry Pi Official Magazine》中,我们介绍了一种基于 Raspberry Pi 构建"第二大脑"(Second Brain)的方法:使用开源知识管理工具 Logseq 管理信息,再通过 Syncthing 在多个设备之间同步数据,最终打造一个属于自己的、无需依赖第三方云端服务器的个人知识管理系统。

什么是"第二大脑"?

"第二大脑"这一概念源自 Tiago Forte 的《Building a Second Brain》。

它的核心理念很简单:人的大脑并不适合承担所有信息的存储和检索工作。与其试图记住所有内容,不如建立一个外部系统,将有价值的信息及时记录下来,并通过分类、标签和关联,让这些信息在未来可以被快速重新发现。

这与个人知识管理(Personal Knowledge Management,PKM)以及 David Allen 的"Getting Things Done"方法有不少相似之处。

对于数字化的"第二大脑"而言,一个重要原则就是 ubiquitous capture(随时记录):看到有价值的信息,就先记录下来,而不是依赖记忆。

为什么选择 Raspberry Pi?

很多笔记应用都依赖云端服务。虽然使用起来十分方便,但这也意味着个人数据需要存储在第三方服务器上。

如果希望进一步掌控自己的数据,那么自托管就是一个值得探索的方向。

本文采用的方案完全基于开源软件:

  • Raspberry Pi:作为本地计算设备

  • Raspberry Pi OS:运行环境

  • Logseq:负责知识管理和信息组织

  • Syncthing:负责多设备之间的文件同步

  • Bash + cron:负责定期备份

这样一来,个人知识库可以存储在自己控制的设备上,同时还可以在多个设备之间保持同步。

使用 Logseq 建立知识库

整个系统以 Logseq 为核心。

Logseq 是一个开源、注重隐私的知识管理工具。它可以通过"Graph"组织笔记,并使用标签、页面和链接建立不同信息之间的关联。

我们首先在 Raspberry Pi 500 上安装 Logseq。

如果使用的是全新的 Raspberry Pi OS,目前可以通过 Snap 安装 Logseq,因此需要先安装 Snap:

复制代码
sudo apt update
sudo apt install snapd
sudo reboot

系统重启后,再安装 Snap:

复制代码
sudo snap install snapd

随后安装 Logseq:

复制代码
sudo snap install logseq

安装完成后,可以从桌面应用菜单中的 Accessories > Logseq Desktop 启动 Logseq。

第一次打开时,Logseq 会显示一个演示页面,并介绍基本操作。

创建自己的 Graph

在 Logseq 中,一组笔记和其他资源会被组织到一个名为"Graph"的知识库中。

我们可以创建一个新的文件夹,例如:

复制代码
2nd_Brain

Logseq 会将这个文件夹作为知识库的存储位置。

其中,笔记主要以 Markdown 文件的形式保存,上传的 PDF、图片、音频等资源则会存储在 assets 文件夹中。

这种设计非常重要,因为整个知识库实际上就是一个普通的文件夹。

这意味着我们可以手动复制这个文件夹,并将它移动到另一台设备,再使用 Logseq 打开。

给信息添加标签

建立知识库之后,真正让它变得有用的关键,就是标签。

例如,我们在当天的 Journal 页面中记录:

今天看到一本想读的书:《Building a Second Brain》。

如果没有任何标签,那么未来想找回这条信息时,我们可能只能依靠日期或者关键词进行搜索。

但如果添加:

复制代码
[[Books To Read]]

Logseq 就会自动建立一个对应的页面。

以后所有添加了 [[Books To Read]] 标签的内容,都会出现在这个页面中。

例如:

复制代码
今天看到一本想读的书:《Building a Second Brain》
[[Books To Read]]

又或者:

复制代码
另一本想读的书:《Design an RP2040 Board with KiCad》
[[Books To Read]]

即使这些内容分别记录在不同日期的 Journal 中,它们也会通过相同的标签被集中起来。

为什么应该尽可能多地使用标签?

标签是 Logseq 知识管理体系中的重要组成部分。

同一条信息可以拥有多个标签。例如,一组海关税则号可能同时属于:

复制代码
[[Tariff]]
[[Customs]]
[[Product Name]]

这样,当未来我们从不同角度回忆这条信息时,都有机会重新找到它。

换句话说,标签并不是为了给信息增加更多层级,而是为了增加未来检索信息的入口。

不只是文字:保存 PDF、图片和其他文件

Logseq 不仅可以保存文字,还可以直接向条目中添加各种资源。

输入:

复制代码
/Upload an asset

即可上传文件。

这些文件会被保存到指定知识库的 assets 文件夹中,并且同样可以通过标签进行组织。

此外,Logseq 还支持嵌入链接和视频,也可以对 PDF 进行高亮和注释,甚至可以为 PDF 中具体的内容添加标签。

这意味着"第二大脑"不仅可以保存笔记,也可以逐渐成为一个完整的个人资料库。

使用 Syncthing 实现跨设备同步

到这里,我们已经拥有了一个运行在 Raspberry Pi 上的知识库。

但如果只能在一台设备上使用,显然还不够方便。

因此,下一步是使用 Syncthing

Syncthing 是一个开源的点对点持续文件同步工具。与传统云同步服务不同,它不需要将数据上传到某一家公司的云端服务器。

同时,数据在传输过程中会进行加密。

因此,我们可以在不同设备之间同步整个 2nd_Brain 文件夹。

例如,可以让知识库同时存在于:

  • Raspberry Pi 500

  • Raspberry Pi Zero

  • 搭载 Raspberry Pi Compute Module 4 的 Uconsole

  • 其他安装了 Logseq 和 Syncthing 的设备

在 Raspberry Pi 上安装 Syncthing

首先更新系统:

复制代码
sudo apt update
sudo apt upgrade

然后安装 HTTPS 传输支持:

复制代码
sudo apt install apt-transport-https

导入 Syncthing 的 GPG 密钥:

复制代码
curl -s https://syncthing.net/release-key.txt | gpg --dearmor | sudo tee /usr/share/keyrings/syncthing-archive-keyring.gpg >/dev/null

添加 Syncthing 软件源:

复制代码
echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list

然后更新软件包列表:

复制代码
sudo apt update

最后安装 Syncthing:

复制代码
sudo apt install syncthing

安装完成后,可以从应用菜单启动 Syncthing,并打开 Syncthing Web UI。

添加需要同步的文件夹

在 Syncthing Web UI 中点击 Add Folder

例如,可以创建:

复制代码
second_brain_directory

然后将 Folder Path 设置为 Logseq 知识库所在的位置。

如果知识库位于用户主目录下,并且名称为 2nd_Brain,可以直接使用:

复制代码
~/2nd_Brain

保存之后,这个文件夹就可以进行同步。

接下来,在另一台设备上打开 Syncthing Web UI,并获取该设备的 Device ID。

在 Raspberry Pi 500 上选择 Add Remote Device,输入另一台设备的 ID。

Syncthing 不要求两台设备必须处于同一个网络环境中,这也是它非常实用的一点。

完成设备连接后,在共享设置中选择需要同步的文件夹,并在另一台设备上接受共享。

最后,在另一台设备的 Logseq 中选择 Add Graph,打开刚刚同步过来的文件夹即可。

这样,无论是在 Raspberry Pi 500 上还是另一台设备上修改 Logseq 内容,变化都会同步到其他设备。

同步不是备份

这里有一个非常重要的问题需要注意:

Syncthing 的同步功能不能替代备份。

如果误删了 Logseq 文件夹中的内容,这个删除操作同样可能被同步到其他设备,最终导致所有设备上的数据一起消失。

因此,我们还需要建立独立的备份机制。

一种简单的方法,就是使用 Bash 脚本配合 cron,定期将 Logseq 文件夹复制到一个不参与 Syncthing 同步的位置。

例如,可以创建:

复制代码
#!/bin/sh

rsync -avh LOGSEQ_Directory_Path Backup_Directory_Path

将脚本保存为:

复制代码
backup_script.sh

然后赋予执行权限:

复制代码
sudo chmod +x backup_script.sh

先手动运行测试:

复制代码
./backup_script.sh

确认备份正常后,再通过:

复制代码
crontab -e

设置自动执行。

例如:

复制代码
30 10 * * * /home/concretedog/backup_script.sh

这意味着每天上午 10:30 自动执行备份任务。

进一步扩展的话,还可以将备份目标设置为外接 SSD,并为备份系统增加监控和日志功能。

一个真正属于自己的"第二大脑"

最终,我们得到的是一个完全由自己掌控的个人知识管理系统:

Raspberry Pi + Logseq + Syncthing + 自动备份

Logseq 负责组织知识,Syncthing 负责跨设备同步,而 Bash 和 cron 则负责自动备份。

更重要的是,这套方案建立在开源软件和本地文件之上,可以让我们更加清楚地了解自己的数据存储在哪里,以及它是如何被处理的。

Logseq 和 Syncthing 同样支持多种桌面系统以及智能手机平台,因此,这套私有、可同步、可备份的"第二大脑"并不局限于 Raspberry Pi,而可以随时伴随我们使用。

对于希望减少对云端服务依赖、同时又希望建立个人知识库的用户来说,Raspberry Pi 提供了一个灵活且具有可扩展性的基础平台。

相关推荐
取啥都被占用7 天前
两个网络供应商靠树莓派跨个域
网络·树莓派
Raspberry_Pi_官方账号8 天前
Raspberry Pi+TinyML:基于边缘计算的低成本离线皮肤癌AI诊断系统
人工智能·边缘计算·树莓派·raspberry pi·tinyml
大熊背25 天前
树莓派相机自动白平衡详解(四)
算法·树莓派·白平衡·isppipeline
设计Z源1 个月前
AI 时代把第二大脑搬回本地:Logseq 的 365 天
人工智能·logseq
m0_547486662 个月前
《智能终端应用开发基础》全套课件PPT
树莓派·智能终端
JimCarter3 个月前
使用Azure Devops Pipeline将Docker应用部署到你的Raspberry Pi上
docker·azure·树莓派·devops·orangepi·香橙派·raspberrypi
小+不通文墨4 个月前
把树莓派外接的DHT11接收的温湿度发送到emqx上
经验分享·笔记·嵌入式硬件·学习·树莓派
MIXLLRED4 个月前
解决: Ubuntu 22.04上树莓派4B扩展板ROS2兼容性修复指南
linux·ubuntu·树莓派
小+不通文墨4 个月前
利用树莓派部署的emqx向mqttx发送信息(python)
经验分享·笔记·学习·树莓派·emqx