开源 · AGPL-3.0

所以我们开源它。

Memex 那篇文章发表 81 年了,今天还在被人读。
我们希望 sift 也能活得久一点——哪怕有一天,我们不在了。

为什么开源

你的知识库,不该跟着我们的服务器死。

sift 不是我们最早想做的东西。 我们只是在用 ChatGPT、Claude、Notion AI 这些工具的时候反复遇到同一个问题—— 对话结束之后,那段记忆就消失了

Vannevar Bush 在 1945 年描述 Memex 的时候,反复强调一件事:它必须是个人的。 不是某家公司的服务器、不是某个订阅账号—— 是你的桌子、你的抽屉、你的笔记。哪怕公司倒闭,桌子还在。

所以我们做了两个决定。 第一,sift 的数据库默认存在你手机本地,不是我们这边。 第二——也就是这一页要说的事——代码全部开源

Memex was an idea, never a product. sift 想做的是: 把那个 idea 真的端出来一份, 放在每个想拥有它的人手里。

如果有一天我们的服务器关了、域名过期了、人不在了—— 你依然可以从 GitHub 拉下代码,自己跑一份,把数据接着用下去。 这是 SaaS 永远做不到的事。 开源不是营销话术,是数据自主权的最低保障

协议:AGPL-3.0

简单说:个人用、公司内部用都没问题。
但如果你拿 sift 改一改开个 SaaS 卖钱——
你也得把你改的部分开源出来。

AGPL-3.0
GNU Affero General Public License v3.0
阅读完整协议 →
个人自用 装在自己手机、自己电脑、自己 NAS 上随便用。
团队 / 公司内部用 给团队搭一份私有部署,不对外提供服务,无需开源你的修改。
fork 改造 改名字、改 UI、加功能都可以。原作者署名保留即可。
闭源 fork 后做 SaaS 对外服务 这是 AGPL 跟 MIT / Apache 最大的不同。如果你拿 sift 改完之后开一个让别人付费用的网络服务,你必须把你改的代码也以 AGPL 开源出来。
移除许可证 / 假装是你自己写的 这事儿太基础,但还是写出来。
自己跑一份

5 步装上自己机器

下面这个流程把数据完全留在你自己手里。 不需要我们的服务器,也不需要任何账号——只要你愿意承担"自己维护"的麻烦。

1

克隆代码

从 GitHub 拉下来。仓库里有 Android 端(Kotlin / Compose)、后端(Python / FastAPI)、安装脚本。

# 在你的电脑或 NAS 上
git clone https://github.com/HuanNan520/sift.git
cd sift
2

填一份 .env

.env.example 复制成 .env,填一个 AI 模型 key 进去。 谁的 key 都行——SiliconFlow 便宜、Anthropic Claude 稳、DeepSeek 官方 75% off、本地 Ollama 完全免费。挑一个用就好。

# .env 至少要有这三行
LLM_PROVIDER=siliconflow
LLM_API_KEY=sk-xxxx
LLM_MODEL=deepseek-chat
3

跑起来后端

Docker compose 一行起。也可以裸跑 Python,docs/self-host.md 写了两种方式。

docker compose up -d
# 默认监听 :8787,SQLite 数据库存在 ./data/
4

Android 端连自己后端

打开 sift APP → 设置 → 服务端地址 → 填上你刚才那台机器的 IP:8787(或公网域名)。 APP 重启一次,从此以后所有数据都流向你自己。

5

数据留在你自己机器上

备份就是 tar -czf sift-backup.tar.gz data/。 想换机器,把这个文件挪过去解压就行。 没有任何东西经过我们的服务器,包括 AI 调用——你的 key 直接连模型厂商。

代码 · 反馈 · 贡献

掺一脚,进来。

不需要"专业贡献者"身份。提个 issue 也是贡献,挑错字也是贡献。下面三个入口随你挑。

站在谁的肩膀上

我们没有从零开始。

sift 用到的开源软件几十个,下面列的是骨干。每一个都比 sift 重要——没有它们,这个项目根本起不来。

Kotlin · Jetpack Compose
Android 整个客户端的语言与 UI 框架
Material 3
UI 设计语言与组件库
ML Kit (Google)
本地 OCR——你拍的电路图、群截图都靠它认
本地语音引擎
中文语音识别 + 说话人分离,跑在你的设备本地
FastAPI · SQLite · Python
后端框架、数据库、运行环境
Source Han Serif
这整个网站、APP 里的中文衬线字体
SiliconFlow · Anthropic
云端 AI 推理工作流的服务商伙伴
GitHub · Cloudflare
代码托管、内容分发

这份名单短得不像话。
sift 真正用到的依赖在 package.jsonbuild.gradle.kts 里都有。
给所有写它们的人——谢谢。