Posts for: #Tech

GBrain 双机部署实录

一台常开的台式 / 常驻机负责跑重活,一台笔记本带在身边随写随记。两台机器共用一个 GBrain,写在哪台都能在另一台搜到。

下面是我把这套装起来的实际过程,包括踩到的坑。环境是两台 Mac:M2(常开)和 M4(日常,有开有关),GitHub 账号 wulujia,笔记放 Dropbox。

架构

三层,分工明确。

Brain 仓库 = markdown 文件,源头。放 ~/Dropbox/brain/,Dropbox 负责实时同步文件,GitHub private repo 负责版本备份。

gbrain 工具 = 读 markdown、灌进索引的 CLI。每台机器独立从 GitHub clone 到非 Dropbox 路径,各自 bun link。不要让 Dropbox 同步工具源码,node_modules 跨机会掐架。

索引 = PGLite(嵌入式 Postgres),默认引擎,放 ~/.gbrain/。每台机器一份独立本地索引。markdown 是真相,索引坏了重建。

M4(日常机)从零装起

1. 装 gbrain 工具

git clone https://github.com/garrytan/gbrain.git
cd gbrain && bun install && bun link

2. OPENAI_API_KEY

到 platform.openai.com 建个 project key,丢 zshrc:

echo 'export OPENAI_API_KEY="sk-proj-..."' >> ~/.zshrc
source ~/.zshrc

注意变量名全大写 OPENAI_API_KEY。一个字母错了 OpenAI SDK 读不到,跑出来一堆 401。

[阅读全文]

GBrain 入门:给 AI agent 一个长期记忆

跟 AI 聊天有个长期的问题。每次新对话它都从零开始。聊过的想法、见过的人、读过的文章,下次对话完全空白。

GBrain 解决的就是这件事。

它是什么

AI agent 是大脑,GBrain 是它的记忆。

更准确一点:GBrain 是一堆 markdown 文件加一个搜索引擎。跟 AI 聊天时,它自己决定把什么存进去、什么取出来。存的是文本文件,可以打开看、改、备份。

这一点很重要。市面上很多 AI 记忆功能是黑盒,坏了查不出原因,也导不出来。GBrain 的记忆就是你自己的文件,放在 Git 仓库里,agent 关掉记忆也还在。

它怎么工作

三个核心动作

捕获。你跟 agent 说"今天跟老王聊了一下 SaaS 定价",一个叫 signal-detector 的技能在后台自动抽取:“老王"是人,“SaaS 定价"是话题。后台并行跑,对话照常进行。

回答前查大脑。下次问"老王最近在想什么”,agent 先搜 GBrain,翻出上次的记录,带着上下文回答。跳过这一步的 agent 等于失忆。

睡觉时整理。装上 autopilot,凌晨 agent 自动扫白天所有对话,给新出现的人建档、补社交资料、修引用。早上起来大脑比昨晚厚。

页面长什么样

每个人、每件事在 GBrain 里就是一个 markdown 文件。结构很简单:上半部写当前结论,下半部写时间线。

比如"老王"这一页。

上半:老王是某某公司 CEO,擅长 SaaS 定价,2026 年 3 月开始考虑出海日本。

下半:

  • 2025-01-10 邮件里第一次提到
  • 2025-08-22 聊过定价策略
  • 2026-03-05 说要出海日本

上半随时重写。下半只加不删,是证据链。好处是:问一个问题,agent 直接读上半部就知道答案,不用每次把所有历史再推理一遍。

怎么装

前提是装了 bun。然后两行:

git clone https://github.com/garrytan/gbrain.git && cd gbrain && bun install && bun link
gbrain init

默认用嵌入式 Postgres,零配置。接到 Claude Desktop 或 Claude Code 之后,正常聊天它就正常往里存。Gemini CLI、Codex 也能接,都走 MCP 协议。

[阅读全文]

给自己和家人装个龙虾助理

最近打听小龙虾的朋友有点多,所以我干脆写篇短文,把文科背景朋友们最经常问的问题,做个粗浅的回答。

第一步:我需要什么?

找一台独立的旧电脑。

建议用一台不用的旧电脑专门跑它。原因有两个:

一是稳定。你大概率会希望这个助理 24 小时在线——半夜收到重要邮件能帮你处理,每天早上自动发一份新闻摘要,你不在的时候也能替你盯着事情。用日常办公的电脑跑,合上盖子就断了。

