你要装 Wiki.js 3.0.0-beta,先确认三件事:
- Node 必须是 26 以上
- PostgreSQL 必须是 17 以上
- Windows 上有一个 ESM 的 bug,得自己改一行代码
这三条缺一条它就不启动。不是「建议」,是启动时直接退出。
我在 Windows 上把它跑通了,站也搭起来了,过程记在下面。

Wiki.js 能干什么
一句话:给团队做一个有权限、有留痕的内部知识库,不是给自己写笔记用的。
按用途对号入座——
- 公司内部文档:产品文档、流程规范、运维手册,谁能看哪个目录单独授权
- 对外产品手册:挂在自己域名下,客户按目录翻,比 PDF 好用
- 多语言文档站:一份内容几种语言,各语言单独维护
- 要把权限管到很细:按路径、按标签、按语言分别授权,这是它最强的地方
- 要接公司账号体系:LDAP、OAuth2、SAML 都能接,员工用公司账号直接登
- 需要审计:谁改的、改了什么、什么时候改的,版本历史里都有
一个人记笔记别用它——装一遍 Node 26 加 PostgreSQL 17 的代价,够你把 Memos 用熟了。
核心功能亮点
- 细粒度权限:读、写、管分开,作用域能细到单页、整个路径、某个标签、某种语言
- 三种编辑器:Markdown、可视化(WYSIWYG)、代码,写文档的人自己挑
- 版本历史:每次保存留一版,能对比、能回滚
- 全文搜索:基于 PostgreSQL 或者外接搜索引擎
- 多语言:同一篇内容挂多个语言版本
- 认证源:本地账号、LDAP/AD、OAuth2、SAML、GitHub 之类
- GraphQL API:能把内容拉给别的系统用
- 主题和外观可改:Logo、配色、页脚都能换
一、下载
版本 3.0.0-beta.672,2026-10-16 发布,GitHub 上只有 tag 归档,没有放出来的 release 包,得自己去 tag 页拉。
61.3MB,解压 215MB。node_modules 是预装好的,这点比很多 Node 项目省事,不用自己 npm install 半小时。
二、第一个坑:Node 版本
我本机是 Node 22,起服务直接:
ERROR: Node.js 26.x or later required!backend/package.json 里写的是 engines: { node: ">=26.0" },它在启动时真的会检查,不是警告。
去 nodejs.org 下了 v26.12.0 的 zip 便携版,解压就能用,不用改系统环境变量。
三、第二个坑:PostgreSQL 版本
本机原来装着 PostgreSQL 16.4,配置连上去,迁移开始前被拦住:
error: Your PostgreSQL database version (16) is too old and unsupported by Wiki.js.
Requires >= 17. Exiting...Wiki.js 3 用到了 PG 17 的特性,这个也是硬校验。

我去 EnterpriseDB 下了 postgresql-17.7-1-windows-x64-binaries.zip,331MB。解压完 552MB——其中 pgAdmin 4 目录就占 448MB。真正跑服务只要 bin、lib、share 三个目录,加起来 78MB。
初始化数据目录:
pgsql\bin\initdb.exe -D D:\wikijs_pg\pgdata17 -U artex -E UTF8 --locale=C这里踩了一个坑,值得单独说。
第一次我把数据目录放在项目目录下,路径里有中文。initdb 跑到 post-bootstrap 阶段挂了:
FATAL: invalid byte sequence for encoding "UTF8": 0xcf 0xee0xcf 0xee 是 GBK 编码的「项」字。initdb 会把自己的路径按系统 ANSI 编码写进 UTF8 的数据库里,中文路径就会炸。
换成 D:\wikijs_pg\pgdata17 纯英文路径,一次通过。
四、第三个坑:Windows 上的 ESM
数据库连上了,迁移跑完,默认设置也写进库了,日志看起来一切正常,然后:
Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only URLs with a scheme in: file, data, and node
are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs.
Received protocol 'd:'Node 的 ESM 加载器不认 D:\... 这种 Windows 绝对路径,必须传 file:// URL。而 backend/core/scheduler.ts 第 136 行是这么写的:
this.tasks[taskName] = (await import(path.join(WIKI.SERVERPATH, 'tasks/simple', f))).task改两行:
import { pathToFileURL } from 'node:url'
// ...
this.tasks[taskName] = (
await import(pathToFileURL(path.join(WIKI.SERVERPATH, 'tasks/simple', f)).href)
).task打完补丁,20 秒后站点起来了。
这个 bug 只在 Windows 上有,Linux 上不会触发。beta 版没做过 Windows 测试,能理解。
五、装完是什么样
首页长这样,左边是页面树,右边是文章目录,顶上一条品牌色的导航:

整页截下来是这样(长图):

