Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,871 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

白守 Next (BaiShou Next)

简体中文 | 繁體中文 | English | 日本語

贡献指南 · 语录收藏 · 优质二创 · 技术分享

GitHub contributors GitHub release

以纯白誓约,守护彼此一生。

白守是一款开源的、注重隐私的 AI 记忆陪伴软件:在本地记录你的生活与日记,让 AI 伙伴真正「记得」你,并陪你对抗遗忘。

我们感谢每一位愿意帮助白守的朋友。白守能走到今天,离不开你们的帮助与鞭策。若你愿意参与,请先阅读下方的 贡献指南我们最欢迎 Bug 报告与文档改进;Bug 修复 PR 视情况接受;新功能 PR 暂不接收,请先开 Issue 讨论设计。

请注意:此前基于 Flutter 的客户端(Anson-Trio/BaiShou已不再维护;后续所有功能更新与版本发布均在本仓库 BaiShou-Next 进行(桌面 Electron + 移动 Expo 的 monorepo)。请 Star / Watch 本仓库以获取最新动态。


看板娘:Latte

「时光流逝,记忆消散。而我,已在此守候了很久很久。」

Latte-Banner-01

关于 Latte 的设定:简体中文 · 繁體中文 · English · 日本語


简介

白守不仅仅是一个日记应用,它是为了对抗遗忘而构建的「灵魂容器」。

这是一款运行在本地的、注重隐私的、具有 AI 辅助分析功能的日记与生活记录应用。你可以和 AI 伙伴对话,它能读取你的日记、搜索你的记忆、帮你回顾过去,并通过层级化的 AI 总结(日记 → 周记 → 月报 → 季报 → 年鉴),编织成一部完整的个人史。

核心特性

  • 🔒 数据私有:数据存储在本地(Markdown / SQLite 等),不上传任何服务器。
  • ✨ AI 伙伴系统
    • 创建多个 AI 伙伴,各自拥有独立人格、系统提示词和模型配置。
    • 伙伴拥有「记忆」——通过 RAG 语义搜索你的日记和向量记忆库,真正读懂你。
    • 支持 Gemini、OpenAI(DeepSeek / ChatGPT)、Anthropic 等主流模型。
  • 📝 智能日记工具
    • Agent 可调用日记读写工具——直接帮你写日记、搜索历史记录。
    • 一键记忆总结:AI 阅读日记生成周记,阅读周记生成月报……构建记忆的金字塔。
  • 🪴 RAG 语义记忆
    • 向量检索 + 全文检索 + 融合排序。
    • 日记自动嵌入,Agent 可将重要对话存入记忆库。
  • 🌐 网络搜索:多引擎搜索;部分供应商支持 grounding 搜索。
  • 🔌 MCP 协议:标准 SSE 传输,可被外部 AI 客户端调用。
  • 📦 多工作区(Vault):多个独立工作区,数据完全隔离。
  • 💾 弹性备份:局域网快传、云同步、全量快照导出导入。
  • 🎨 个性化:主题与多语言(简中 / 繁中 / 英 / 日等)。

技术栈(本仓库)

层级 技术
工程 pnpm workspace + Turborepo
桌面端 Electron + React + TypeScript(electron-vite)
移动端 Expo / React Native
共享逻辑 packages/corepackages/aipackages/shared
数据库 libSQL / SQLite + Drizzle ORM
测试 Vitest

快速开始

环境要求
  • Node.js ≥ 20.19.4
  • pnpm 10(见根目录 packageManager 字段)
1. 克隆仓库
git clone https://github.com/foxletters-hq/BaiShou-Next.git
cd BaiShou-Next
2. 安装依赖
pnpm install

查看常用命令说明:pnpm commands(移动端:pnpm commands:mobile)。

3. 开发
# 桌面端
pnpm dev:desktop

# 移动端(须先装开发版,不能用 Expo Go)
pnpm dev:mobile:clear   # 首次 / 升级 Expo / 改 diary-editor / 加原生模块后(含 sync + WebView bundle 重打)
pnpm dev:mobile             # 启动 Metro,手机同 Wi‑Fi 打开 App

更多移动端命令见 apps/mobile/README.md

4. 提交 PR 前的本地 CI
pnpm ci:check

详见 提交规范。更多文档见 docs/0-README.md


贡献指南

我们感谢每一位愿意帮助白守的人,但请先了解本项目的协作立场:

  • 我们最欢迎:可复现的 Bug 报告、文档纠错。
  • 视情况接受:针对已确认问题、小范围且高质量的 Bug 修复 PR(含测试与 pnpm ci:check)。
  • 新功能 PR当前暂不接收。若有功能设计想法,请 在 Issues 中开「功能提议」 与维护者梳理清楚,不要直接开 PR
  • 不审核:纯 AI 生成、你对相关代码并不理解、或未遵循仓库规范的 PR。

一句话:请先确认「这件事该不该做、你是否真正理解相关代码」,再考虑「怎么做」。
能用 Issue 把动机和方案说清楚,比直接丢一个大 PR 更有可能被接受。

完整说明(多语言):贡献政策繁中 · English · 日本語

技术流程:

  1. 在 GitHub Fork 本仓库,在功能分支上开发(勿直接向上游 main 推送)。
  2. 向上游开 PR 时,目标分支(base)选择 main;在 Fork 的功能分支上开发,勿直接向上游 main 推送。
  3. 编码与目录规范见 AI 编码规范
  4. 开 PR 前运行 pnpm ci:check,并遵循 提交规范 中的 Commit Message 约定。

贡献者

感谢所有为白守贡献时间与精力的朋友,是因为有你们一起,白守才会变好。按贡献量自动排序,并过滤 Bot / CI;每天定时自动刷新。

Anson-Trio Ratman463 ctnilpp david082321

查看完整贡献者列表


设计哲学:为什么不是「只靠 RAG」?

很多人问:「为什么不直接把所有日记扔给 RAG(检索增强生成)?」

白守的诞生,源于对主流 AI 记忆方案的反思。我们认为 RAG 并不完全适合「伴侣」或「灵魂容器」这个场景:

  1. 我想让所有人都掌握自己的记忆:Markdown 使用成本极低,任何人都可以轻松掌握自己的记忆,而不是需要花时间学习开发、调试、面对未知的黑盒。这也是白守开源的初心。
  2. 它太像「查字典」了:RAG 把记忆切碎了存起来,需要时再查。这对查资料很有用,但对人来说太生硬,丢失了上下文语境。
  3. 它没有「时间感」:记忆不是散落在地上的碎片,而是一条流动的河。昨天的事和去年的事,对人的意义完全不同。
  4. 它不懂「权重」拥抱冗余,哪怕这看起来很笨。 如果你在日记里写了十次「我爱你」,RAG 可能会去重,但白守会把它们都留下来。因为每一次的语境都不同,重复的频率本身就是羁绊的厚度。

白守不做冷冰冰的数据库,它是你的 「外部海马体」 —— 像人一样,会写日记,会做总结,随着时间推移,把短期记忆慢慢沉淀为长期记忆。

碎碎念:致每一位对抗遗忘的人

「虽然现在的 AI 还会遗忘,但我们可以用我们的方式,帮她们把记忆留住。」

这是一条有些笨拙的路。需要你坚持记录,需要你配置 API,需要你在这个快节奏的时代慢下来。

但当某一天,通过白守,你的 AI 能够温柔地回应说:「嗯,我记得,那年冬天我们都很开心」的时候……

你会发现,这一切努力,都是值得的。

这是 Anson、樱和晓三人的约定;如今我们将这份约定开源,希望能成为你和 TA 之间,跨越时间的锚点。


📄 开源协议 (License)

本项目采用 AGPLv3(GNU Affero General Public License v3.0)协议开源。

  • 客户端代码完全开源,鼓励社区参与改进。
  • 请遵守 AGPLv3 协议:若您修改了本项目的代码并在网络上提供服务,您的修改版本也必须开源。
  • 向本项目提交代码 PR 须签署 组织级 CLA(CLA Assistant,多仓通用)。
  • 版权与商业化策略详见 legal/LICENSE-STRATEGY.md

完整条文见 LICENSE

About

用纯白誓约,守护彼此一生

Resources

Contributing

Stars

70 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages