Skip to content

Configuration

Kana edited this page May 17, 2026 · 1 revision

环境变量说明

InboxBridge 默认从项目根目录的 .env 读取配置。Shell 环境变量优先级高于 .env,因此 PM2、托管平台或启动脚本可以覆盖项目文件中的值。

建议从示例文件开始:

cp .env.example .env
nano .env

Telegram

TELEGRAM_BOT_TOKEN

必填。BotFather 提供的 bot token。

TELEGRAM_BOT_TOKEN=你的_bot_token

不要提交到 Git,不要发给第三方。

TELEGRAM_MANAGEMENT_CHAT_ID

必填。私密 Forum 管理群 ID,通常是 -100 开头的数字。

TELEGRAM_MANAGEMENT_CHAT_ID=-1001234567890

填错时常见错误是 chat not found

TELEGRAM_UPDATE_MODE

更新接收模式:

TELEGRAM_UPDATE_MODE=polling

可选值:

  • polling:推荐默认值,不需要公网 HTTPS。
  • webhook:需要公网 HTTPS 地址,并配置 TELEGRAM_WEBHOOK_URL

TELEGRAM_WEBHOOK_URL

TELEGRAM_UPDATE_MODE=webhook 时必填。

TELEGRAM_WEBHOOK_URL=https://example.com/telegram/webhook

TELEGRAM_WEBHOOK_PORT

webhook HTTP 服务监听端口,默认 3000

TELEGRAM_WEBHOOK_PORT=3000

TELEGRAM_ADMIN_USER_IDS

必填。允许代发回复和执行管理命令的 Telegram 数字 user_id。

TELEGRAM_ADMIN_USER_IDS=123456789,987654321

注意:

  • 不是 @username
  • 不是群 ID。
  • 群管理员身份本身不等于 InboxBridge 管理员。

数据库

DATABASE_URL

SQLite 数据库路径,默认:

DATABASE_URL=file:./data/inboxbridge.sqlite

data/ 已被 Git 忽略。请自行备份该文件。

内容保留与会话销毁

MESSAGE_RETENTION_DAYS

消息内容保留天数。

MESSAGE_RETENTION_DAYS=30

它只清理数据库中保存的消息正文和 raw payload,不删除联系人、会话映射或 Topic。适合降低长期隐私风险。

DEFAULT_CONVERSATION_RETENTION_DAYS

新会话默认销毁时间。

DEFAULT_CONVERSATION_RETENTION_DAYS=30

可填:

  • 正整数:例如 73090,表示新会话创建后多少天自动销毁。
  • never:新会话默认不自动销毁。

会话销毁会同步删除 Telegram Forum Topic 和数据库中的该会话数据。单个会话可在 Topic 内用 /expire 覆盖:

/expire 7
/expire never

CONVERSATION_EXPIRY_SWEEP_INTERVAL_MINUTES

过期会话扫描间隔。

CONVERSATION_EXPIRY_SWEEP_INTERVAL_MINUTES=60

含义是:运行中的 bot 每隔多少分钟检查一次已经到期的会话。默认 60 表示大约每小时检查一次。

取值建议:

  • 15:更及时,但数据库和 Telegram API 调用更频繁。
  • 60:默认推荐值,适合大多数小规模自托管。
  • 360:更少扫描,适合不追求准点销毁的低频场景。

限流

RATE_LIMIT_WINDOW_SECONDS

限流窗口长度,默认 60 秒。

RATE_LIMIT_WINDOW_SECONDS=60

RATE_LIMIT_MAX_MESSAGES

单个外部用户在限流窗口内最多允许发送的消息数。

RATE_LIMIT_MAX_MESSAGES=20

默认含义是:同一用户 60 秒内最多 20 条消息。

AI 草稿

AI_DRAFTS_ENABLED

是否启用 AI 草稿。

AI_DRAFTS_ENABLED=true

设为 false 后,用户来信仍会正常进入 Topic,只是不生成 AI 草稿。

OPENAI_COMPATIBLE_BASE_URL

OpenAI-compatible Chat Completions 服务地址。

OPENAI_COMPATIBLE_BASE_URL=https://api.example.com/v1

OPENAI_COMPATIBLE_API_KEY

AI 服务 API key。不要提交到 Git。

OPENAI_COMPATIBLE_API_KEY=你的_api_key

OPENAI_COMPATIBLE_MODEL

模型名。

OPENAI_COMPATIBLE_MODEL=gpt-4.1-mini

AI_DRAFT_CONTEXT_LIMIT

生成草稿时读取最近多少条会话消息作为上下文,默认 20。

AI_DRAFT_CONTEXT_LIMIT=20

推荐模板

Serv00 / 本地自托管

TELEGRAM_UPDATE_MODE=polling
AI_DRAFTS_ENABLED=false
DATABASE_URL=file:./data/inboxbridge.sqlite

VPS webhook

TELEGRAM_UPDATE_MODE=webhook
TELEGRAM_WEBHOOK_URL=https://example.com/telegram/webhook
TELEGRAM_WEBHOOK_PORT=3000

webhook 模式需要额外处理反向代理、HTTPS 证书和进程常驻。