liubai is a free, open source scheduling & event management project written in TypeScript and released under AGPL-3.0. It has 864 GitHub stars, 87 forks and 16 open issues, and was last pushed 3 months ago. On this registry it ranks #17 of 23 tracked projects in Scheduling & Event Management, with 5 head-to-head comparisons available.

What is liubai?

Liubai is an AGPL-3.0, local-first application for notes, schedules, to-do lists and tasks with built-in AI, written in TypeScript and aimed at individuals and small teams who want to plan their day and collaborate through WeChat without handing their data to a closed service.

What it is

Liubai, rendered in Chinese as 留白记事, combines four things the README lists explicitly: notes, schedules, to-do lists and tasks, with AI assistance layered on top. It is distributed as a monorepo with four parts. liubai-backends/liubai-laf holds the backend and is built on Laf, with project cloud functions under cloud-functions/. liubai-frontends/liubai-web is the web client, built with Vue 3.x, Vite, VueUse, TypeScript, Dexie.js and TipTap. liubai-weixin is a WeChat mini-program built on Skyline, TypeScript and the Chat Tool API. liubai-vscode-extension is a VS Code extension written in TypeScript, bundled with esbuild and published with vsce. Documentation lives separately under liubai-docs and is built with VitePress.

The problem it solves is fragmentation: rather than running one application for notes, another for a calendar, a third for tasks, and a chat client for an assistant, Liubai puts all four behind a single card-based model. Cards attach text, images, multi-level tags, status and files, and sync to the cloud. The same data stays available offline in the browser through a PWA service worker, with the mini-program as the one exception. Privacy is handled per card rather than per account, so an individual card can be marked as local-only or blocked from AI reads. In WeChat, the AI assistants are reached through the official customer service message API, which means the scheduling and task workflow happens in the messaging app the user already has open.

Key capabilities

  • Atomic card attachment for text, images, multi-level tags, status and files, each expandable only when needed.
  • Local-first operation through the PWA service worker, so the web client works without a network connection; the mini-program does not.
  • Per-card privacy controls that let a card be set to local storage only or refused to AI readers.
  • AI assistance connected to DeepSeek, Kimi, MiniMax, Stepfun and Zhipu models, reached inside WeChat through the official customer service message API.
  • WeChat integration for personal schedule reminders, plus collaborative tasks where WeChat contacts are selected directly as collaborators.
  • A VS Code extension for quick note capture that runs both in common Node environments and in VS Code for web, covering github.dev, gitpod.io and codespaces.
  • Responsive layout from 300px to 1920px, light and dark modes, Chinese and English switching, and a rich text editor that accepts lightweight Markdown.

Who uses it and how

  • Individuals capturing personal schedules and to-dos on the web client, then receiving the reminders through WeChat.
  • Small teams running collaborative tasks by choosing WeChat contacts as participants, without onboarding them to a separate account.
  • Developers working inside browser IDEs such as github.dev, gitpod.io or codespaces who want to capture a note from the editor through the VS Code extension.
  • Privacy-minded users who keep sensitive cards marked local-only or denied to AI readers while still syncing everything else to the cloud.
  • Self-hosters who deploy the Laf backend, its cloud functions and MongoDB themselves rather than relying on the hosted instance.

Getting started

Run bun install followed by bun run dev inside liubai-frontends/liubai-web to start the front end locally; install instructions for other platforms are published at the documentation site under guide/install, and a hosted personal instance is available at https://my.liubai.cc.

How it compares

No comparable products are named anywhere in the supplied facts, so Liubai stands alone in this registry rather than being contrasted against alternatives. The tools it depends on, such as Laf, VitePress, Vue 3, Dexie.js and TipTap, are components of its own stack, not substitutes for it.

When to use it — and when not to

A self-hoster takes on real operational weight: the Laf backend, its deployment of the cloud-functions/ directory, a MongoDB store, and WeChat Official Account credentials for the customer service message API that carries both the AI assistants and the notification flow. Anyone unwilling to depend on WeChat for reminders, collaboration and AI access should look elsewhere, and anyone who needs offline use on the mini-program side will not find it, since service-worker offline support is limited to the web client. The licence is unambiguous, AGPL-3.0, and the repository is active with 16 open issues, but the README and documentation are Chinese-first, which raises the bar for English-speaking teams evaluating it.

project readme (upstream, from github) — read inline

Liubai

你的笔记 + 日程 + 待办清单 + 任务 with AI

留白记事,放大你的能力


黑板报 📢

👉 个人记事

🤝 多人协作

📥 文档中心

📲 前往安装

已实现 🥂

✅ 原子化附着: 文本、图片、多级标签、状态、文件

✅ 云端同步

✅ 响应式设计: 支持 300px ~ 1920px 宽度的屏幕,从 📱 到 💻

✅ AI 加持: 已连接 DeepSeek / Kimi / MiniMax / Stepfun / Zhipu 等大模型,它们被直接装在你的微信里。关于微信的部分使用官方客服消息 API

✅ 隐私: 支持原子化管理每张卡片,让你设置 “仅保存本地” 或 “拒绝 AI 读取”;你的数据,你的自由。

✅ 浅色/深色模式

✅ 本地优先: PWA 的 service-worker 让你断网也能使用(注:仅限 Web,不包含小程序端)

✅ 微信集成: 个人日程提醒,使用微信通知你;协作任务,让你直接无缝选择微信联络人

✅ VS Code 插件,快速记事

✅ i18n 中/英切换

✅ 富文本编辑器,支持轻量 Markdown

概览 📂

.
├─ liubai-backends
│  └─ liubai-laf
├─ liubai-docs
└─ liubai-frontends
   └─ liubai-web
   ├─ liubai-weixin
   └─ liubai-vscode-extension

liubai-laf 为后端根目录,使用 Laf 构建;该目录下的 cloud-functions/ 存放本项目的云函数。

liubai-docs 为文档根目录,使用 VitePress 构建。

liubai-web 为前端根目录,主要基于 Vue 3.x + Vite + VueUse + TypeScript + Dexie.js + TipTap ...... 等一系列前端工具链构建,在该目录下运行 bun installbun run dev 即可启动留白前端。

liubai-weixin 微信小程序根目录,使用 Skyline + TypeScript + Chat Tool API 构建,让你直接跟微信联络人一起做任务!

liubai-vscode-extension 为 vscode 插件根目录,使用 typescript 编写,esbuild 打包,vsce 发布。该插件除了能在常见的 node 环境运行,还支持 vscode for web,让你在 github.dev / gitpod.io / codespaces 等浏览器 IDE 环境中也能使用。

保持联络 👋

探索留白 🍭

添加日程

在微信里同时跟三个助手对话

在卡片下补充说明

离线时依然可用

原子化附着,需要时再展开

自行浏览日程

问 AI 我的日程

在微信里,直接让AI帮你作画

多设备、全平台

看板

开源许可 📝

AGPLv3

Frequently asked questions

Is liubai free to use?

liubai is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does liubai do?

Supercharge yourself!

What is liubai written in?

liubai is primarily written in TypeScript. Its source is publicly available at https://github.com/yenche123/liubai, and it has 864 GitHub stars.