二是安全。这个助理会接触你的邮件、日历、文件,给它一台独立的机器,跟你的工作环境隔开,万一配置出了问题,也不影响你日常用的东西。

五六年前的笔记本就够,Mac、Windows、Linux 都行。

没有旧电脑怎么办?

• 树莓派,几百块钱,功耗极低,放在角落里一直跑

• 云服务器(VPS),每月几十到一百多块,不用管硬件

• Mac mini,如果你本来就想买一台——这是极其豪华的配置

在中国能用吗?OpenClaw 本身没有限制。但它需要调用 AI 服务(比如 Claude、GPT),如果网络访问不了这些服务,需要想办法解决,或者选用国内能访问的 AI 模型。

注意,这里强烈建议:用独立设备,跟你的工作电脑分开。

───

第二步:要花钱吗?

OpenClaw 开源,费用来自 AI 模型——就像请了一个助理,AI 模型是助理的大脑。

我最直接的建议:用你能用得起的最贵、最好、最聪明的模型。

模型笨,相当于助理笨,你要个笨助理干嘛?以及,笨助理更容易被网页里藏的恶意指令操控,如果被骗了,一次损失,估计就够付这辈子的模型账单了。

AI 模型的能力差距非常大。便宜的模型能聊天,但理解力、判断力、可靠性都差不少。你既然花时间把助理搭起来了,别在最关键的大脑上省钱。一个聪明的助理能帮你省的时间,远超模型费用。

轻度使用(每天聊几轮,偶尔帮忙查东西),一个月大概几美元到十几美元。重度使用会更多。

如果你有一些 AI 的订阅,可以请懂技术的朋友看看,说不定无需额外付费就能使用。

第三步:装上它

安装过程需要有人帮你在电脑的终端里输入几条命令。不复杂,但如果你从来没用过终端,建议找个懂技术的朋友帮忙,十分钟就能搞定。

装好之后,OpenClaw 会自带一个网页聊天界面,打开浏览器就能跟它说话。

但更多人是想在手机上随时跟它聊,可以把它连到一个聊天工具。海外用户推荐 Telegram(配置最简单)或 WhatsApp。

中国用户怎么办?Telegram 和 WhatsApp 在国内不能直接用。几个替代方案:

• 飞书(Lark)——OpenClaw 支持飞书机器人,国内直接可用,适合个人和团队

• 网页界面——装好就自带,不依赖任何第三方聊天工具,打开浏览器就能用

第四步:搞清楚它能帮你做什么?

从聊天开始。

刚装好的时候,先就当它是一个聊天对象。问它问题,让它帮你查资料、翻译、写邮件草稿、整理想法。用几天,找找感觉。

然后逐步给它更多权限。

当你觉得它靠谱了,可以开始授权更多能力——读你的邮件、管你的日历、帮你搜索网页、定时执行任务。

具体怎么授权?直接问它就行。跟它说"我想让你能帮我读邮件"或者"我想让你每天早上给我发一份新闻",它会告诉你需要做什么配置。这些配置通常就是几步操作,它会一步步带你完成。

它有记忆。你告诉它的事情,它会记住。下次你再跟它聊,不用从头说起。

每个能力都可以单独开关。一个一个加,逐步建立信任。

下一步:给家人也配一个

不需要再买电脑。同一台机器上可以跑好几个独立的 AI 助理,每个人一个。

每个人的助理完全独立:

[阅读全文]

推荐一个同事做的小工具:PDF书签易

你有没有遇到过这种情况:好不容易找到一本 PDF 电子书,打开发现没有书签目录。几百页的书,想跳到某一章只能一页一页翻,或者疯狂按 Ctrl+F。

我一个同事就被这个问题折磨够了。

从自己的痒点开始

他喜欢用 PDF 看技术书。网上找的、淘宝买的扫描版,很多都没有完整的书签目录。市面上能加书签的工具不是没有——福昕阅读器可以,WPS 也行。但体验都一样:一条一条手动添加,点击、输入标题、设置页码、设置层级,循环往复。一本 300 页的书,光加书签就要半小时以上。

淘宝和闲鱼上甚至有专门代做 PDF 书签的服务。按目录页收费,每页 1-2 块钱,一本普通的书大概 10 多块,耗时一个小时左右。头部商家月销几百单。

