Sink: 轻量化链接缩短器
Sink:一款可部署在Cloudflare上的轻量级链接缩短器
简介
Sink 是一个简洁、快速且功能强大的链接缩短器。它的特别之处在于,可以免费部署在 Cloudflare 的 Workers 和 Pages 上,自带美观的管理面板和基础的分析功能,让你完全掌控自己的数据。
注: 虽然本文主要使用 Cloudflare 进行部署教程,但 Sink 也支持通过其他方式部署,感兴趣可以前往其官方页面查看。
准备工作
在开始之前,你需要准备以下东西:
- 一个 Cloudflare 账号(如果使用 Cloudflare 部署,此为必须)
- 一个 GitHub 账号(用于 Fork 项目代码)
- 一个域名(可选,但强烈推荐,用于绑定你的短链接服务)
提示: 本教程使用了手机浏览器页面进行截图提示,但所有操作步骤和界面逻辑与电脑端完全一致,请放心跟随操作
详细部署步骤
第一步:Fork 项目
- 首先,打开上面提供的 Sink 项目 GitHub 链接。
- 如果你觉得项目不错,可以给作者点个 ⭐Star 以示支持。
- 点击右上角的 Fork 按钮,将项目代码复制到自己的 GitHub 仓库中。

第二步:在 Cloudflare Pages 上创建项目
- 登录你的 Cloudflare 账号,在左侧菜单栏找到并进入 Workers 和 Pages。
- 点击 创建应用程序 按钮。如果你是第一次使用,需要先 连接到 GitHub,授权 Cloudflare 访问你的仓库。
- 成功连接 GitHub 后,再次点击右上角的 创建应用程序 按钮。这一次,在页面最底部找到一行小字:“想要部署 Pages?开始使用”,点击它

- 选择 从 Git 仓库导入,在列表中找到并选择你刚刚 Fork 的
Sink仓库,然后点击 开始设置。
第三步:配置构建与环境变量
- 在“设置构建和部署”部分,框架预设 请选择 Nuxt.js。其他选项保持默认即可。
- 在页面下方,找到 环境变量 部分。这里我们需要添加一系列配置。
核心环境变量(必须填写)
以下三个变量是必须配置的,请仔细按照说明获取:
NUXT_SITE_TOKEN:登录管理面板的密码,请务必设置一个复杂的、只有你知道的字符串。NUXT_CF_ACCOUNT_ID:你的 Cloudflare 账户 ID。- 获取方法:随便选择一个你的域名进入仪表盘,右侧边栏下方可以看到“帐户 ID”;或者在 Workers 和 Pages 页面拉到最下方也能看到。
NUXT_CF_API_TOKEN:Cloudflare API 令牌,用于让 Sink 访问你的分析数据- 获取方法:点击右上角头像 -> [配置文件] -> [API 令牌] -> [创建令牌]。找到“读取分析数据和日志”模板,点击“使用模板”
- 重点: 删除其他所有权限,只保留 “帐户分析” 的读取权限。最后在页面底部点击 “继续以显示摘要” -> “创建令牌”
- 请务必保存好这个 Token,因为它只会显示一次!
其他环境变量(可选配置)
以下变量如无特殊需要,无需配置。你也可以根据需要自行调整。
| 变量名 | 默认值/示例 | 说明 |
|---|---|---|
NUXT_PUBLIC_PREVIEW_MODE |
true |
是否开启预览模式 |
NUXT_PUBLIC_SLUG_DEFAULT_LENGTH |
5 |
生成的短链接路径长度 |
NUXT_REDIRECT_STATUS_CODE |
308 |
重定向状态码 |
NUXT_LINK_CACHE_TTL |
60 |
链接缓存时间(秒) |
NUXT_REDIRECT_WITH_QUERY |
false |
重定向时是否携带原始查询参数 |
NUXT_HOME_URL |
https://sink.cool |
你的首页地址(绑定域名后记得修改) |
NUXT_DATASET |
sink |
数据集名称 |
NUXT_AI_MODEL |
@cf/meta/llama-3-8b-instruct |
(可选)用于 AI 功能的模型 |
NUXT_AI_PROMPT |
"You are a URL shortening assistant......" |
(可选)AI 的提示词 |
- 将上述变量填写完成后,点击 保存并部署 按钮。Cloudflare 将开始自动构建和部署你的应用,第一次部署很快就会完成。
第四步:创建并绑定 KV 存储与 Analytics Engine
部署完成后,点击 继续处理项目,进入项目控制台。
创建 KV 命名空间:
- 在左侧菜单找到 存储和数据库 -> KV
- 点击 创建命名空间,名称可以随意,例如
SINK_KV,然后点击 添加
启用 Analytics Engine:
- 还是在 存储和数据库 下,找到 Analytics Engine,并点击 启用 这一步通常只需点击一次即可激活。
绑定资源到项目:
- 返回你的 Sink 项目页面,点击上方的 设置 选项卡
- 在左侧菜单中选择 绑定
- 绑定 KV 命名空间:点击 添加绑定,选择 KV 命名空间。变量名称 必须设置为大写的
KV,在下拉框中选择你刚刚创建的 KV 命名空间(如SINK_KV),然后点击 保存 - 绑定 Analytics Engine:再次点击 添加绑定,选择 Analytics Engine。变量名称 设置为
ANALYTICS,数据集填写sink,然后点击 保存
添加兼容性标志:
- 仍在 设置 页面,找到左侧菜单的 运行时。
- 在 兼容性标志 区域,找到 生产兼容性标志,点击 添加标志,输入
nodejs_compat,然后点击 保存。
第五步:最终部署与自定义域名
- 所有配置都完成后,我们需要让这些设置生效。回到项目的 部署 选项卡。
- 你会看到最近一次的部署记录。点击右侧的三个点(…)菜单,选择 重试部署。
- 等待这次部署完成。
- 部署成功后,你就可以为你的短链接服务绑定一个自定义域名了(强烈推荐!) 点击 自定义域 区域,按照提示添加你的域名即可
完成!
至此,所有设置均已大功告成!现在,你可以通过 Cloudflare 为你生成的 .pages.dev 临时域名,或者你绑定的自定义域名来访问你的 Sink 服务了。
在登录页面输入你之前设置的 NUXT_SITE_TOKEN,即可进入管理面板,开始创建你的第一个短链接,并查看点击数据啦!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hyin | blog!



