damoluomu
发布于 2026-10-15 / 5 阅读
0

标着 JavaScript 的 Wiki 与知识库:既不是 CMS 也不是 SSG(番外三)

搜 "self-hosted knowledge base",或者按 JavaScript 标签在 GitHub 上翻,翻出来的多半是 Wiki.js、Outline 这批。它们跑在 Node 上、有后台、有权限,界面也是后台的样子;可"对外发布"、"主题模板"、"给访客看"这几样,一个都不沾。

前面几篇讲的是跑在 Node 上的 CMS,和构建时才用一下 Node 的静态站生成器。这一篇补第三类:Wiki。

一、Wiki 这一类,卡在"谁在写"上

分界只有一条:谁在生产内容,写给谁看。CMS 是你和编辑发内容给访客看,单向的;静态站生成器是你自己写 Markdown、构建成页面,多人靠 Git 流程;Wiki 是一群人攒文档,按主题和层级组织,谁都能改一笔,改完留版本。

团队知识库这件事,真正的卡点在权限和"好几个人同时改",不在发布。拿两件事去分就够了:要登录、好几个人一起写、改完要能回滚——这是 Wiki。公开的、就你一个人维护的,那是静态站生成器的事(番外一里那五个)。

二、Node 系这两款,方向不一样

1. Wiki.js(AGPL-3.0,最新正式版 2.5.315/2026-09-21)

现代 wiki 引擎,官方自述就是 "wiki app built on NodeJS",前端用 Vue(仓库里 Vue 的代码量比 JavaScript 还多),数据放关系型数据库——官方文档首推 PostgreSQL,MySQL 这些也兼容,但下个大版本要撤。Markdown 编辑、权限、多语言、全文搜索都齐,做产品文档、团队知识库、公开文档站都顺手,Docker 一条命令能自己部署。

版本上留个心:稳定线是 2.x,3.0 还在 beta,仓库首页挂着 "NOT FOR PRODUCTION USE",生产别追。

许可要单独说:AGPL-3.0 是开源协议里最严的一档,改完代码对外提供网络服务也算分发,得把改动后的源码公开。个人自托管随便用;接定制开发、给客户交付要想清楚条款。Node 系并不因为它是个 wiki 就放过你。

2. Outline(BSL 1.1,最新正式版 1.11.0/2026-10-12)

BSL 1.1 的源码公开可得,但它不是开源软件。正篇(四)的主角 Directus 早几年也是 BSL,2026 年又换成了 MSCL;Outline 这版 LICENSE 写着变更日期 2030-10-12,到期转 Apache 2.0——这类协议都带着"到期转正"的条款。

Outline 自己是 React + Node.js 写的团队知识库,体验对标 Notion / Confluence 那一档:实时协作、Markdown 兼容、全文搜索、文档树,官方集成了 Slack 这些第三方。官方给两条路:用云服务(getoutline.com),或者 Docker 自托管。自托管要 PostgreSQL 加 Redis。团队内部 wiki 里,它是 Node 系最像"现代产品"的一个。

自托管的免费是有边界的:LICENSE 写着不能拿它对外做商业文档服务。自己员工和承包商用没问题,让外部第三方进来建团队、建文档,不行。别看到仓库就默认能按 MIT 用,先读 LICENSE。

三、"搭个知识库"底下是三件不同的事

先别急着选软件,把这话翻成具体场景:

  • 要登录、几个人一起改、还要分权限的,是 Wiki;

  • 公开的、给用户看的文档不需要这套权限和协作,静态站生成器更轻,版本化文档还是现成的;

  • 对外的内容站、官网、博客别在这儿找——Wiki 没有发布和主题那套体系,硬拿它做官网,和拿论坛做官网一样别扭,回正篇(五)那份 22 条清单里挑。

两头的错位都很常见:说要"搭个知识库"的,其实要的是给全公司看、能多人改的文档;也有团队反过来,让编辑在 CMS 的发布流程里写内部文档。先答"给谁看、谁在写",再选软件,比翻功能清单快得多。

两款怎么挑:要现代体验和实时协作选 Outline,要通用、省心、部署简单选 Wiki.js。

四、语言标签怎么读

把这几篇拼起来,JavaScript / TypeScript 标签底下的东西是四类:

  • 跑在 Node 上的 CMS:正篇(五)那份清单里的 22 个;

  • 只在构建时用一下 Node 的静态站生成器(番外一、番外二);

  • Node.js 写的 Wiki 与知识库,本篇这两款;

  • 再往外是笔记、白板、工作区那批个人知识工具(AFFiNE、AppFlowy、Logseq 这些),语言标签五花八门,离建站这条线更远。

挑的时候按"谁在写、写给谁"去分,比按语言标签分准得多。本篇这两款,协议比功能更值得先看——一个 AGPL、一个 BSL,读 LICENSE 那五分钟,能省掉后面换系统的麻烦。

本篇数据来源: