惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
Microsoft Security Blog
Microsoft Security Blog
C
Check Point Blog
云风的 BLOG
云风的 BLOG
J
Java Code Geeks
阮一峰的网络日志
阮一峰的网络日志
MongoDB | Blog
MongoDB | Blog
Engineering at Meta
Engineering at Meta
H
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
宝玉的分享
宝玉的分享
H
Hackread – Cybersecurity News, Data Breaches, AI and More
腾讯CDC
A
About on SuperTechFans
酷 壳 – CoolShell
酷 壳 – CoolShell
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
SegmentFault 最新的问题
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
HiCyou 开源网址导航/目录 用 Supabase 和 Vercel 不花一分钱...
alanying · 2025-12-11 · via V2EX

HiCyou 是一个免费开源的工具目录平台,旨在帮助用户发现、整理并提交各类有用的工具和资源。 基于 Vercel 、Supabase 和 Cloudflare R2 等服务,你可以在几乎零成本的前提下,搭建一个专属的网址导航 / 资源目录站点,用来集中管理优质链接、为主站导流、推荐优秀网站等。

HiCyou 适合个人开发者、站长和团队快速搭建“工具库 / 资源库”类网站,可用于展示、收录,也可以开放给用户自主提交资源,打造持续更新的高质量目录。

HiCyou Free Open Source-SaaS Directory Platform

应用场景示例:

  1. 构建专属行业网址导航
    • 如 AI 工具导航、独立开发者资源导航、设计师常用网站导航等
    • 按行业、功能、标签等方式归档,方便自己和用户快速查找
  2. 提升域名 DR / DA 等权重指标
    • 将导航站作为主站或其他项目的“资源中转站”
    • 合理布局外链与内容,有助于提升域名权重,利好二手域名交易和站群运营
  3. 打造个人 / 团队资源中心
    • 统一收纳团队常用工具、内部系统入口、文档链接等
    • 让新成员或合作方可以一键获取所有重要链接
  4. 对外展示精选网站与工具
    • 作为博客、个人主页或品牌官网的“推荐资源”子站
    • 用精选资源提升专业形象与信任度

前置准备

在开始之前,请确保你已经拥有以下账号和服务:

  1. 代码仓库:如果是 Fork 的本项目,确保你的 GitHub 账号下有该仓库。
  2. Vercel 账号:用于托管前端和 API 。
  3. Supabase 账号:用于提供 PostgreSQL 数据库和 Auth 服务。
  4. Cloudflare 账号:用于 R2 对象存储(存储图片)。

第一步:配置 Supabase (数据库与认证)

更详细的图文教程:《 Supabase 实战指南:从零开始搭建数据库、配置 Auth 并接入 Resend 邮件服务》

  1. 登录 Supabase Dashboard 并创建一个新项目。
  2. 获取数据库连接信息
    • 进入 Project Settings -> Database.
    • 在 Connection string 部分,复制 URI 模式的链接。此时你应该能得到 DATABASE_URL
    • 注意:生产环境建议使用 Connection Pooler (端口 6543) 以获得更好的连接管理。
  3. 获取 API Keys

img

  • 进入 Project Settings -> API Keys -> Legacy anon, service_role API keys.
  • 复制 anon``public key (NEXT_PUBLIC_SUPABASE_ANON_KEY)。
    • 复制 service_role secret key (SUPABASE_SERVICE_ROLE_KEY)。
  • 复制 Project URL (NEXT_PUBLIC_SUPABASE_URL)。

第二步:配置 Cloudflare R2 (图片存储)

