# ────────────────────────────────────────────────────────────────────── # dsh-douyin-whale 配置模板 # # 复制成 .env(该文件已被 .gitignore 排除)后按需取消注释。 # 所有变量都有内置默认值,这里列出的只是"可以改的那些"。 # scripting/run-http.sh 与 selfcheck.sh 会自动 source 仓库根目录的 .env; # DSH 插件本身不读 .env —— 它读的是 cordis.patch.yml 里的 config。 # ────────────────────────────────────────────────────────────────────── # ── 数据目录 ────────────────────────────────────────────────────────── # cookie、浏览器 profile、截图、日志、下载的成片都放这里。 # 默认 <仓库>/data。换成绝对路径也可以。 # DOUYIN_DATA_DIR=./data # ── Python 与浏览器 ─────────────────────────────────────────────────── # 装了 dy-cli + playwright 的解释器。默认用当前解释器 / 仓库内 .venv。 # DOUYIN_PYTHON=./.venv/bin/python # 浏览器可执行文件。留空则自动发现: # 项目内 bin/chromium → 系统 chromium/chrome → Playwright 自带 Chromium → Edge # Linux 上 `playwright install chromium` 之后通常不需要设这一项。 # DOUYIN_BROWSER=/usr/bin/chromium # 有头 / 无头。1 = headless,0 = 显示窗口(需要 DISPLAY)。 # 私信驱动默认 headless;bridge 登录窗口在无 X server 时自动降级为 headless。 # DOUYIN_HEADLESS=1 # cookie(Playwright storage_state)。默认 /home/.dy/cookies/default.json # 用 tools/export_login_state.py 在本地生成,再拷到服务器。 # DOUYIN_COOKIE_FILE=./data/home/.dy/cookies/default.json # ── dy-cli / 媒体工具 ───────────────────────────────────────────────── # 默认走 ` -m dy_cli.main`;如果你的环境装了 `dy` 脚本, # 可以显式指定它。 # DOUYIN_DY_BIN=/usr/local/bin/dy # 下载与抽帧用到的可执行文件,默认从 PATH 里找。 # DOUYIN_YTDLP=/usr/local/bin/yt-dlp # DOUYIN_FFMPEG=/usr/bin/ffmpeg # DOUYIN_FFPROBE=/usr/bin/ffprobe # 成片 / 帧缓存的目录与上限(MB)。超出会删最旧的。 # DOUYIN_MEDIA_DIR=./data/media # DOUYIN_CACHE_LIMIT_MB=800 # ── HTTP API ────────────────────────────────────────────────────────── # 只监听回环地址;不要随手暴露到公网。 # DOUYIN_HTTP_HOST=127.0.0.1 # DOUYIN_HTTP_PORT=7709 # ── 私信 / 群聊 ─────────────────────────────────────────────────────── # 🔴 真实发送总闸。默认 0 = 只做 dry-run(填框 + 截图 + 清空,不发出去)。 # 要真实发送必须是 1,并且调用时还要显式传 send=true。 # 改之前请读 README 的「风险」一节。 DOUYIN_IM_ALLOW_SEND=0 # 可选的第三道闸:允许发送的对象白名单(逗号分隔,昵称/群名要完全一致)。 # 留空 = 不启用。启用后,只有列表里的目标才可能真的收到消息。 # DOUYIN_IM_ALLOW_TO=我自己,家人群 # 私信驱动自己的数据目录(profile、截图、锁)。默认与 DOUYIN_DATA_DIR 相同。 # DOUYIN_IM_DATA_DIR=./data # 浏览器 headless 模式。HTTP API 默认 1(无窗口弹出); # 手动调试时设 0 可以看到浏览器操作过程。 # DOUYIN_HEADLESS=1 # 单次私信操作的超时(秒)与排队等锁上限(秒)。 # DOUYIN_IM_TIMEOUT=180 # DOUYIN_IM_LOCK_WAIT=5