.env.example 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388
  1. # 兼容本地开发的组件级样例。生产部署统一以仓库根目录 runtime.env.example 为准。
  2. # 不要在两个组件样例中分别维护生产配置。
  3. # ========================================
  4. # 本地日志与阿里云 SLS
  5. # ========================================
  6. LOG_LEVEL=INFO
  7. SLS_ENDPOINT=cn-hangzhou.log.aliyuncs.com
  8. SLS_ACCESS_KEY_ID=xxx
  9. SLS_ACCESS_KEY_SECRET=xxx
  10. SLS_PROJECT=auto-put-tecent
  11. D=info-log
  12. SLS_ERROR_LOGSTORE=error-log
  13. # SLS_INFO_LOGSTORE 未设置时的回退 logstore
  14. # SLS_LOGSTORE=info-log
  15. # SLS 上报最低日志级别,默认 INFO
  16. # SLS_LOG_LEVEL=INFO
  17. # SLS 批量上报最大条数,默认 1024
  18. # SLS_BATCH_SIZE_MAX=1024
  19. # SLS 批量上报等待间隔(毫秒),默认 2000
  20. # SLS_PUT_WAIT_MS=2000
  21. # ========================================
  22. # 腾讯广告 API 配置
  23. # ========================================
  24. TENCENT_AD_ACCOUNT_ID=80769799
  25. # Access Token(应用级认证)
  26. # TENCENT_AD_ACCESS_TOKEN=xxx # 可选,优先使用 Token API 动态获取
  27. # User Token(用户级实名认证令牌)
  28. # ⚠️ 重要:写操作(暂停广告/修改出价)必须配置 user_token
  29. # 获取方式:https://docs.qq.com/doc/DSVdkdk1LQ1hOam5n
  30. TENCENT_AD_USER_TOKEN=xxx
  31. # 可选,默认使用内部接口按 accountId 动态获取最新 user_token
  32. # TENCENT_AD_USER_TOKEN_API=https://api.piaoquantv.com/ad/put/tencent/getUserToken
  33. # TENCENT_AD_BASE_URL=https://api.e.qq.com/v3.0
  34. # ========================================
  35. # 创意搭建子系统(模块 B)
  36. # ========================================
  37. # 每广告目标创意数,默认 8
  38. TARGET_CREATIVES_PER_AD=8
  39. # 创意准备阶段并发数,默认 1(串行)
  40. # CREATIVE_PREPARE_MAX_WORKERS=1
  41. # 创意准备任务缓冲数,默认 16
  42. # CREATIVE_PREPARE_TASK_BUFFER=16
  43. # 是否走飞书审批流程,默认 true
  44. # CREATION_APPROVAL_REQUIRED=true
  45. # 飞书审批消息中是否嵌入素材预览图,默认 1
  46. # CREATION_APPROVAL_EMBED_IMAGES=1
  47. # 审批超时分钟数,默认 120
  48. CREATION_APPROVAL_TIMEOUT_MINUTES=120
  49. # 同一广告单次运行中最多使用同一落地页数,默认 1
  50. # MAX_SAME_LANDING_PER_AD_IN_RUN=1
  51. # 落地页品类排除列表(逗号分隔),默认排除常见品类
  52. # LANDING_EXCLUDED_CATEGORIES=早中晚好,祝福音乐,历史名人
  53. # 仅处理指定账户(逗号分隔),已废弃,请使用 --account-id CLI 参数
  54. # CREATION_ONLY_ACCOUNT_IDS=
  55. # 仅处理指定人群包(逗号分隔),为空=全部
  56. # CREATION_ONLY_CROWD_PACKAGES=
  57. # 跳过 Phase0(广告创建),仅执行后续步骤。调试用,默认 0
  58. # CREATION_SKIP_PHASE0=0
  59. # 素材去重回溯天数,默认 7
  60. # CREATIVE_MATERIAL_DEDUPE_LOOKBACK_DAYS=7
  61. # 落地页去重回溯天数,默认 7
  62. # CREATIVE_LANDING_DEDUPE_LOOKBACK_DAYS=7
  63. # 创建恢复回溯小时数,默认 24
  64. # CREATION_RECOVERY_LOOKBACK_HOURS=24
  65. # 统一生产服务
  66. DAILY_CREATION_ENABLED=0
  67. DAILY_CREATION_HOUR=10
  68. DAILY_CREATION_MINUTE=30
  69. DAILY_REVIEW_ENABLED=0
  70. DAILY_REVIEW_INTERVAL_HOURS=2
  71. DAILY_RUN_ON_STARTUP=0
  72. DAILY_REVIEW_RUN_ON_STARTUP=0
  73. DAILY_SYNC_DELIVERY_TEMPLATE=0
  74. # 日级 ROI 北极星指标与表格逐行审批。默认关闭,分阶段启用。
  75. DAILY_ROI_ENABLED=0
  76. DAILY_ROI_HOUR=11
  77. DAILY_ROI_MINUTE=0
  78. DAILY_ROI_RUN_ON_STARTUP=0
  79. # 每天15:30运行独立内部测试,只将“自动化投放”分表发送到“内部”Webhook,不进入腾讯审批执行。
  80. ROI_INTERNAL_TEST_ENABLED=0
  81. ROI_INTERNAL_TEST_HOUR=15
  82. ROI_INTERNAL_TEST_MINUTE=30
  83. # 生产默认去重;测试环境显式设0时每次触发使用独立测试批次。
  84. ROI_INTERNAL_TEST_DEDUP_ENABLED=1
  85. ROI_APPLY_ENABLED=0
  86. ROI_SHEET_APPROVAL_ENABLED=0
  87. ROI_SHEET_APPROVAL_POLL_SECONDS=60
  88. ROI_APPROVAL_TTL_MINUTES=120
  89. # 合格小程序创意三日ROI前20%且广告age>=3时生成扩量建议。
  90. ROI_SCALE_RATIO=1.10
  91. ROI_SCALE_COOLDOWN_DAYS=3
  92. ROI_MAX_BASE_RATIO=2.00
  93. # 小程序使用T-1实际成本5%软预算;公众号即转保留独立实体等权P20。
  94. ROI_SELF_STOP_MIN_AGE=4
  95. ROI_SELF_STOP_COST_SOFT_LOWER_RATIO=0.045
  96. ROI_SELF_STOP_COST_TARGET_RATIO=0.05
  97. ROI_SELF_STOP_COST_SOFT_UPPER_RATIO=0.055
  98. ROI_SELF_STOP_COST_HARD_CAP_RATIO=0.06
  99. ROI_SELF_STOP_THREE_DAY_SHARE=0.60
  100. ROI_SELF_STOP_ONE_DAY_SHARE=0.40
  101. ROI_PARTNER_STOP_QUANTILE=0.20
  102. ROI_UP_QUANTILE=0.80
  103. ROI_OBSERVE_MIN_LATEST_UV=200
  104. # 严格排除三日正式样本;剩余创意需同时满足UV>200、ROI<=0.20和实体等权P10。
  105. ROI_ONE_DAY_MIN_UV=200
  106. ROI_ONE_DAY_HARD_STOP_ROI=0.20
  107. ROI_ONE_DAY_STOP_QUANTILE=0.10
  108. ROI_FISSION_PARAMETER_VERSION=20260712_A0-A15_v2
  109. # ROI报表发送到此群;同时抄送 FEISHU_OPERATOR_CHAT_ID,重复ID自动去重。
  110. # 审批表链接为获得链接者可编辑,黄色审批列选择“批准”即自动执行。
  111. # 为空时依次复用 FEISHU_AD_PROJECT_CHAT_ID / RTC_COMMAND_CHAT_ID
  112. ROI_FEISHU_CHAT_ID=
  113. # 日级ROI定时任务失败告警群;为空时回退FEISHU_OPERATOR_CHAT_ID。
  114. ROI_FAILURE_FEISHU_CHAT_ID=
  115. # 代理表由飞书应用上传后,通过各代理自定义机器人发送在线表卡片。
  116. # 默认关闭;JSON 的 key 使用代理简称(如“棱镜”),“内部”为内部测试专用路由。
  117. ROI_AGENCY_WEBHOOK_ENABLED=0
  118. ROI_AGENCY_WEBHOOKS_JSON={}
  119. RTC_START_HOUR=12
  120. RTC_STOP_HOUR=21
  121. RTC_POLL_SECONDS=600
  122. RTC_HIGH_CPM=250
  123. RTC_LOW_CPM=190
  124. RTC_BID_UP_RATIO=1.05
  125. RTC_MAX_PARTITION_LAG_HOURS=2
  126. RTC_APPLY_ENABLED=0
  127. RTC_COMMAND_ENABLED=1
  128. RTC_COMMAND_CHAT_ID=
  129. RTC_COMMAND_ALLOWED_OPEN_IDS=
  130. RTC_COMMAND_CONFIRM_TTL_MINUTES=10
  131. RTC_COMMAND_WORKERS=2
  132. RTC_COMMAND_NEXT_DELIVERY_HOUR=6
  133. RTC_COMMAND_DRAFT_TTL_MINUTES=5
  134. RTC_NL_COMMAND_ENABLED=0
  135. RTC_COMMAND_LLM_MODEL=google/gemini-3-flash-preview
  136. RTC_COMMAND_LLM_TIMEOUT_SECONDS=20
  137. RTC_COMMAND_LLM_CONFIDENCE_THRESHOLD=0.85
  138. OPEN_ROUTER_API_KEY=
  139. # ========================================
  140. # 飞书 IM 审批配置
  141. # ========================================
  142. FEISHU_APP_ID=cli_xxx
  143. FEISHU_APP_SECRET=xxx
  144. # 运营审批群聊(需要审批回复的群)
  145. FEISHU_OPERATOR_OPEN_ID=ou_498988d823b61ab89c9afe4310f85bb4
  146. FEISHU_OPERATOR_CHAT_ID=oc_88e0a1970a7de02eb5ac225a8b0cedea
  147. # 广告审批、创意审批和创建执行汇报专用群;为空时回退运营审批群。
  148. FEISHU_CREATION_CHAT_ID=
  149. # 投放项目群聊(仅通知,不需审批)— 可选配置
  150. # 如何获取群聊ID:运行 python3 get_chat_id.py
  151. # FEISHU_AD_PROJECT_CHAT_ID=oc_xxxxxxxxxxxxxxxxxxxxxx
  152. # 飞书 IM 总开关(1=启用, 0=关闭所有飞书消息),默认 1
  153. # IM_ENABLED=1
  154. # ========================================
  155. # ODPS 数据平台配置
  156. # ========================================
  157. # ODPS_ACCESS_ID=xxx
  158. # ODPS_ACCESS_SECRET=xxx
  159. # ODPS_PROJECT=loghubods
  160. # ODPS 服务端点,默认 http://service.odps.aliyun.com/api
  161. # ODPS_ENDPOINT=http://service.odps.aliyun.com/api
  162. # Datanexus 数据平台(用于 TencentAD 数据查询)
  163. # DATANEXUS_ACCESS_TOKEN=
  164. # DATANEXUS_TOKEN_API=
  165. # ========================================
  166. # LLM / AI 模型配置
  167. # ========================================
  168. # QWEN_API_KEY=xxx
  169. # OPEN_ROUTER_API_KEY=xxx
  170. # OpenRouter 对话补全端点,默认 https://openrouter.ai/api/v1/chat/completions
  171. # OPENROUTER_CHAT_COMPLETIONS_URL=https://openrouter.ai/api/v1/chat/completions
  172. # OpenRouter 图片生成端点,默认 https://openrouter.ai/api/v1/images
  173. # OPENROUTER_IMAGES_URL=https://openrouter.ai/api/v1/images
  174. # AI 图片生成模型,默认 google/gemini-3.1-flash-image
  175. # OPENROUTER_IMAGE_MODEL=google/gemini-3.1-flash-image
  176. # AI 文本生成模型,默认 google/gemini-3-flash-preview
  177. # OPENROUTER_TEXT_MODEL=google/gemini-3-flash-preview
  178. # AI 素材审核模型,默认 google/gemini-3-flash-preview
  179. # AI_MATERIAL_REVIEW_MODEL=google/gemini-3-flash-preview
  180. # ========================================
  181. # AI 素材生成(图片 + 封面文案)
  182. # ========================================
  183. # 是否使用图案选择器(1=启用, 0=关闭),默认 1
  184. # AI_IMAGE_USE_PATTERN_SELECTOR=1
  185. # 图案选择器返回 Top K 结果,默认 1
  186. # AI_IMAGE_PATTERN_TOP_K=1
  187. # 图片生成版位,默认 WECHAT_OFFICIAL_ACCOUNTS
  188. # AI_IMAGE_PATTERN_PLACEMENT=WECHAT_OFFICIAL_ACCOUNTS
  189. # 是否生成封面文案(1=启用, 0=关闭),默认 1
  190. # AI_COVER_COPY_REQUIRED=1
  191. # 封面文案最大 token 数,默认 900
  192. # AI_COVER_COPY_MAX_TOKENS=900
  193. # 封面文案标题最大长度(字符),默认 22
  194. # AI_COVER_COPY_TITLE_MAX_LEN=22
  195. # OSS 上传路径前缀,默认 auto_put_tencent/image
  196. # AI_IMAGE_OSS_PREFIX=auto_put_tencent/image
  197. # 图片宽高比,默认 16:9
  198. # AI_IMAGE_ASPECT_RATIO=16:9
  199. # 图片分辨率,默认 1K
  200. # AI_IMAGE_RESOLUTION=1K
  201. # 图片输出格式,默认 jpeg
  202. # AI_IMAGE_OUTPUT_FORMAT=jpeg
  203. # 图片目标宽度(px),默认 1280
  204. # AI_IMAGE_TARGET_WIDTH=1280
  205. # 图片目标高度(px),默认 720
  206. # AI_IMAGE_TARGET_HEIGHT=720
  207. # 自定义图片生成 Prompt 模板路径(留空=使用内置模板)
  208. # AI_IMAGE_PROMPT_TEMPLATE_PATH=
  209. # 自定义内容安全 Prompt 模板路径(留空=使用内置模板)
  210. # AI_SANITIZE_PROMPT_TEMPLATE_PATH=
  211. # 自定义封面文案 Prompt 模板路径(留空=使用内置模板)
  212. # AI_COVER_COPY_PROMPT_TEMPLATE_PATH=
  213. # ========================================
  214. # 阿里云 OSS(AI 图片上传存储)
  215. # ========================================
  216. # ALIYUN_OSS_ENDPOINT=oss-cn-hangzhou.aliyuncs.com
  217. # ALIYUN_OSS_BUCKET=your-bucket
  218. # 也可用 AI_IMAGE_OSS_BUCKET 替代 ALIYUN_OSS_BUCKET
  219. # AI_IMAGE_OSS_BUCKET=your-bucket
  220. # ALIYUN_OSS_ACCESS_KEY_ID=xxx
  221. # ALIYUN_OSS_ACCESS_KEY_SECRET=xxx
  222. # OSS 公开访问基础 URL(用于生成图片外链)
  223. # AI_IMAGE_PUBLIC_BASE_URL=https://your-bucket.oss-cn-hangzhou.aliyuncs.com
  224. # 外部素材召回账户专用。飞书「素材来源」填”外部素材”或”外部素材召回”时生效。
  225. EXTERNAL_RECALL_SOURCE_LABEL=外部合作
  226. EXTERNAL_RECALL_CANDIDATE_LIMIT=300
  227. EXTERNAL_RECALL_EDIT_LIMIT_PER_LANDING=3
  228. EXTERNAL_RECALL_UV_WINDOW_DAYS=90
  229. # 默认复用 OPENROUTER_IMAGE_MODEL;可单独指定支持 input_references 的图片模型。
  230. # EXTERNAL_IMAGE_MODEL=google/gemini-3.1-flash-image
  231. # ========================================
  232. # 视频召回与风控
  233. # ========================================
  234. # 视频风控 API 地址
  235. # VIDEO_RISK_API_URL=https://longvideoapi.piaoquantv.com/longvideoapi/openapi/video/getVideoTagIds
  236. # 视频风控最大允许级别,默认 5(超过则拒绝)
  237. # VIDEO_RISK_MAX_ALLOWED_LEVEL=5
  238. # 视频风控 API 超时秒数,默认 10
  239. # VIDEO_RISK_API_TIMEOUT_SECONDS=10
  240. # 视频召回并发数,默认 4
  241. # RECALL_PARALLEL_MAX_WORKERS=4
  242. # 单视频召回查询上限,默认 12
  243. # RECALL_QUERY_LIMIT_PER_VIDEO=12
  244. # 飘泉 TV 登录手机号(素材召回用)
  245. # CONTENTPLATFORM_TEL_NUM=
  246. # 飘泉 TV 登录密码(素材召回用)
  247. # CONTENTPLATFORM_PASSWORD=
  248. # 飘泉 TV 静态 Token(可选,优先使用动态登录)
  249. # PIAOQUANTV_TOKEN=
  250. # 飘泉 TV 视频来源过滤
  251. # PIAOQUANTV_VIDEO_SOURCE=
  252. # 飘泉 TV 视频类型过滤
  253. # PIAOQUANTV_VIDEO_TYPE=
  254. # 热门素材兜底开关(1=启用,召回量不足时自动回退热门源),默认 1
  255. # PIAOQUANTV_HOT_FALLBACK_ENABLED=1
  256. # 热门素材兜底来源标签,默认 hot
  257. # PIAOQUANTV_HOT_FALLBACK_SOURCE=hot
  258. # 飘泉 TV 视频最大页数,默认 3
  259. # PIAOQUANTV_VIDEO_MAX_PAGES=3
  260. # 落地计划保存接口地址
  261. # PIAOQUANTV_XCX_SAVE_URL=https://tp-open.piaoquantv.com/contentPlatform/plan/xcx/save
  262. # 视频向量检索服务地址
  263. # VECTOR_BASE_URL=https://api-internal.piaoquantv.com/videoVector
  264. # 人群包→素材来源映射(JSON),为空时使用内置默认值
  265. # VIDEO_RECALL_CROWD_PACKAGE_MAP=
  266. # 素材来源标签映射(JSON),为空时使用内置默认值
  267. # VIDEO_RECALL_SOURCE_MAP=
  268. # ========================================
  269. # 创意审核扫描
  270. # ========================================
  271. # 审核扫描回溯小时数,默认 72
  272. # CREATIVE_REVIEW_LOOKBACK_HOURS=72
  273. # 审核扫描单次上限,默认 1000
  274. # CREATIVE_REVIEW_SCAN_LIMIT=1000
  275. # 审核扫描批次大小,默认 100
  276. # CREATIVE_REVIEW_BATCH_SIZE=100
  277. # ========================================
  278. # 数据库配置(MySQL)
  279. # ========================================
  280. DB_HOST=localhost
  281. DB_PORT=3306
  282. DB_USER=ad_rw
  283. DB_PASSWORD=your_password
  284. DB_NAME=auto_put_ad_mini
  285. # 数据库连接超时秒数,默认 10
  286. # DB_CONNECT_TIMEOUT=10
  287. # 数据库读超时秒数,默认 60
  288. # DB_READ_TIMEOUT=60
  289. # 数据库写超时秒数,默认 60
  290. # DB_WRITE_TIMEOUT=60
  291. # ========================================
  292. # 生产环境配置(海外部署)
  293. # ========================================
  294. # 白名单账户(逗号分隔)
  295. # 注意:优先从数据库读取,数据库不可用时降级到环境变量
  296. WHITELIST_ENABLED=true
  297. WHITELIST_ACCOUNTS=80769799,71305011
  298. # 代理配置(海外访问腾讯 API)
  299. # HTTP_PROXY=http://proxy-server:port
  300. # HTTPS_PROXY=http://proxy-server:port
  301. # 时区配置(默认 UTC,可选 Asia/Shanghai)
  302. TZ=UTC
  303. # 执行开关(生产环境谨慎开启)
  304. # 注意:优先从数据库读取,数据库不可用时降级到环境变量
  305. EXECUTION_ENABLED=false
  306. # API 端点(可选覆盖)
  307. # TENCENT_AD_BASE_URL=https://api.e.qq.com/v3.0
  308. # APScheduler 定时调度(使用 server.py 时)
  309. # CRON_SCHEDULE=0 2 * * * # 每天凌晨2点UTC
  310. # RUN_ON_STARTUP=false # 启动时是否立即执行
  311. # PORT=8080 # FastAPI 服务端口
  312. # ========================================
  313. # 高级配置(通常无需修改)
  314. # ========================================
  315. # -- 腾讯广告 AccessToken 动态获取 API --
  316. # 默认 https://api.piaoquantv.com/ad/put/tencent/getAccessToken
  317. # TENCENT_AD_TOKEN_API=https://api.piaoquantv.com/ad/put/tencent/getAccessToken
  318. # -- ROI 策略补充参数 --
  319. # 自投提价最小广告天数,默认 3
  320. # ROI_SELF_UP_MIN_AGE=3
  321. # 自投最小日均 UV,默认 200(也支持旧名 ROI_SELF_MIN_AVG_UV)
  322. # ROI_SELF_MIN_DAILY_UV=200
  323. # 代投最小日均 UV,默认 200(也支持旧名 ROI_PARTNER_MIN_AVG_UV)
  324. # ROI_PARTNER_MIN_DAILY_UV=200
  325. # 关停分位数(ROI_PARTNER_STOP_QUANTILE 的回退值),默认 0.20
  326. # ROI_STOP_QUANTILE=0.20
  327. # 关停权重上限分位数,默认 0.95
  328. # ROI_STOP_WEIGHT_CAP_QUANTILE=0.95
  329. # 素材策略学习 - 模型最低评分阈值,默认 75
  330. # PATTERN_SELECTOR_MIN_MODEL_SCORE=75
  331. # ROI 参数发布者标识,默认取系统 USER 环境变量
  332. # ROI_PARAMETER_PUBLISHED_BY=
  333. # -- 定时任务调度锁(多实例互斥) --
  334. # 每日创建任务锁名,默认 ad_daily_creation
  335. # DAILY_CREATION_LOCK_NAME=ad_daily_creation
  336. # 每日创建 misfire 容忍秒数,默认 3600
  337. # DAILY_CREATION_MISFIRE_GRACE_SECONDS=3600
  338. # 每日审核扫描锁名,默认 ad_creative_review_scan
  339. # DAILY_REVIEW_LOCK_NAME=ad_creative_review_scan
  340. # 每日 ROI 任务锁名,默认 ad_daily_roi
  341. # DAILY_ROI_LOCK_NAME=ad_daily_roi
  342. # 每日 ROI misfire 容忍秒数,默认 3600
  343. # DAILY_ROI_MISFIRE_GRACE_SECONDS=3600
  344. # 每日 ROI 内部测试锁名,默认 ad_daily_roi
  345. # DAILY_ROI_INTERNAL_TEST_LOCK_NAME=ad_daily_roi
  346. # ROI 内部测试 misfire 容忍秒数,默认 3600
  347. # ROI_INTERNAL_TEST_MISFIRE_GRACE_SECONDS=3600
  348. # 实时调控 DB 锁名,默认 tencent_realtime_control
  349. # RTC_DB_LOCK_NAME=tencent_realtime_control
  350. # -- 人群包授权 --
  351. # 人群包来源账户 ID,默认 55615440
  352. # TENCENT_AUDIENCE_SOURCE_ACCOUNT_ID=55615440
  353. # 人群包授权业务 ID,默认 0
  354. # TENCENT_AUDIENCE_GRANT_BUSINESS_ID=0