LUNE Share · 手把手教程

做一个只属于你的 prompt 站

不需要懂代码。整个过程就是:点几下、复制、粘贴、回车。泡杯茶的时间就能弄完。

从第一步开始先看看成品
约 20 分钟第一次慢慢来也够
0 元全程不用绑卡
2 条命令都可以一键复制
0 / 7 步

成品你会得到什么

一个只有拿到邀请码的人才能进的网站。你在后台传图、贴 prompt,朋友打开网址输入码就能看、能一键复制。

画廊页面:瀑布流排列的 prompt 卡片
朋友看到的样子
手机上的画廊页面
手机上也好用
进门页:输入邀请码
没有邀请码的人只能看到这一页

先说三件让你放心的事:

① 站是建在你自己的 Cloudflare 账号上的,图片和邀请码都只在你手里,不经过我,也不经过任何别人。

② Cloudflare 是一家很大的网络公司,个人用它的免费额度完全够,不用填银行卡,超了也只是暂停,不会扣钱。

③ 中途哪一步弄错了都没关系,弄不坏任何东西,重来一遍就好。

开始前你用的是哪种电脑?

选一下,下面的步骤会自动换成对应的说明。

1

注册一个 Cloudflare 账号

约 2 分钟 · 已经有账号就直接打勾

你的网站之后就住在这里。注册是免费的,只需要一个邮箱。

  1. 点这个按钮打开注册页:
    打开 Cloudflare 注册页 ↗
  2. 填邮箱和密码,点 Sign up
  3. 去邮箱里点一下验证邮件里的链接。这一步不能跳过:没验证邮箱的账号,Cloudflare 不让建站,第 6 步会卡住。没收到就看垃圾箱,或者登录 dash.cloudflare.com,页面顶部点 “Resend verification email”。
💡注册完它可能会问你要不要添加网站、要不要买域名。都不用管,直接关掉那个页面就行。
2

装一个叫 Node.js 的小工具

约 3 分钟

它是让等会儿那两条命令能跑起来的「发动机」。装上就行,之后你不需要打开它,也不需要懂它。

  1. 点这个按钮打开官网:
    打开 Node.js 下载页 ↗
  2. 页面上找到带 .pkg 字样的 macOS 安装程序按钮,点它下载。下载完双击它,一路点「继续」「同意」「安装」,中间会让你输一次开机密码。
  3. 页面上找到带 .msi 字样的 Windows 安装程序按钮,点它下载。下载完双击它,一路点 Next,看到要打勾同意协议就打勾,最后点 InstallFinish
  4. 看到「安装成功」就好了。
nodejs.org 打不开或者很慢(国内常见)

用阿里的镜像:打开 npmmirror.com/mirrors/node/latest-v22.x/,是一个文件列表。

  • Mac 找文件名以 .pkg 结尾的那个:2020 年以后的 Mac(M1 / M2 / M3 / M4 芯片)选带 arm64 的,更早的 Intel Mac 选带 x64 的。不确定就点左上角 → 关于本机 看「芯片」一栏。
  • Windows 找文件名以 x64.msi 结尾的那个。
💡页面上如果有好几个版本,选带 LTS 字样的那个(意思是「稳定版」)。
3

把网站的代码下载到电脑上

约 1 分钟

就是下载一个压缩包,再解压。和下载别的文件没有区别。

  1. 点这个按钮直接下载:
    ⬇ 下载代码压缩包 (.zip)
  2. 在「下载」文件夹里找到 lune-share-main.zip双击它,旁边会多出一个同名的文件夹。
  3. 在「下载」文件夹里找到 lune-share-main.zip右键 → 全部解压缩 → 解压
  4. 把解压出来的 lune-share-main 文件夹拖到桌面上。这样等会儿好找。
⚠️这个文件夹以后不要删。里面之后会生成你的后台密码,改网站名字、更新版本也都要用到它。想换个地方放可以,但别丢。
按钮点了没反应?也可以从 GitHub 页面下载(国内可能很慢)

打开 github.com/coredump119/lune-share,先点绿色的 Code,再点最下面的 Download ZIP

GitHub 页面上先点 Code 再点 Download ZIP
4

打开「命令行」窗口

约 2 分钟 · 这是全程最陌生的一步,其实很简单

命令行是什么?就是一个用打字代替点鼠标来指挥电脑的窗口。它长得黑乎乎的有点唬人,但你只需要往里面粘贴我给你的文字,再按回车。不用自己打一个字母。

  1. 同时按 + 空格,屏幕中间会出现一个搜索框。
  2. 输入「终端」两个字(或者 terminal),按 回车
    终端应用程序 · 按回车打开
  3. 会弹出一个这样的窗口。这就是命令行,Mac 上它叫「终端」:
    终端
    Last login: Mon Sep 21 10:02:11 你的名字@MacBook ~ %
  4. 现在要告诉它「去桌面上那个文件夹里干活」。先点下面的复制按钮,然后在终端窗口里按 + V 粘贴,再按 回车
    cd ~/Desktop/lune-share-main