更详细的图文教程:《 Cloudflare R2 实战指南:配置免费 10G 存储和免费流量的对象存储与 S3 兼容 API Key 》

  1. 登录 Cloudflare Dashboard
  2. 进入左侧菜单的 R2
  3. **创建存储桶 (Bucket)**:
    • 点击 "Create bucket",输入名称(例如 hicyou-assets),位置选择 "Automatic" 或离你目标用户最近的区域。
    • 记录下 R2_BUCKET_NAME
  4. 配置公开访问
    • 进入刚创建的 Bucket ,点击 "Settings" -> "Public Access"。
    • 你可以绑定自定义域名(推荐)或开启 R2.dev 子域名。
    • 记录下你的公开访问域名,这将是 R2_PUBLIC_URL
  5. 获取 API Token
    • 回到 R2 主页,点击右侧的 "Manage R2 API Tokens"。
    • 点击 "Create API token"。
    • 权限选择:Object Read & Write (读写权限)。
    • 创建后,记录以下三个值:
      • Access Key ID (R2_ACCESS_KEY_ID)
      • Secret Access Key (R2_SECRET_ACCESS_KEY)
      • Endpoint (只需取类似 https://<ACCOUNT_ID>.r2.cloudflarestorage.com 中的 <ACCOUNT_ID> 部分作为 R2_ACCOUNT_ID)。

第三步:本地配置与数据库同步

在部署到 Vercel 之前,我们需要在本地配置好相关环境变量,并将数据库结构和初始数据同步到 Supabase 。

1. 配置本地环境变量

  1. 在项目根目录下,复制示例配置文件:cp .env.example .env
  2. 打开 .env 文件,填入之前获取的 Supabase 和 Cloudflare R2 信息,以及你的 AI Key:# Supabase NEXT_PUBLIC_SUPABASE_URL=https://xxxx.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJh... SUPABASE_SERVICE_ROLE_KEY=eyJh... ​ # Database (推荐使用 Connection Pooler 端口 6543, 并在末尾加 ?pgbouncer=true) DATABASE_URL="postgresql://postgres.[ref]:[password]@aws-0-[region].pooler.supabase.com:6543/postgres?pgbouncer=true" ​ # Cloudflare R2 R2_ACCOUNT_ID=... R2_ACCESS_KEY_ID=... R2_SECRET_ACCESS_KEY=... R2_BUCKET_NAME=... R2_PUBLIC_URL=...

全部变量名的介绍:

变量名 说明
数据库配置
NEXT_PUBLIC_SUPABASE_URL Supabase Project URL
NEXT_PUBLIC_SUPABASE_ANON_KEY Supabase Anon Key
SUPABASE_SERVICE_ROLE_KEY Supabase Service Role Key
DATABASE_URL Postgres 连接字符串
存储配置 (R2)
R2_ACCOUNT_ID Cloudflare Account ID
R2_ACCESS_KEY_ID R2 Access Key
R2_SECRET_ACCESS_KEY R2 Secret Key
R2_BUCKET_NAME R2 Bucket 名称
R2_PUBLIC_URL R2 公开访问域名
R2_UPLOAD_DIR 上传目录前缀,可以默认不变
R2_LOGO_DIR Logo 目录名,可以默认不变
R2_COVER_DIR 封面目录名,可以默认不变
网站基础配置
NEXT_PUBLIC_SITE_URL 你的生产环境域名
NEXT_PUBLIC_SITE_NAME 网站名称
NEXT_PUBLIC_MAIL 联系邮箱
NEXT_PUBLIC_Blog 博客地址
安全与管理
ADMIN_EMAILS 管理员邮箱 (逗号分隔)
CRON_SECRET 定时任务密钥 (任意长字符串),可以用openssl rand -hex 32 生成
赞助商配置 (可选)
NEXT_PUBLIC_SPONSOR_IMAGE_URL 赞助商图片地址
NEXT_PUBLIC_SPONSOR_LINK 赞助商跳转链接
NEXT_PUBLIC_SPONSOR_TEXT 赞助商文案
其他 (可选)
EXASEARCH_API_KEY Exa 搜索 API Key
NEXT_PUBLIC_TURNSTILE_SITE_KEY Cloudflare Turnstile ,留默认的就是 CF 官网测试 Key
TURNSTILE_SECRET_KEY Cloudflare Turnstile Secret Key
AI 配置(可选) Qwen 、DeepSeek 、Kimi 这些国产的都是支持的
AI_API_KEY AI 服务商 Key
AI_BASE_URL AI API 地址
AI_MODEL 模型名称

2. 同步数据库结构 (Schema Migration)

此步骤将在 Supabase 数据库中创建所需的表结构。

# 推送迁移到远程数据库
pnpm db:migrate

3. 写入初始数据 (Data Seeding)

此步骤将写入默认分类和示例数据,帮助你快速开始。

# 运行 Seed 脚本
pnpm db:seed

第四步:Vercel 项目配置与部署

img

img

  1. 登录 Vercel Dashboard
  2. 点击 "Add New..." -> **"Project"**。
  3. 选择你的 GitHub 仓库并点击 **"Import"**。
  4. Framework Preset:Vercel 会自动识别为 Next.js ,无需修改。
  5. Environment Variables(关键步骤): 展开 Environment Variables 区域,将你本地 .env 文件中配置好的变量逐一填入。
  6. 点击 **"Deploy"**。

第五步:部署后验证

  1. 等待构建完成:Vercel 会自动执行 next build
  2. 检查首页:访问分配的域名,确保首页正常加载。
  3. 检查数据库:尝试浏览分类或详情页,确保数据能从数据库读取(因为第三步已经进行了 Seed ,此时你应该能看到数据)。
  4. 检查认证:点击登录,测试 Supabase Auth 是否工作正常(需要在 Supabase Auth settings 中配置你的 生产环境域名 作为 Redirect URL )。
  5. 检查图片上传:登录管理员账号,尝试提交一个工具,测试图片能否成功上传到 R2 。
  6. Cron Jobs:在 Vercel Dashboard 的 Project Settings -> Cron Jobs 中检查定时任务状态。

常见问题

  • Supabase Auth 登录后跳转错误:请务必在 Supabase 后台 Authentication -> URL Configuration -> Site URL / Redirect URLs 中添加你的 Vercel 域名。
  • 图片上传失败:检查 R2 的 Access Key 权限是否包含 "Write",以及 R2_PUBLIC_URL 是否配置正确且公网可访问。
  • 数据库连接错误:如果使用 Transaction Pooler (端口 6543),需要 URL 包含 ?pgbouncer=true
  • 本地开发:以后每次本地开发前,确保 .env 中的 DATABASE_URL 能正常连接,然后运行 pnpm dev

祝你部署顺利!

其他参考教程:

Cloudflare R2 Hands-On Guide: Set Up Free 10GB Storage, Zero-Egress Object Storage, and S3-Compatible API Keys

A Practical Guide to Supabase: Setting up a Database, Auth, and Integrating Resend