乐于分享
好东西不私藏

想分享给团队,又怕文档泄密?这个"公开但加密"的文档中心,专治这种纠结

想分享给团队,又怕文档泄密?这个"公开但加密"的文档中心,专治这种纠结

读前摘要:产品协议文档要发给客户/合作方,开飞书太重、网盘怕泄露。搏哥用 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"第二职业的老兵。觉得这些内容还行,就点个关注