读前摘要:产品协议文档要发给客户/合作方,开飞书太重、网盘怕泄露。搏哥用 VitePress + Staticrypt + GitHub Pages 搭了个"公开但加密"的内部 Wiki:链接谁都能点,没密码服务器只有乱码,零运维免费托管。本文讲清它是什么、和其他方案差在哪、七步怎么搭。作者已上线,文末可体验。
你有没有遇到过这种两难:
产品协议文档(MQTT 对接规范、设备接入文档)要发给客户和合作方,可又怕流到竞争对手手里; 和外包团队协作,得把内部接口文档甩给他们,加飞书账号太重、管权限又麻烦; 项目经理把一份 API 手册分发给跨部门团队,放群里撤回都来不及,发网盘链接又怕被二次转发。
你想要的东西其实特别简单:发个链接就能看,但只有该看的人能看。
可现实偏偏跟你对着干——
放公开仓库?搜索引擎一抓,产品协议直接裸奔; 放私有仓库?那还怎么分享,每次加人、管权限,麻烦到不想用; 用网盘?链接三天两头失效、被和谐,还要开会员; 用飞书 / Confluence?强是强,但给外部客户开账号、配权限,流程能劝退一半人。
一句话戳破这个场景的尴尬:要么"公开到没法保密",要么"保密到没法分享"。 这套方案,就是来补中间这块缺口的——它本质是给你的产品协议文档、内部技术 Wiki,安一道"公开的玻璃门 + 密码锁"。
一、它到底是什么
一句话:一个"对外公开、对内加密"的文档中心。
说人话就是:你搭一个文档网站,链接谁都能点开,但点开之后是一道密码锁;输对密码,内容才在浏览器里本地解密显示。而服务器上真正存着的,只是一堆乱码密文——平台、爬虫、AI 全都看不见正文。
打个比方:它像一个"玻璃门保险柜"。位置是公开的,谁都能走到门前;但没钥匙,谁也打不开。

登录页实拍:点开后先是一道密码锁,输对密码才在浏览器本地解密显示

架构示意:写 Markdown → VitePress 构建 → Staticrypt 加密(AES-256) → GitHub Pages → 用户输密码本地解密
二、它和"私有笔记""公开文档"差在哪
很多人一上来就搞混,这里一次说清:
- 私有笔记
:是你自己看的。这种直接丢普通私有仓库就行,根本不用加密——本方案不解决这个。 - 公开文档
:是人人都能看的,适合博客、产品手册。这种也不用密码。 - 本方案
是"要给别人看,但只给特定的人看"。这就是它存在的唯一理由。
所以,它的精确定位是:"可分享的保密文档"——公开可达,私密可读。
再补一句关键的:这套方案是"双层"的。 你写的 Markdown 明文,留在自己的私有仓库——Git 管版本、历史可追溯、还能直接喂给 AI 读;而真正推到 GitHub Pages 上的,是加密之后的密文。"私密"(源文件)和"可分享"(加密产物)被彻底分开了:源永远不出去,出去的永远看不懂。
顺带说清一个技术点:GitHub Pages 免费账户要求仓库公开,但这儿公开的是密文,无妨;真正要保密的明文源,单独搁在私有仓库里版本管理。这就把开头那个死结解开了——私有仓库不是没法分享嘛?现在源私有、产物公开加密,两全。
三、它帮你解决什么
- 想发谁就发谁
:一条链接 + 一个密码,精准分发,不用挨个加权限。 - 链接外泄也不怕
:服务端只有密文,密码没给,别人点开也是乱码。 - 零成本
:托管用 GitHub Pages,免费,不用买服务器、不用备案。 - 专业体面
:一个正经文档站,比微信传文件、网盘文件夹有面子得多。 - 可控可撤回
:想收权?改个密码就行;改动全程 Git 可追溯。 - 源文件版本管理
:你写的 Markdown 明文躺在自己的私有仓库,每次改动都有完整 Git 历史——谁哪天改了哪句、随时回滚到任意版本,这是微信传文件、网盘文件夹永远给不了的。 - 天然喂得动 AI
:文档本就是 Markdown 纯文本、结构清晰,直接丢给 AI 做检索、问答、摘要,比 Word、PDF、截图友好太多。一份文档,既能给别人看(加密站),又能给 AI 读(源文件),不用来回转格式。
四、怎么做:七步搭起来
动手前,先认一下要准备的家伙事儿,心里有个谱:
- Node.js(带 npm)
:运行环境,所有构建命令都靠它跑,第一步就是装它; - VitePress
:文档生成器,把你写的 Markdown 变成带搜索、暗色模式的漂亮网站; - Staticrypt
:加密工具,把整站锁成密文,没密码打不开; - GitHub 账号 + GitHub Pages
:免费托管,让这个加密站能被任何人通过链接访问。
每一步只列关键命令,完整脚本和踩坑记录在站点内的《搭建教程》里(输密码可见)。
第一步:装 Node.js——官网下 LTS 版,一路下一步。装完敲
node -v 能看到版本号就对了。
第二步:初始化文档站(VitePress,默认主题):
npm create vitepress@latest my-docs第三步:装加密依赖(Staticrypt):
npm i -D staticrypt第四步:写文档——在 docs 目录里放你的 Markdown,把要分享的资料往里写。
第五步:构建 + 加密。先出静态站,再用 Staticrypt 整站加密(AES-256 + PBKDF2,服务端只留密文):
npx vitepress build
然后
npx staticrypt dist -p 你的密码(我把这两步封装成一条命令,脚本怎么写教程里给了。)
第六步:推上线——把加密文件推到 GitHub,设置里开启 Pages(main 分支、根目录):
git add . && git commit -m "deploy" && git push第七步:发链接 + 密码给该看的人——一个"能分享、又不怕漏"的文档中心就跑起来了。
我还顺手加了几个细节:登录页全中文、默认密码预填、登录页放公众号二维码、支持"记住我"。
去体验 & 看教程
我把整套方案做成了在线加密文档中心,里面就放着完整搭建教程:
- 在线体验 + 看教程
(登录框已默认填好密码,点开直接进):https://jameschenbo.github.io/vite-press-docs/ 进去后翻到《搭建教程》那篇,从装环境到上线一步步写清楚了。

- 开源仓库
(部署后的加密站点,可 clone 拿静态文件):https://github.com/jameschenbo/vite-press-docs
直接点开看效果,再照教程自己搭一个。登录框已预填密码、点一下就能进;如果预填失效或密码不对,评论区留言告诉我。
说明一下:公开仓库里是上线后的加密站点(含教程页),一键构建脚本是我自用工具,没放进公开仓库。想复刻,按站点里的教程做就行。
如果这篇帮你少踩了几个坑,点个赞、转发给身边也常被文档共享折磨的朋友,就是对我最大的鼓励。要是哪一步卡住了,或者你有更省事的办法,欢迎留言。
我是搏哥,一个在嵌入式这行摸爬滚打十几年、现在折腾"嵌入式 + AI"第二职业的老兵。觉得这些内容还行,就点个关注。
夜雨聆风