成功的话你会看到
终端
你的名字@MacBook ~ % cd ~/Desktop/lune-share-main 你的名字@MacBook lune-share-main %

注意 % 前面的字变成了 lune-share-main。这就说明它已经「走进」那个文件夹了。没有别的提示是正常的,命令行的习惯是「没消息就是好消息」。

提示 no such file or directory(找不到文件夹)

说明文件夹不在桌面上,或者名字不一样。换个万能的办法:在终端里先输入 cd 再按一下空格,然后用鼠标把那个文件夹直接拖进终端窗口,路径会自动填上,再按回车。

  1. 双击打开桌面上的 lune-share-main 文件夹。确认你能看到里面有 package.jsonsrc 这些东西。如果里面只有另一个同名文件夹,就再点进去一层。
  2. 点一下窗口上方的地址栏(显示文件夹路径的那一长条),里面的字会变成蓝色选中状态。
  3. 直接输入 cmd 三个字母,按 回车
    📁cmd
  4. 会弹出一个黑色的窗口。这就是命令行,而且它已经自动「站」在这个文件夹里了:
    C:\Windows\System32\cmd.exe
    Microsoft Windows [版本 10.0.22631] (c) Microsoft Corporation。保留所有权利。 C:\Users\你的名字\Desktop\lune-share-main>

看到最后一行以 lune-share-main> 结尾就对了。

💡在这个黑窗口里粘贴,用 Ctrl + V,或者直接点一下鼠标右键
为什么不用 PowerShell?

PowerShell 在有些电脑上默认禁止运行脚本,会报一段红字。用 cmd 就没有这个问题。

5

第一条命令:把零件装齐

约 1–2 分钟,主要是等

这条命令会自动下载网站需要的零件。你只要粘贴、回车,然后等它跑完。

  1. 点复制,在命令行窗口里粘贴( + V鼠标右键),按 回车
    npm install
  2. 屏幕上会滚过一些字,中间可能停顿十几秒像卡住了一样。别关窗口,等着就行。
跑完的样子
命令行
added 312 packages, and audited 313 packages in 48s found 0 vulnerabilities lune-share-main %

看到 added … packages 并且最后一行又回到了等你输入的状态,就是成功了。数字和我写的不一样没关系。中间出现黄色的 warn 也不用管,那只是提醒。

提示 command not found: npm,或者「npm 不是内部或外部命令」

意思是电脑还不认识 Node.js。最常见的原因是:你是在装 Node.js 之前打开的这个窗口。把命令行窗口关掉,重新做一遍第 4 步,再来。还不行的话,回第 2 步重新装一次 Node.js。

出现一大片红色的 ERR

十有八九是网络问题。再粘贴运行一次同样的命令,通常就好了。如果你在用代理或 VPN,开着或者关掉各试一次。

6

第二条命令:一键建站

约 5 分钟 · 最后一条了

这条命令会替你把所有麻烦事做完:登录你的 Cloudflare、建数据库、建图片仓库、生成后台密码、把网站发布上线。你只需要点一次「允许」,再回答四个小问题。

  1. 复制、粘贴、回车:
    npm run setup
  2. 浏览器会自己弹出来,让你登录 Cloudflare(用第 1 步注册的账号)。登录后出现一个授权页面,点橙色的 Allow
    Wrangler 想要访问你的 Cloudflare 账号
    CancelAllow
    Wrangler 是 Cloudflare 官方的命令行工具,现在就跑在你自己的电脑上。这个授权是给它的,不是给我,也不是给任何网站。看到 “You have granted authorization” 就可以关掉网页,回到命令行窗口。
    ⚠️ 三个小规矩:Allow 只点一次,点完不要刷新那个页面;整个过程不要关命令行窗口,它在后台等结果。
  3. 回到命令行,它会问你四个问题。每个问题输入完按回车;想用括号里的默认值就直接按回车。
Project id, becomes <id>.pages.dev (my-prompts):
你的网址。比如输入 moon-prompts,网址就是 moon-prompts.pages.dev。只能用小写英文字母、数字和横线,不能有中文和空格。取个别人不太会用的名字。
Site name shown to visitors (Prompt Share):
网站的名字。会显示在进门页和页面顶上。可以写中文,比如「月光词包」。以后能改。
Small line above the name (can be empty) (invite only):
名字上面的一行小字。比如 by moon。不知道写什么就直接回车。
Where should images live? 1) KV 2) R2 Choose 1 or 2 (1):
图片存哪里。直接按回车选 1 就好。1 完全免费、不用绑卡,能放大约 3000 张图。2 容量更大,但需要先在 Cloudflare 绑一张卡。以后想换可以再换。

