Skip to content
Asuka Minato edited this page Nov 23, 2024 · 5 revisions

Cloudflare Workers + D1 + Gemini API 完整配置指南

第一部分:账号注册与基础配置

1. Cloudflare 账号注册

访问 Cloudflare 官网

2. Google 账号注册

3. 获取 Gemini API 密钥

进入 https://aistudio.google.com/, 左上角 Get API Key

4. Telegram bot api

https://core.telegram.org/bots/tutorial, 只需要 bot api

5. 可选, ai gateway

https://developers.cloudflare.com/ai-gateway/get-started/

用于直接在 cf 看 log, 不用每个平台单独看. 也可以方便集成多 llm 接口. 如果使用, 要把 secret 里的 account_id 改成你自己的.

不用 ai gateway 就把 genAI 相关的代码换成自己供应商提供的.

6 获取 account_id, 如果使用 ai gateway

https://developers.cloudflare.com/fundamentals/setup/find-account-and-zone-ids/

第二部分:本地开发环境配置

1. 安装 Node.js

  1. 访问 Node.js 官网
  2. 下载并安装 LTS 版本
  3. 验证安装:
node --version
npm --version

注: 下文可以直接全局 npm i -g wrangler, 也可以 npx wrangler, 也可以用包管理, 这里统一用 wrangler 表示

3. 登录 Wrangler

wrangler login

按照提示在浏览器中完成授权。

第三部分:配置 Worker

git clone 本项目, 目录下新建 .dev.vars 文件, 里面写入

SECRET_TELEGRAM_API_TOKEN="xxxxxxxxxxxxxxxxxxxx"
GEMINI_API_KEY="xxxxxxxxxxxxxxxxxxxxx"
account_id="xxxxxxxxxxxxxxxxx"

第四部分:配置 D1 数据库

1. 创建 D1 数据库

# 创建数据库
wrangler d1 create my-database

# 这会输出类似下面的配置,添加到 wrangler.toml 中
# [[d1_databases]]
# binding = "DB"
# database_name = "my-database"
# database_id = "xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx"

2. 创建数据库表

应用 schema:

wrangler d1 execute my-database --remote --file=./schema.sql

第五部分:Worker 代码

部署 Worker

wrangler deploy

set secret

wrangler secret put SECRET_TELEGRAM_API_TOKEN  # and other secret

then input the key

set your webhook

Open this url in your browser to set your webhook https://your-worker.username.workers.dev/SECRET_TELEGRAM_API_TOKEN?command=set

enjoy!