Self-hosted service
siyuan-note/siyuan avatar
siyuan-note/siyuan

SiYuan: a block-addressed note system with a Go kernel, Docker hosting and a paid tier

A privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang.

47,217 stars3,115 forksTypeScriptAGPL-3.0

At a glance

What is it?
SiYuan is an AGPL-3.0 personal knowledge management app that treats every block as something you can reference, query with SQL and link to over a siyuan:// URL. It runs on desktop, mobile and self-hosted servers, and most of it is free, but some features are reserved for paid members and the details live on a separate pricing page.
Who is it for?
SiYuan suits people who want block-level references, SQL queries over their notes and the option to self-host through Docker, Kubernetes, Unraid or TrueNAS. It suits less well anyone who wants plain Markdown files as the working format, or who needs certainty about cost before committing, since some features are paid and the README sends you to a separate pricing page.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • siyuan-note/siyuan47,217 ★ · +1,747
Star history
Repository2026-07-282026-11-13
siyuan-note/siyuan45.5k47.2k

1,747 Stars in the last 108 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

Every block can be referenced, queried and linked

SiYuan is organised around blocks rather than pages. Any block can be referenced from elsewhere, and references are two-way, so the target block knows what points at it. Blocks carry custom attributes, and an SQL query can be embedded in a note to pull in matching blocks. Each block is also reachable through the siyuan:// protocol, which lets other tools link straight to a paragraph.

The editor is block-style with Markdown WYSIWYG editing, list outlines and block zoom-in, and it is meant to handle million-word documents. Formulas, charts, flowcharts, Gantt charts, timing charts and staves render inline. Export options include block refs and embeds, standard Markdown with assets, PDF, Word and HTML, plus copying to WeChat MP, Zhihu and Yuque. The more you build on block references and query embeds, the more your notes depend on SiYuan to make sense, so test an export of a representative document before you commit.

The kernel is Go built with SQLCipher and FTS5

The repository splits into app/, the TypeScript front end, and kernel/, the Go back end. The Dockerfile shows how the kernel is compiled: on golang:1.26-alpine, with gcc and musl-dev installed and CGO_ENABLED set to 1, and with two build tags.

code
go build -tags "fts5 sqlcipher" -ldflags "-s -w"

Because the build enables CGO and installs gcc for it, anyone reproducing the kernel build outside Docker needs a C toolchain on the build machine, not just Go, and has to pass the same fts5 and sqlcipher tags to get a matching binary.

The Docker image bundles a Node 22 build and an ONNX stage

The README calls Docker the easiest way to serve SiYuan on a server, using the image b3log/siyuan. The Dockerfile is multi-stage. A node:22 stage enables corepack, installs the pinned package manager, runs pnpm install and pnpm run build, and runs scripts/prepare-ocr.py with Python 3 to prepare OCR assets. A Go stage builds the kernel. An Alpine 3.24 stage fetches a pinned ONNX commit at version 1.24.3 with a retry helper that gives up after three attempts.

All base images are pinned by digest. Building the image yourself therefore pulls Node, Go and ONNX sources over the network; an NPM_REGISTRY build argument exists for pointing npm at a different registry. Kubernetes, Unraid and TrueNAS hosting each have their own section next to Docker.

Only app market installs get one-click upgrades

The project asks you to install from an application market where one exists, because that is what gives one-click upgrades later. On mobile that means the App Store, Google Play or F-Droid; on desktop it means the Microsoft Store. Installation packages are also published on b3log.org and on GitHub releases, and distribution package managers carry it under the names siyuan and siyuan-note.

The trade is simple. A package downloaded by hand from GitHub or b3log.org leaves upgrades to you, and the README has its own FAQ entry on how to upgrade to a new version. Package manager builds follow whatever schedule each distribution keeps, which Repology tracks for both names.

Most features are free, some need paid membership

The code is AGPL-3.0, and the README says most features are free, even for commercial use. It also says some features are available only to paid members and points to the pricing page at b3log.org for details. The README itself does not mark which features in its list fall on the paid side, so you cannot tell from the feature list alone whether the thing you want is included.

The list covers flashcards with spaced repetition, AI writing and Q/A chat through the OpenAI API, Tesseract OCR, a table view database, web clipping, PDF annotation links, template snippets, JavaScript and CSS snippets, multi-tab split screen, an HTTP API documented in docs/API.md and a community marketplace. Check the pricing page against the specific features you plan to rely on.

Bugs may belong to one of nine sibling repositories

SiYuan is not one repository. The editor engine is lute, maintained separately. The data repo is dejavu, the plugin API is petal, the community marketplace is bazaar and spaced repetition is riff. The Chrome and Edge extension, the Android app, the iOS app and the HarmonyOS app each have their own repositories.

For users this mostly matters when filing issues: a rendering bug may sit in lute, a sync or snapshot problem in dejavu, and a mobile crash in the platform app repository. For anyone auditing the code for privacy, the data handling is spread across siyuan, dejavu and the client apps, so reading the main repository alone is not enough. The README FAQ also includes an entry on what to do if the data repo key is lost, which is worth reading before you rely on that feature.

Alpha builds ship almost daily

Development is moving quickly. The last push to master was on 2 November 2026, and the recent releases are all alphas of the same version: v3.8.10-alpha.1 on 31 October, alpha.2 on 1 November and alpha.3 on 2 November 2026. A Test Channels section covers how to get prerelease builds, and the development plan sits on a GitHub project board alongside CHANGELOG.md. Unless you want to report bugs, stay on the stable channel; three alphas in three days means behaviour can change between installs.

Editorial conclusion

SiYuan suits people who want block-level references, SQL queries over their notes and the option to self-host through Docker, Kubernetes, Unraid or TrueNAS. It suits less well anyone who wants plain Markdown files as the working format, or who needs certainty about cost before committing, since some features are paid and the README sends you to a separate pricing page. Before moving a large vault in, check which features fall under paid membership, read the FAQ entry on a lost data repo key, and decide whether you install from an app market or by hand.

Frequently asked questions

What is SiYuan?

SiYuan is a privacy-first personal knowledge management system with block-level references and Markdown WYSIWYG editing. It runs on desktop, Android, iOS and HarmonyOS, and can be self-hosted with Docker.

Is SiYuan open source?

Yes. SiYuan is licensed under AGPL-3.0, with its TypeScript app and Go kernel in the siyuan-note/siyuan repository.

Is SiYuan free?

Most SiYuan features are free, even for commercial use. Some features are only available to paid members, as set out on the pricing page at b3log.org.

How to install SiYuan?

Install SiYuan from the App Store, Google Play, F-Droid or Microsoft Store for one-click upgrades, or download packages from b3log.org or GitHub releases. Servers can run the b3log/siyuan Docker image.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/siyuan-note-siyuan.svg)](https://hysenlabs.com/projects/siyuan-note-siyuan)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/siyuan-note-siyuan.svg)](https://hysenlabs.com/projects/siyuan-note-siyuan)

Was this useful?