回答完它会自己跑一两分钟,一步步打出绿色的 ✓。不用管,等它出现 Done。

最后你会看到
命令行
[8/8] Build and deploy ✓ deployed Done. Site https://moon-prompts.pages.dev Admin https://moon-prompts.pages.dev/#/admin Admin key Xk3vT9…一串随机字符 ← also saved in .dev.vars
🔑 现在做一件重要的事:Site(你的网址)和 Admin key(你的后台密码)复制下来,存到备忘录或者密码管理器里。在命令行里用鼠标拖选文字, + C回车或右键 就能复制。
Admin key 不要发给任何人,不要截图发群
红字 OAuth error: request_forbidden … No CSRF value

意思是浏览器把 Cloudflare 登录页自己的 cookie 拦下了。Safari 最常出这个问题,Cloudflare 之前登录过但状态过期了也会。不是你的问题,也没坏任何东西。这样做:

  1. 关掉刚才弹出来的那个浏览器页面。
  2. 开一个无痕(隐私)窗口。先用你现在的浏览器试:Safari 按 + + N,Edge / Chrome 按 Ctrl + + N
    Safari 无痕也不行的话,换一个浏览器:推荐 Edge,微软官网国内能直接下载,装好后用它的无痕窗口。
  3. 回到命令行,它在等你按回车重试。按回车后它不会再自己开浏览器,只会打印一个以 https://dash.cloudflare.com/oauth2 开头的长网址,整行复制,粘贴到无痕窗口的地址栏打开,登录,点 Allow
  4. 看到 “You have granted authorization” 就回到命令行,它会自己继续往下走。

还不行的话:在浏览器里打开 dash.cloudflare.com,右上角头像 → Log out,然后重试。

Could not create the Pages project … Your user email must been verified

第 1 步注册后没点邮箱里的验证链接。Cloudflare 允许没验证的账号建数据库,但不允许建网站,所以卡在这里。去邮箱找 Cloudflare 的验证邮件点一下(看看垃圾箱),或者登录 dash.cloudflare.com,页面顶部点 “Resend verification email”。验证完再运行 npm run setup,覆盖选 y,前面建好的东西会继续用。

Safari 说「无法连接服务器 localhost:8976」,或者 consent verifier has already been used

这多半是好消息:授权其实已经成功过一次了。localhost 是你自己电脑上的一个临时小窗口,命令行收到结果后就把它关了,之后再刷新或再点一次授权,就会看到这个页面。不用开梯子,和网络无关。

  1. 回到命令行,粘贴运行这条,看看是不是已经登录了:
    npx wrangler whoami
  2. 如果打印出 “You are logged in … associated with the email 你的邮箱”,后面跟一大串权限清单,就是已经登录成功。直接运行 npm run setup,它会跳过登录这一步。
  3. 如果显示 not authenticated,再运行一次 npx wrangler login,这次 Allow 只点一次、不刷新、不关命令行。
浏览器没有自己弹出来

命令行里会打印一行很长的、以 https://dash.cloudflare.com/oauth2/… 开头的网址。把它整行复制,粘贴到浏览器地址栏里打开,效果一样。

中途报错停住了

再运行一次 npm run setup 就行。它会问你要不要覆盖(输入 y 回车),已经建好的东西会被找到继续用,不会重复。最常见的原因是网络断了一下,或者授权页面没点 Allow。

最后打印的网址和我输入的名字不完全一样

说明这个名字已经被别人用了,Cloudflare 自动在后面加了几个字符。以打印出来的那个为准。

忘了存 Admin key 就把窗口关了

别慌,它也保存在 lune-share-main 文件夹里一个叫 .dev.vars 的文件中。这个文件名以点开头,默认看不见,在文件夹里按 + + . 就会显示。用「文本编辑」打开它。在文件夹上方点「查看 → 显示 → 隐藏的项目」就能看到,用记事本打开它。

网站已经上线了 🎉命令行窗口可以关掉了。剩下的全部在浏览器里点鼠标完成。
7

进后台,发出第一个邀请码

约 3 分钟
  1. 在浏览器打开你的 Admin 网址,就是你的网址后面加上 /#/admin。把 Admin key 粘贴进去,点登录。
    后台登录页
  2. 点顶上的「邀请码」。在「给谁」里写个备注(比如朋友的名字,只有你自己看得到),点「生成」。
    邀请码页面,生成后显示一次明文
    中间那一串就是邀请码。它只显示这一次,马上点「复制」发给朋友
  3. 点顶上的「上传」。把 Midjourney 的图拖进虚线框,或者复制图片后直接按 + VCtrl + V。贴上 prompt,点「发布」。
    上传页面
    如果拖进来的是 MJ 网站下载的原图,prompt 和参数会自动填好
  4. 你的网址邀请码一起发给朋友,就完成了。
