{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "siyuan-note--siyuan",
    "name": "SiYuan",
    "tagline": "Block-based local-first knowledge base whose Go kernel ships a 30-plus tool MCP server and HTTP API.",
    "shortTagline": "Local-first block knowledge base",
    "description": "SiYuan is a privacy-first personal knowledge manager with block-level references, databases, daily notes, and an SQL query layer, available as desktop, mobile, and a Docker-served kernel. The kernel exposes an HTTP API (API.md) and an in-kernel MCP server (kernel/mcp) with tools for notebooks, documents, blocks, search, SQL, attributes, assets, export, sync, and even web search. Core is free and AGPL; sync and some features are paid.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "notes-knowledge",
    "alternativeTo": [
      "Notion",
      "Obsidian"
    ],
    "shape": "product",
    "formFactor": "desktop",
    "executionModel": "hybrid",
    "provenance": "mixed",
    "codeStack": {
      "languages": [
        "Go",
        "TypeScript"
      ],
      "frameworks": [
        "Electron",
        "Gin"
      ],
      "packageManager": "go modules, pnpm",
      "database": [
        "SQLite"
      ],
      "hostingTarget": [
        "binary",
        "docker"
      ]
    },
    "modelStack": {
      "providers": [
        "OpenAI API (AI writing and chat)"
      ],
      "models": [],
      "requiredKeys": [],
      "promptLocations": [],
      "tools": [
        "notebook",
        "document",
        "block",
        "search",
        "sql",
        "attr",
        "tag",
        "bookmark",
        "dailynote",
        "database",
        "asset",
        "file",
        "image",
        "export",
        "import",
        "history",
        "sync",
        "template",
        "inbox",
        "todo_write",
        "ref",
        "outline",
        "repo",
        "workspace",
        "system",
        "web_fetch",
        "web_search",
        "question",
        "skill"
      ]
    },
    "repos": [
      {
        "url": "https://github.com/siyuan-note/siyuan",
        "owner": "siyuan-note",
        "name": "siyuan",
        "license": "AGPL-3.0",
        "stars": 46138,
        "lastCommit": "2026-09-03"
      }
    ],
    "interface": {
      "kind": "mcp",
      "url": "https://github.com/siyuan-note/siyuan/tree/master/kernel/mcp",
      "official": true,
      "hosted": "local"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Notebooks and documents",
        "reachable": true,
        "evidence": "kernel/mcp/tools notebook.go, document.go"
      },
      {
        "job": "Block-level read, insert, update, and move",
        "reachable": true,
        "evidence": "block.go"
      },
      {
        "job": "Search and SQL queries",
        "reachable": true,
        "evidence": "search.go, sql.go"
      },
      {
        "job": "Attributes, tags, bookmarks, and references",
        "reachable": true,
        "evidence": "attr.go, tag.go, bookmark.go, ref.go"
      },
      {
        "job": "Daily notes and templates",
        "reachable": true,
        "evidence": "dailynote.go, template.go"
      },
      {
        "job": "Databases (attribute views)",
        "reachable": true,
        "evidence": "database.go"
      },
      {
        "job": "Assets, files, and images",
        "reachable": true,
        "evidence": "asset.go, file.go, image.go"
      },
      {
        "job": "Export, import, history, and snapshots",
        "reachable": true,
        "evidence": "export.go, import.go, history.go, repo.go"
      },
      {
        "job": "Sync and workspace management",
        "reachable": true,
        "evidence": "sync.go, workspace.go, system.go"
      },
      {
        "job": "Plugins and marketplace, AI writing UI",
        "reachable": false,
        "evidence": "no plugin tool in kernel/mcp/tools; AI writing is a UI feature over the OpenAI API"
      }
    ],
    "editions": [
      {
        "name": "Free",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/siyuan-note/siyuan"
          },
          {
            "kind": "binary",
            "url": "https://b3log.org/siyuan/en/download.html"
          },
          {
            "kind": "container",
            "url": "https://hub.docker.com/r/b3log/siyuan",
            "command": "docker run -d b3log/siyuan serve --workspace=/siyuan/workspace"
          }
        ]
      },
      {
        "name": "PRO Features",
        "price": {
          "amount": 64,
          "currency": "USD",
          "period": "lifetime"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://b3log.org/siyuan/en/pricing.html"
          }
        ]
      },
      {
        "name": "Subscription",
        "price": {
          "amount": 148,
          "currency": "USD",
          "period": "year"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://b3log.org/siyuan/en/pricing.html"
          }
        ]
      }
    ],
    "skills": {
      "kind": "none",
      "paths": [],
      "install": null,
      "note": "No SKILL.md, Claude Code plugin, or published skill found in the repo."
    },
    "customization": {
      "summary": "Docker serve mode is env-driven: SIYUAN_WORKSPACE_PATH, SIYUAN_ACCESS_AUTH_CODE (or SIYUAN_ACCESS_AUTH_CODE_BYPASS), SIYUAN_LANG, PUID and PGID, and an OIDC block (SIYUAN_OIDC_ENABLED, SIYUAN_OIDC_PROVIDER, SIYUAN_OIDC_REDIRECT_URL) that replaces the lock-screen code. The README carries docker-compose, Unraid, and TrueNAS examples. Desktop settings live in the UI.",
      "envVars": [
        "SIYUAN_WORKSPACE_PATH",
        "SIYUAN_ACCESS_AUTH_CODE",
        "SIYUAN_ACCESS_AUTH_CODE_BYPASS",
        "SIYUAN_OIDC_ENABLED",
        "SIYUAN_OIDC_PROVIDER",
        "SIYUAN_OIDC_REDIRECT_URL",
        "SIYUAN_LANG",
        "PUID",
        "PGID"
      ],
      "configFiles": [
        "docker-compose.yml"
      ],
      "promptFiles": [],
      "effort": "config-only",
      "editCount": 10
    },
    "useWhen": [
      "you want block references and databases like Notion, stored locally, with an agent that can query them by SQL",
      "you run a Docker kernel on your NAS and want daily notes written by an agent from the terminal"
    ],
    "accounts": [
      "OpenAI (optional, AI writing)",
      "SiYuan account (paid sync and PRO features)",
      "S3 or WebDAV provider (PRO third-party sync)"
    ],
    "active": true,
    "lastActivity": "2026-09-03",
    "gotchas": [
      "AGPL-3.0",
      "Since v3.7.0 the Docker image needs an explicit serve subcommand",
      "Official cloud sync and some features are paid; third-party S3/WebDAV sync needs PRO Features",
      "Docker web UI is protected only by the access auth code unless OIDC is set"
    ],
    "fit": {
      "adaptable": 2,
      "operable": 3
    },
    "evidence": {
      "formFactor": "README: desktop app from app stores and installers; Docker serves the same kernel with a web UI",
      "executionModel": "AI writing and Q/A through OpenAI API; MCP tools include web_search and question; notes work without a model",
      "operability": "kernel/mcp/tools in the repo with 30-plus tool files; tagline 'From thought to insight, with agents'",
      "effort": "README Docker section names SIYUAN_* env vars",
      "editions": "b3log.org/siyuan/en/pricing.html: core free, PRO Features $64 lifetime, Subscription $148/year",
      "active": "pushedAt 2026-09-03",
      "provenance": "AGENTS.md at root; project from 2020"
    },
    "confidence": {
      "formFactor": 0.7,
      "executionModel": 0.75,
      "operability": 0.9,
      "effort": 0.9,
      "reach": 0.85,
      "editions": 0.85,
      "provenance": 0.4
    },
    "openQuestions": [
      "Is the level native rather than official? The Builder now leads with agents but the app predates them",
      "Does the MCP server require the paid tier for any tool (sync, web_search)?"
    ],
    "sources": [
      {
        "url": "https://github.com/siyuan-note/siyuan",
        "foundBy": "sourcing:notes-knowledge:curated"
      },
      {
        "url": "https://b3log.org/siyuan/en/pricing.html",
        "foundBy": "analysis"
      },
      {
        "url": "https://github.com/siyuan-note/siyuan/tree/master/kernel/mcp/tools",
        "foundBy": "analysis"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "Official in-kernel MCP with the broadest Reach in the vertical; env-driven Docker deploy; AGPL and paid sync noted.",
      "disputed": []
    },
    "url": "apps/siyuan-note--siyuan.html",
    "coverage": "partial",
    "paid": true,
    "source": "research/verified/siyuan-note--siyuan.json"
  }
}
