Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
64 lines (55 loc) · 2.36 KB
/
Copy path.env.example
File metadata and controls
64 lines (55 loc) · 2.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# ===== Run mode =====
# true = do NOT actually post/reply, just log what would be sent (recommended for first runs)
DRY_RUN=true
# ===== LLM (OpenAI-compatible endpoint) =====
# e.g. your cf-ai-proxy / any OpenAI-compatible gateway
OPENAI_BASE_URL=
OPENAI_API_KEY=
LLM_MODEL=gpt-4o-mini
# Reasoning models (DeepSeek V4.x etc.) burn the whole max_tokens budget on
# chain-of-thought and get truncated -> set false for short copywriting tasks.
# Set true (or drop the var) when you actually want reasoning traces.
LLM_THINKING=false
# Max chars for a single post (X needs <= 280, others allow more; keep it short & restrained)
POST_MAX_CHARS=280
# Max replies per day across all channels (restraint!)
REPLIES_PER_DAY=3
# ===== Sources =====
GITHUB_TOKEN= # optional, avoids low rate limits
SITE=https://electerm.org
RELEASES_REPO=electerm/electerm
BLOGS_REPO=electerm/electerm.org
# Only post about releases newer than this ISO date (safety belt so first run doesn't spam)
MIN_RELEASE_DATE=2026-10-01T00:00:00Z
# Cron time for the daily post (server local time), HH:MM
DAILY_POST_TIME=09:30
# How often to scan mentions for replies (minutes)
REPLY_SCAN_MINUTES=60
# Timezone for cron
TZ=Asia/Shanghai
# ===== Channel: Telegram =====
TELEGRAM_BOT_TOKEN=
TELEGRAM_CHANNEL_ID= # e.g. @electerm_news or numeric chat id
# ===== Channel: Bluesky =====
BLUESKY_IDENTIFIER= # e.g. electerm.bsky.social
BLUESKY_APP_PASSWORD=
# ===== Channel: Mastodon =====
MASTODON_API_URL= # e.g. https://mastodon.social
MASTODON_ACCESS_TOKEN=
# ===== Channel: X / Twitter =====
X_APP_KEY=
X_APP_SECRET=
X_ACCESS_TOKEN=
X_ACCESS_SECRET=
# ===== Channel: Facebook Page =====
# 完整步骤见 docs/facebook-setup.md
# 快捷方式:node scripts/fb-token.mjs --write (交互式换 token 并写回本文件)
FACEBOOK_PAGE_ID= # 纯数字 Page ID(不是个人账号 id,也不是主页用户名)
FACEBOOK_PAGE_TOKEN= # 长期有效的 Page Access Token(需 pages_manage_posts /
# pages_read_engagement / pages_manage_engagement)
FACEBOOK_APP_ID= # 可选:只给 scripts/fb-token.mjs --check 体检用
FACEBOOK_APP_SECRET= # 可选:同上,别提交进 git
# ===== Channel: 微博 =====
WEIBO_ACCESS_TOKEN= # 微博开放平台应用的 OAuth2 access_token(需创建网站接入应用审核通过)
# ===== State =====
DATA_DIR=./data