🔒 关于隐私:图片上传前会先在你的浏览器里重新压一遍,MJ 藏在原图文件里的完整 prompt 和 --p 个性化代码不会被传上去。每条 prompt 的 --p 要不要给别人看,由你单独打开,默认是不给看的。

以后日常怎么用

下面这些全都在后台页面里点鼠标完成,不用再碰命令行。

后台内容管理页面
想做的事在哪里
怀疑某个码被转发了邀请码 → 点那一行的「详情」能看到它在几台设备上用过 → 点「作废」。对方马上就进不来了
给码设有效期、限制几台设备能用生成的时候填「有效天数」和「设备上限」
同一个站放好几套词包,不同的人看不同的在上传页最下面建「集合」,生成邀请码时只点亮对应的集合
让信任的朋友也能投稿生成码时打开「投稿码」。投稿会先进「内容 → 待审核」,你点通过才公开
已经在 LUNE 里整理好了LUNE 里导出 .lune.json,后台「导入」里选这个文件,文件夹会自动变成集合
一次处理很多条内容 → 选择 → 批量发布、下架、置顶、删除
备份画廊标题下面的「导出」,可以存成 .lune.json 或 Word 文档

偶尔改名字、换背景、升级

这几件事需要再用一次命令行。做法永远一样:先改文件,然后像第 4 步那样打开命令行并进到文件夹里,粘贴这一条:

npm run deploy

等一分钟,看到 Deployment complete 就生效了。

想改什么改哪里
网站名字、名字上面的小字「文本编辑」记事本打开文件夹里的 wrangler.toml,改 SITE_NAMESITE_TAGLINE 引号里面的字,保存
不想让访客一键导出同一个文件里,把 EXPORT_FOR = "all" 改成 EXPORT_FOR = "admin"
背景图用你自己的图替换 public 文件夹里的 day.jpg(浅色模式)和 night.jpg(深色模式),文件名保持一样
用自己买的域名这个在 Cloudflare 网页后台点:Workers & Pages → 你的项目 → Custom domains

升级到新版本

后台页面顶上出现「有新版本」的提示时,像第 4 步那样打开命令行并进到文件夹里,粘贴这一条:

npm run update

它会自动下载新代码、保留你的 wrangler.toml.dev.vars 和背景图、更新数据库、重新发布。你的图片和邀请码都在 Cloudflare 上,不会丢。大约两分钟。

换电脑之前,把文件夹里的 wrangler.toml.dev.vars 这两个文件备份好。有它们在,任何一台电脑都能继续管理你的站。

放心免费额度够不够

个人或者一个群用,绰绰有余。

项目免费额度大概意味着
网站访问每天 10 万次请求一个人翻一遍大约用掉几十次
文字内容5 GBprompt 文字永远用不完
图片(选 1 的话)总共 1 GB;每天最多传 1000 张大约 3000 张图
图片(选 2 的话)10 GB需要在 Cloudflare 绑一次卡才能开通

数字以 Cloudflare 官方定价页为准。没绑卡的免费账号超额时只会暂时拒绝访问,第二天恢复,不会产生任何费用。

疑问常见问题

为什么不能做成「注册个账号就能用」的网站,非要我自己装?

因为那样你的图、你的 prompt、你的邀请名单就全都存在我的服务器上了。现在这种方式多花你二十分钟,换来的是整个站从头到尾只属于你,我看不到里面的任何东西,哪天我不维护了它也照样能用。

那有没有「粘贴一个 API key 就能用」的网页版?

没有,是故意不做的。邀请制要成立,就必须有一段访客碰不到的程序来检查邀请码。如果做成公共网页让你粘贴 Cloudflare 的 key,这个 key 要么落到我手里,要么暴露在每个访客的浏览器里,两种都不安全。

访客能看到我的 --p 吗?

只有你在那条 prompt 上打开了「公开 P 值」才能。没打开的话它根本不会被发到访客的浏览器里,导出的文件里也不会有。投稿者提交的 --p 永远不会公开。

被人截图,或者整包导出拿走怎么办?

能看到就能复制,这一点任何网站都防不住。这个站能帮你做的是:知道每个码在几台设备上用过、什么时候来过,并且一键作废。不想让访客批量导出的话,按上面「改名字」那一节把 EXPORT_FOR 改成 "admin"

我想彻底删掉这个站

登录 Cloudflare 网页后台 → Workers & Pages → 点你的项目 → Settings 最下面 Delete。再到 Storage & Databases 里把同名的 D1 和 KV 删掉。删完就什么都不剩了。

我会用 git,有没有快一点的路
git clone https://github.com/coredump119/lune-share.git my-prompts && cd my-prompts && npm install && npm run setup

想把代码存在自己的 GitHub 上,就在仓库页点 Use this template,建议建成 Private。