快速开始
前置要求
- Bun 1.x(唯一包管理器,不要使用 npm)
- Cloudflare 账号(免费套餐即可)
- GitHub App(参见 GitHub App 设置)
- Discord Bot Token(参见 Discord Bot 设置)
安装
bash
git clone https://github.com/ReCloudStudio/WebHooker.git
cd WebHooker
bun install本地开发
1. 配置密钥
复制示例环境变量文件并填入你的密钥:
bash
cp .env.example .dev.vars编辑 .dev.vars,填入实际值:
bash
GITHUB_WEBHOOK_SECRET=your-webhook-secret
GITHUB_CLIENT_ID=your-client-id
GITHUB_CLIENT_SECRET=your-client-secret
DISCORD_TOKEN=your-bot-token
DISCORD_PUBLIC_KEY=your-public-key
ADMIN_USER_IDS=your-github-id,your-github-login
BASE_URL=http://localhost:8787TIP
GITHUB_APP_ID / GITHUB_PRIVATE_KEY 为可选,仅用于 App 安装流程解析安装所属账号的登录名(OAuth 流程只需要 Client ID/Secret)。目标频道在 Web UI 中按路由设置,因此不需要 DISCORD_CHANNEL_ID。若要在本地启用 /gh 命令,请在开发者门户复制 Public Key 填入 DISCORD_PUBLIC_KEY,并把 Interactions Endpoint URL 设为 http://localhost:8787/discord/interactions。
WARNING
.dev.vars 已被 gitignore,包含敏感信息,请勿提交。
2. 启动开发服务器
bash
bun run dev这将在 http://localhost:8787 启动本地 Miniflare 环境。
3. 验证
bash
curl http://localhost:8787/health
# → {"status":"ok"}可用脚本
| 脚本 | 说明 |
|---|---|
bun run dev | 启动 Nuxt 开发服务器 (HMR) |
bun run build | 生产构建(cloudflare_module preset) |
bun run deploy | 部署到 Cloudflare |
bun run typecheck | TypeScript 类型检查 |
bun run lint | ESLint |
bun run lint:md | Markdownlint |
bun run format | 使用 Prettier 格式化 |
bun run format:check | 检查 Prettier 格式 |
bun test | 单元测试 |
bun run docs:dev | 启动文档开发服务器 |
bun run docs:build | 构建文档站点 |