说明这个需求是真实存在的,而且现有的解决方案都很原始。

先用最笨的方法解决问题

他没有一上来就做 APP。

第一步是写了一个 Python 命令行脚本:照着 PDF 的目录页,在一个 TXT 文件里用缩进表示层级,写好标题和页码,脚本读取后自动写入 PDF。

甚至目录都不用自己敲——去电商网站搜这本书,商品描述里的目录直接复制过来就行,还自带页码。

这个"工程版"工具,让他制作一本书的书签只需要几分钟。他拿这个效率去闲鱼接单,还真卖出了几十块钱。

这个阶段很有意思:用最低成本验证了需求,同时验证了解决方案。

从工具到产品

命令行版本只能自己用,推广不了。于是他启动了创新项目,目标是做一个真正的产品级桌面应用。

核心交互很优雅:窗口左边是 PDF 页面预览,中间是书签文本编辑区,右边是实时生成的书签树预览。像写代码一样写书签——用缩进定义层级,所见即所得。

几个亮点功能:

• 内置 OCR:扫描版 PDF 直接识别目录页文字,省去手动输入

• 智能页码校准:扫描版 PDF 的页码和实际印刷页码经常对不上,用一个简单的 (++5) 语法就能批量修正偏移

• 自动格式化:识别 1.1、1.1.1 这种标准编号,自动生成对应的层级缩进

• 纯本地处理:所有文件都在本地完成,不上传服务器

技术选型值得说说

他没用 Electron(太臃肿),选了 Tauri:Rust 后端 + Web 前端。PDF 渲染和 OCR 都直接调用系统原生 API——macOS 用 Swift 的 PDFKit 和 Vision,Windows 用微软官方的系统 API。Rust 通过 FFI 调用编译好的静态库。

[阅读全文]

找餐厅这件事,一百条好评不如一个靠谱的朋友

我越来越觉得,找餐厅这件事,大众点评、小红书都帮不了我。

倒不是说它们不好用。信息多,评价全,但问题就出在"太多"上。我打开一家店的页面,几百条评价,有说惊艳的,有说踩雷的,有明显是刷的,有写了一千字但你也不知道这个人平时吃什么水平的。看完一圈,我还是不知道该不该去。

后来想明白了,问题是:我不认识这些人。

我不知道他们的口味,不知道他们的标准,不知道他们说的"好吃"到底是什么意思。一个觉得"好吃到哭"的人,跟我可能完全不在一个频道上。这种评价再多,对我来说就是噪音。

但如果是朋友呢?那完全不一样。

我知道他是什么样的人,知道他吃过什么东西,知道他说"这家不错"意味着什么。他的推荐我是可以直接信的。

这就是我们做 EatVenture 的原因——它不是大众点评,它是朋友点评。

我在 EatVenture 上只关注我认识的、喜欢的、且我认可 Ta 饮食品味的朋友。注意,不是所有朋友。认识归认识,但有些人吃东西的口味跟我差别太大,我会关注 Ta,但不会订阅 Ta 的餐厅列表。我只关注那些我觉得"真的懂吃"的人。

然后我会主动把 EatVenture 发给他们,拜托他们把自己喜欢的餐厅标注上去。

这些人可能是每次出差都能摸到当地最好馆子的同事,可能是在某个城市住了十年把好店全吃遍了的朋友,也可能就是那种朋友圈发什么吃的你都想问一句"这是哪家"的人。

这样一来,下次我去他们去过的城市,打开 EatVenture,沿着他们吃过的路线走一遍就好了。不用做攻略,不用翻评价,不用纠结。因为推荐这些餐厅的人,是我自己选过的。

找餐厅,数量不重要,精准才重要。一百条陌生人的好评,不如一个懂吃的朋友跟你说一句"去这家"。

朋友点评,大于大众点评。

EatVenture 是一个很小众的 App。它不是为所有人做的,就是为你和你信任的那几个朋友做的。但就是这个"小",让它特别好用。

这个小工具也并不为所有人设计,目前用的是 Google 的 API,大陆餐厅数据很不完整(不推荐使用),反而是香港、新加坡、日本等地方,陆陆续续被朋友“占领”了。

如果你想试试,可以识别这个二维码,至少新加坡、香港的餐厅还挺完整: