站点配置
这里收录后台没有设置入口、需要部署者修改的参数。站点名称、图标、配色在后台「站点外观」中调整。
消息自动删除时间
MESSAGE_RETENTION_DAYS 控制消息保留天数,当前默认 15 天,按消息创建时间计算。填写正整数,例如 7、30。
GitHub Actions
- 打开 fork 的
Settings → Secrets and variables → Actions → Variables。 - 点击
New repository variable。 - Name 填
MESSAGE_RETENTION_DAYS,Value 填30,只填数字。 - 运行
Actions → 00 Deploy Worker → Run workflow,成功后生效。
这是普通 Variable,不是 Secret。后续更新会沿用这个值;未设置时使用 15 天。
Cloudflare 面板
打开 Workers & Pages → 你的 Worker → Settings → Variables and Secrets,将 MESSAGE_RETENTION_DAYS 设为 Text 类型,保存并部署。
使用 Actions 的站点还需设置上面的仓库变量,后续 Actions 部署会以仓库变量为准。
本地手动部署
修改实际部署的 wrangler.toml 中已有的 [vars]:
[vars]
MESSAGE_RETENTION_DAYS = "30"重新部署后生效。终端环境变量只供本地进程使用,部署值以 Wrangler 配置为准。
何时删除
每天约 UTC 19:00(北京时间次日 03:00)清理超过保留期的消息,附件核对引用后进入删除流程。积压会分批处理。
缩短天数会影响已有历史,删除后无法恢复。 0 无法关闭清理,Worker 会回退到默认天数,Actions 则拒绝部署该值。
从 2.17.2 起默认值为 15 天;显式配置的旧值(如 7)继续有效,修改配置后才会改变。
其他运行参数
| 参数 | 默认值 | 作用 |
|---|---|---|
MAX_FILE_SIZE | 20971520(20 MiB) | 单个上传文件的字节数上限 |
ALLOWED_FILE_TYPES | image/,video/,audio/,application/pdf,text/ | 逗号分隔的 MIME 前缀白名单 |
SITE_ORIGINS | 空 | 逗号分隔的本站 origin,用于识别旧站点图标的完整文件 URL |
SOFT_DELETE_RETENTION_DAYS | 60 | 已软删除用户、频道等记录的保留天数 |
ORPHAN_UPLOAD_RETENTION_DAYS | 1 | 无业务引用上传的保留天数 |
ADMIN_USERNAMES | admin | 注册时预留的用户名;账号创建见管理员初始化 |
这些参数目前不读取同名 GitHub Repository Variable:
- Actions 部署:修改 fork 的
wrangler.example.toml中已有的[vars],提交后运行部署。 - 手动部署:修改实际使用的
wrangler.toml,重新部署。 - 面板临时调整:设置 Worker 的 Text 变量并发布;下一次部署会恢复配置文件中的值。
附件类型示例见附件与存储。本站域名示例:
SITE_ORIGINS = "https://chat.example.com,https://chat-alt.example.com"填写协议和域名,不带路径。这项用于清理时识别历史图标引用;新保存的图标直接使用对象 key。
高级清理参数
这些值限制单次清理工作量,日常使用保持默认即可。修改入口与上表相同。
| 参数 | 默认值 | 含义 |
|---|---|---|
GC_BATCH_SIZE | 90 | 每批处理量 |
GC_MAX_BATCHES_PER_RUN | 20 | 最大处理轮数 |
GC_INTERNAL_OPERATION_BUDGET | 900 | D1 API 与 R2 内部操作合计预算 |
GC_D1_STATEMENT_BUDGET | 1200 | D1 SQL 语句预算 |
GC_R2_OPERATION_BUDGET | 300 | R2 操作预算 |
R2_DELETE_MAX_RETRY | 8 | R2 删除重试上限 |
当前 Cron 每 15 分钟运行,消息清理只在每日指定轮次执行。修改 Cron 表达式需同时核对 worker/src/index.js 的清理时间判断。