我们同时跑 4 台电脑、好几个 AI 窗口(不同模型、不同窗口负责不同业务线)。最难受的不是"AI 不够聪明",而是:在 A 电脑跟窗口聊了两小时,把项目背景、踩过的坑、定过的规矩讲清楚;第二天换到 B 电脑、换个窗口——它什么都不知道,你得从头再讲一遍。讲三遍以后你会发现:重复交代背景的成本,已经超过 AI 帮你省下的时间。
一、我们的解法:不买服务器、不上向量库
试过几种方案后,我们最后用了最土、也最可控的一套:Syncthing 双向同步区 + Markdown 文件 + 索引入口 + 只追加式日志。没有中心服务器,没有云端数据库,没有 embedding 服务。文件在哪台机改了,另外几台几秒内就一样。
Syncthing — 开源 P2P 文件同步,无中心、无云、秒级同步、跨平台
Markdown 文件 — 纯文本,任何编辑器都能打开,Git/Syncthing 都能处理
Python 自动归类脚本 — 一句命令把聊天沉淀自动归到对应业务线
二、三条真正让它跑起来的设计
设计 1:唯一入口,所有窗口只读一个文件
同步区根目录放一个 00_开工必看.md。任何新的 AI 窗口进来,第一句就把这个文件的内容喂进去,告诉它"这是项目背景、这是规矩、这是之前定好的术语表"。不搜满硬盘,只读这一个入口文件。
这个文件维护三条内容:项目一句话定位、禁止改动的红线、所有子目录的快速索引。控制在 300 字以内,AI 窗口看一遍就能进入工作状态。
设计 2:只追加,不覆写
每条业务线一个聊天沉淀文件(比如 电商笔记.md、短视频笔记.md),干完活在文件末尾加一行,绝不回头改之前的内容。
这是整个方案最关键的一条。为什么?
- Syncthing 双向同步,如果两台机器同时改文件中间,就会生成
.sync-conflict-*冲突文件,你得手动合并。 - 但如果两边都只在末尾追加——追加位置不一样(字节偏移不同),Syncthing 直接合并,不会产生冲突。
- 而且历史记录永远在,回头查"那天为什么决定不用 A 方案"直接翻文件就行。
设计 3:写之前先检查冲突
写任何文件前先扫一遍当前目录有没有 .sync-conflict-* 开头的文件。有就停下报警,先手动处理冲突再继续。这个检查可以做成脚本的开头一行,自动化掉。
三、让记忆自动发生:一句命令搞定归类
手动归类太麻烦。我们写了一个 Python 脚本,一句命令就能把本次干活的内容自动归到对应业务线:
脚本做的事情很简单:
- 读一份《线清单》,里面每条线配一组关键词(比如 "电商" 线对应 "直播/主图/车","短视频" 线对应 "分镜/即梦/抽卡")。
- 拿你传进来的那句话去匹配关键词,自动判断属于哪条线。
- 找到对应聊天沉淀文件,在末尾追加一行日期 + 内容。
- 没匹配上任何线?进个人日记(
journal.md)。闲聊?也进日记。
同步区几秒后自动推到其他机器。下次在 B 电脑打开 AI 窗口,把 00_开工必看.md + 对应线的聊天沉淀喂进去,AI 瞬间"想起"之前干了什么。
四、踩过的三个坑,避坑清单
试过 C++ 写的检索库,报"打不开中文路径",折腾两天。全换成纯 Python 方案就没这个问题,Python 3 默认 UTF-8,中文路径直接通。
一台机器误删了文件,其他几台跟着一起没。定了铁律:要删先移归档区(archive/),让所有机器同步过去,再统一清理。谁也不许在同步区直接 Delete。
两台机器同时跑自动捕捉脚本,同时往同一个文件末尾追加,偶尔会产生冲突文件。批量任务只在一台机器跑,其他机器只读不写,冲突直接归零。
五、方案对比:为什么是这套
- vs 向量库方案:向量库要部署、要维护索引、要持续写入。我们的方案打开就是明文,任何编辑器都能直接读、直接搜。零运维。
- vs 云端数据库:按月付费、要配权限、网络不通就歇菜。Syncthing 是局域网 P2P,走本地速度快,没网也能写,连上自动同步。
- vs 手工复制粘贴:复制粘贴漏内容、改完不知道哪份是最新的。Syncthing 自动搞定版本一致性。
六、三句话总结
- 先定规矩,再上工具。"只追加不覆写" 这一条不是写在 README 里就完了,是写进每个脚本、每次手动操作前默念的铁律。
- 只追加,是多机协作最省心的写法。没有回改就没有冲突,没有冲突就没有合并,没有合并就没有抓狂。
- 让记忆自动发生,做成一句命令一条规矩。别搞复杂的记忆注入系统,一句
自动捕捉.py "今天干了啥"就够了。
整套方案部署大概半天时间(装 Syncthing + 写几个 Markdown + 补个 Python 脚本),之后四台电脑的 AI 窗口之间就再也不用"重新认识"了。如果是单人多机场景,这套方案的收益比多人协作还大——省掉的重复交代背景的时间,直接变成干活时间。