Skip to content

站点配置 ​

这里收录后台没有设置入口、需要部署者修改的参数。站点名称、图标、配色在后台「站点外观」中调整。

消息自动删除时间 ​

MESSAGE_RETENTION_DAYS 控制消息保留天数,当前默认 15 天,按消息创建时间计算。填写正整数,例如 7、30。

GitHub Actions ​

  1. 打开 fork 的 Settings → Secrets and variables → Actions → Variables。
  2. 点击 New repository variable。
  3. Name 填 MESSAGE_RETENTION_DAYS,Value 填 30,只填数字。
  4. 运行 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]:

toml
[vars]
MESSAGE_RETENTION_DAYS = "30"

重新部署后生效。终端环境变量只供本地进程使用,部署值以 Wrangler 配置为准。

何时删除 ​

每天约 UTC 19:00(北京时间次日 03:00)清理超过保留期的消息,附件核对引用后进入删除流程。积压会分批处理。

缩短天数会影响已有历史,删除后无法恢复。 0 无法关闭清理,Worker 会回退到默认天数,Actions 则拒绝部署该值。

从 2.17.2 起默认值为 15 天;显式配置的旧值(如 7)继续有效,修改配置后才会改变。

其他运行参数 ​

参数默认值作用
MAX_FILE_SIZE20971520(20 MiB)单个上传文件的字节数上限
ALLOWED_FILE_TYPESimage/,video/,audio/,application/pdf,text/逗号分隔的 MIME 前缀白名单
SITE_ORIGINS空逗号分隔的本站 origin,用于识别旧站点图标的完整文件 URL
SOFT_DELETE_RETENTION_DAYS60已软删除用户、频道等记录的保留天数
ORPHAN_UPLOAD_RETENTION_DAYS1无业务引用上传的保留天数
ADMIN_USERNAMESadmin注册时预留的用户名;账号创建见管理员初始化

这些参数目前不读取同名 GitHub Repository Variable:

  • Actions 部署:修改 fork 的 wrangler.example.toml 中已有的 [vars],提交后运行部署。
  • 手动部署:修改实际使用的 wrangler.toml,重新部署。
  • 面板临时调整:设置 Worker 的 Text 变量并发布;下一次部署会恢复配置文件中的值。

附件类型示例见附件与存储。本站域名示例:

toml
SITE_ORIGINS = "https://chat.example.com,https://chat-alt.example.com"

填写协议和域名,不带路径。这项用于清理时识别历史图标引用;新保存的图标直接使用对象 key。

高级清理参数 ​

这些值限制单次清理工作量,日常使用保持默认即可。修改入口与上表相同。

参数默认值含义
GC_BATCH_SIZE90每批处理量
GC_MAX_BATCHES_PER_RUN20最大处理轮数
GC_INTERNAL_OPERATION_BUDGET900D1 API 与 R2 内部操作合计预算
GC_D1_STATEMENT_BUDGET1200D1 SQL 语句预算
GC_R2_OPERATION_BUDGET300R2 操作预算
R2_DELETE_MAX_RETRY8R2 删除重试上限

当前 Cron 每 15 分钟运行,消息清理只在每日指定轮次执行。修改 Cron 表达式需同时核对 worker/src/index.js 的清理时间判断。

需要密钥的功能 ​

TURN 中继和服务端加密使用 Secrets,分别按对应教程配置。

基于 Cloudflare 构建 · 为自主部署而设计