mirror of
https://github.com/ReCloudStudio/WebHooker.git
synced 2026-09-22 16:11:29 +00:00
- Update event formatter count 23 -> 28 (add ping, workflow_job, status, deployment, check_suite) - Document Telegram support end-to-end (routes, /gh commands, richheader, secrets) - Fix route schema to use targets array and group fields (owners, emoji) - Correct KV/D1 storage layout (msg:*, i18n:*, D1 links/send_logs) - Note GITHUB_APP_ID/GITHUB_PRIVATE_KEY are unused; drop legacy DISCORD_CHANNEL_ID/PORT/CONFIG_PATH - Remove stale Docker deployment section - Update color table, branch filter compatibility, admin API endpoints - AGENTS.md: add Documentation section requiring doc updates after functional changes
75 lines
2.3 KiB
Markdown
75 lines
2.3 KiB
Markdown
# 快速开始
|
||
|
||
## 前置要求
|
||
|
||
- [Node.js](https://nodejs.org/) 18+
|
||
- [Cloudflare 账号](https://dash.cloudflare.com/)(免费套餐即可)
|
||
- [GitHub App](https://github.com/settings/apps/new)(参见 [GitHub App 设置](/zh/guide/deployment#github-app-设置))
|
||
- Discord Bot Token(参见 [Discord Bot 设置](/zh/guide/deployment#discord-bot-设置))
|
||
|
||
## 安装
|
||
|
||
```bash
|
||
git clone https://github.com/ReCloudStudio/WebHooker.git
|
||
cd WebHooker
|
||
npm 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:8787
|
||
```
|
||
|
||
::: tip
|
||
`GITHUB_APP_ID` / `GITHUB_PRIVATE_KEY` 未被代码使用(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
|
||
npm run dev
|
||
```
|
||
|
||
这将在 `http://localhost:8787` 启动本地 Miniflare 环境。
|
||
|
||
### 3. 验证
|
||
|
||
```bash
|
||
curl http://localhost:8787/health
|
||
# → {"status":"ok"}
|
||
```
|
||
|
||
## 可用脚本
|
||
|
||
| 脚本 | 说明 |
|
||
| ---------------------- | ----------------------------- |
|
||
| `npm run dev` | 启动本地开发服务器 (wrangler) |
|
||
| `npm run deploy` | 部署到 Cloudflare |
|
||
| `npm run typecheck` | TypeScript 类型检查 |
|
||
| `npm run lint` | ESLint |
|
||
| `npm run lint:md` | Markdownlint |
|
||
| `npm run format` | 使用 Prettier 格式化 |
|
||
| `npm run format:check` | 检查 Prettier 格式 |
|
||
| `npm run docs:dev` | 启动文档开发服务器 |
|
||
| `npm run docs:build` | 构建文档站点 |
|