文章页有自动生成的目录、标签、最后编辑人,代码块和表格都能正常渲染:

表格是这样,表头是深色,行之间有细线:

搜索是 Ctrl+K 唤起,边打边出建议:

手机上也能用,左侧的页面树收起来了,正文按屏幕宽度排版:


后台是很完整的,站点、用户、权限、审计、API、调度器都有:

配色、Logo、登录页背景都能在后台改,改完立刻生效:

站点设置里能改标题、描述、横幅、SEO:

用户组是重头戏,每条规则可以按路径、按标签、按语言分别授权:

用户管理里能看到登录时间、提供商、二次验证状态:

编辑器分 Markdown 和可视化两套,左边写右边实时预览:

页脚的署名也是可以改的,我这里改成了「基于 Wiki.js 构建」:

六、还有几个小坑
七、缺点
重。 一个空站,Node 主进程 89MB,PostgreSQL 一组 69MB,加起来 160MB 起步。1 核 1G 的机器能跑,但没余量,跑满一年不重启大概率会卡。
默认英文。 中文语言包要在后台 Locale 里单独下载,而且装完还是有些文案没翻译——我看了下,乱码倒没有,就是混着。
移动端表格会溢出。 390 宽的屏幕上,表格右侧被切掉,得在内容区里横向滑。页面本身没有横向滚动条,所以不仔细看会以为内容被吞了。
beta 就是 beta。 我这个包是打完补丁才启动的。普通用户下载原版,配好 Node 26 和 PG 17,最后卡在一个 Node 的路径问题上,很难自己想到去改源码。
离不开 node_modules。 它不像 PHP 项目扔进目录就能跑,少一个依赖就是一堆 TS 文件。
八、自己动手的成本
装 Wiki.js 本身不费事,下载解压二十分钟。吃时间的是把环境凑齐,这篇里记的坑一个都绕不过去:
- Node 26。
engines是硬校验,本机的 22 直接退出,报一句Node.js 26.x or later required!,得另下一个便携版 - PostgreSQL 17。16 被拒。官方 Windows 包 331MB,解压 552MB,光
pgAdmin 4就占 448MB —— 跑服务其实只要bin/lib/share那 78MB - initdb 的路径。数据目录落在中文路径上必炸,报
invalid byte sequence ... 0xcf 0xee(那是 GBK 的「项」字),只能换到纯英文路径从头再来一遍 - 改
scheduler.ts那一行。import(path.join(...))得换成pathToFileURL(...).href,不改站点永远起不来,而报错只说Received protocol 'd:',跟 Wiki.js 一点关系都看不出来 - 权限调试。Guests 组默认 DENY,装完退出登录首页就是 403;页面权限写在
rules里而不是permissions,我在这上面浪费了半小时
我这边的时间账:PG 解压加 initdb 重来是最大一块;补丁改完到站点起来只用 20 秒;后台权限又是半小时。这几小时我在下面那章里替你走完了。
九、我打的这个包
| 内容 | 说明 |
|---|---|
wiki\ | Wiki.js 3.0.0-beta.672,含 node_modules,已打补丁 |
node\ | Node.js 26.12.0 便携版 |
pgsql\ | PostgreSQL 17.7 精简版(bin/lib/share) |
pgdata\ | 初始化好的数据库,5 篇示例文章、品牌配置都在 |
启动.bat | 双击启动,自动开浏览器 |
解压到纯英文路径(比如 D:\wikijs),双击「启动.bat」,浏览器自动打开 http://localhost:3300。
后台是 /_admin,账号 admin@yuanmawan.com,密码 Yuanmawan@2026,上线前记得改。
数据库里我放了 5 篇示例文章:Typecho 主题的三个坑、Fluid 的 h2 竖线、还有这篇 Wiki.js 的实测记录。想清空就后台删。
两个小提醒:
- 建议先「转存到自己网盘」再下载——直接下载的链接容易失效,转存后就是你自己的了,随时能下;
- 手机上操作:点开链接 → 右下角「保存到网盘」→ 回夸克 App 的「我的网盘」里下载。
十、谁适合用
Wiki.js 的价值在多人对权限:谁能看哪个目录、谁能改、改了留什么痕。它的权限模型是我用过的开源 wiki 里最细的,细到可以按路径、按标签、按语言分别授权。
一个人记笔记,用不着这个。Memos 或者一个静态文档生成器省事得多。
团队要一个有权限、有审计、能接 LDAP 的内部知识库,那它值得。前提是你能接受 beta 的脾气——这次是 Windows 上的补丁,下次不知道是什么。
包里所有源码保持原样,只改了四处:调度器那行 ESM、站内品牌名、后台头部的字样、页脚署名。AGPL-3.0 的 LICENSE 文件一个没删。