一款基于 Local-First(本地优先) 理念开发的极简云便签。 它拥有原生应用般的打开速度,同时具备强大的云端同步能力。无论是在电脑、手机还是平板上,你的灵感与记录都能实时安全地同步。
核心理念: 打开即用,无需等待网络加载;数据加密存储,完全私有化部署。
- 🚀 极致速度:利用浏览器本地缓存,0 秒启动,断网也能读写,联网自动后台同步。
- ☁️ 无感同步:基于 Upstash Redis 数据库,支持多端设备(电脑/手机)实时双向同步。
- 🔄 智能合并:完善的冲突解决机制,支持多端同时修改,支持同步删除操作(解决删除后又被拉取的问题)。
- 🔒 安全隐私:自带访问密码保护,只有输入正确环境变量密码才能查看和同步数据。
- 📱 全端适配:响应式设计,支持 PC 端双击改名、移动端长按改名。支持 PWA,可安装为桌面/手机原生应用。
- 🌗 暗黑模式:跟随系统自动切换,也支持手动一键切换。
- 🔍 高亮搜索:支持关键字搜索,自动高亮显示,点击高亮区域快速定位。
- 📂 导入导出:支持一键导出为 TXT 备份,或导入现有文本文件。
- 💓 自动保活:集成 Vercel Cron 定时任务,自动维护数据库活跃状态,永久免费且数据不丢失。
- 前端:原生 HTML/JS/CSS (无框架,极致轻量,单文件)
- 后端:Vercel Serverless Functions (Edge Runtime)
- 数据库:Upstash Redis (Serverless Database)
- 部署:Vercel
- 注册并登录 Upstash。
- 点击 Create Database,输入名字(如
notes),区域选择离你近的。 - 创建完成后,在控制台找到 REST API 区域,复制
UPSTASH_REDIS_REST_URL和UPSTASH_REDIS_REST_TOKEN。
- Fork 本仓库到你的 GitHub。
- 登录 Vercel,点击 Add New... -> Project。
- 选择刚才 Fork 的仓库并导入。
- 关键步骤:在 Environment Variables (环境变量) 中添加以下三个变量:
| 变量名 | 说明 | 示例值 |
|---|---|---|
UPSTASH_REDIS_REST_URL |
Upstash 提供的 URL | https://xxxxx.upstash.io |
UPSTASH_REDIS_REST_TOKEN |
Upstash 提供的 Token | AyAvAAAA... |
NOTES_PASSWORD |
你自己设置的访问密码 | mySecret123 |
- 点击 Deploy 等待部署完成。
访问 Vercel 分配的网址(如 https://your-project.vercel.app),输入你设置的密码,即可开始记录!
💡 提示:推荐在浏览器设置中将网页“安装为应用”(Install App),体验更佳,就像本地软件一样。
- 新增:点击标签栏右侧的
+号。 - 重命名:双击 标签上的文字即可修改。
- 删除:点击标签右侧的
✕号(删除操作会自动同步到云端)。 - 搜索:顶部搜索框输入关键字,进入沉浸式阅读模式。
- 重命名:长按 标签上的文字即可修改。
- 切换主题:点击顶部
🌗图标。 - 菜单:功能按钮以文字形式展示,直观易懂。
本项目包含 vercel.json 配置文件,已配置 Cron Job。
- 机制:Vercel 会在每天早上 8:00 (UTC 0:00) 自动向接口发送一次心跳请求。
- 作用:确保 Upstash 数据库判定为“活跃”,防止因长时间未访问导致免费数据库被删除。
- 注意:你不需要进行任何操作,部署后自动生效。
├── api
│ └── notes.js # 后端核心逻辑 (鉴权、同步、保活)
├── index.html # 前端完整代码 (UI、交互、本地存储)
├── package.json # 项目依赖配置
├── vercel.json # 定时任务配置 (用于保活)
└── README.md # 说明文档