runtime.env.example 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. # ad-put-agent 双服务统一生产运行配置
  2. # 复制为部署机 .env,填写真实密钥;本文件只保留安全默认值,不得写入真实凭证。
  3. # 基础运行
  4. TZ=Asia/Shanghai
  5. LOG_LEVEL=INFO
  6. # MySQL(两个服务共用)
  7. DB_HOST=
  8. DB_PORT=3306
  9. DB_USER=
  10. DB_PASSWORD=
  11. DB_NAME=auto_put_ad_mini
  12. DB_CONNECT_TIMEOUT=10
  13. DB_READ_TIMEOUT=30
  14. DB_WRITE_TIMEOUT=30
  15. # 腾讯广告 API
  16. TENCENT_AD_BASE_URL=https://api.e.qq.com/v3.0
  17. TENCENT_AD_TOKEN_API=https://api.piaoquantv.com/ad/put/tencent/getAccessToken
  18. TENCENT_AD_USER_TOKEN_API=https://api.piaoquantv.com/ad/put/tencent/getUserToken
  19. TENCENT_AD_ACCESS_TOKEN=
  20. TENCENT_AD_USER_TOKEN=
  21. TENCENT_AD_TIMEOUT_SECONDS=30
  22. TENCENT_AD_TOKEN_PREFETCH_WORKERS=8
  23. TENCENT_AD_ACCOUNT_SCAN_WORKERS=8
  24. TENCENT_AD_GET_RETRY_ATTEMPTS=3
  25. TENCENT_AD_GET_RETRY_BACKOFF_SECONDS=1
  26. # 仅作兼容默认账户;生产创建账户以飞书/数据库为准。
  27. TENCENT_AD_ACCOUNT_ID=
  28. TENCENT_AUDIENCE_SOURCE_ACCOUNT_ID=
  29. TENCENT_AUDIENCE_GRANT_BUSINESS_ID=
  30. # 飞书应用与生产群
  31. FEISHU_APP_ID=
  32. FEISHU_APP_SECRET=
  33. # 投放调控通知群;同时接收创意审核异常处理全量汇总。
  34. FEISHU_OPERATOR_CHAT_ID=
  35. FEISHU_OPERATOR_OPEN_ID=
  36. FEISHU_AD_PROJECT_CHAT_ID=
  37. # 广告审批、创意审批和创建执行汇报专用群;为空时回退运营审批群。
  38. FEISHU_CREATION_CHAT_ID=
  39. # ODPS
  40. ODPS_ACCESS_ID=
  41. ODPS_ACCESS_SECRET=
  42. ODPS_PROJECT=loghubods
  43. ODPS_ENDPOINT=http://service.odps.aliyun.com/api
  44. # 内容/素材/模型服务
  45. DATANEXUS_ACCESS_TOKEN=
  46. DATANEXUS_TOKEN_API=
  47. OPEN_ROUTER_API_KEY=
  48. # 兼容部分素材模块使用的无下划线变量名;生产可与上一项填同一值。
  49. OPENROUTER_API_KEY=
  50. OPENROUTER_IMAGE_MODEL=google/gemini-3-pro-image
  51. OPENROUTER_TEXT_MODEL=
  52. QWEN_API_KEY=
  53. # AI/外部派生图片与 OSS
  54. ALIYUN_OSS_ENDPOINT=
  55. ALIYUN_OSS_BUCKET=
  56. ALIYUN_OSS_ACCESS_KEY_ID=
  57. ALIYUN_OSS_ACCESS_KEY_SECRET=
  58. AI_IMAGE_OSS_PREFIX=auto_put_tencent/image
  59. AI_IMAGE_PUBLIC_BASE_URL=
  60. AI_IMAGE_ASPECT_RATIO=16:9
  61. AI_IMAGE_RESOLUTION=1K
  62. AI_IMAGE_OUTPUT_FORMAT=jpeg
  63. AI_IMAGE_TARGET_WIDTH=1280
  64. AI_IMAGE_TARGET_HEIGHT=720
  65. AI_IMAGE_USE_PATTERN_SELECTOR=1
  66. AI_IMAGE_PATTERN_TOP_K=1
  67. AI_IMAGE_PATTERN_PLACEMENT=WECHAT_OFFICIAL_ACCOUNTS
  68. PATTERN_SELECTOR_MIN_MODEL_SCORE=0.8
  69. AI_MATERIAL_REVIEW_MODEL=
  70. AI_COVER_COPY_REQUIRED=0
  71. AI_COVER_COPY_MAX_TOKENS=512
  72. AI_COVER_COPY_TITLE_MAX_LEN=30
  73. # 创建账户范围来自飞书每账户最新配置 + MySQL 白名单;不要在生产 env 固定单账户。
  74. WHITELIST_ENABLED=true
  75. WHITELIST_ACCOUNTS=
  76. EXECUTION_ENABLED=false
  77. TARGET_CREATIVES_PER_AD=8
  78. CREATION_APPROVAL_REQUIRED=true
  79. CREATION_APPROVAL_TIMEOUT_MINUTES=120
  80. CREATIVE_PREPARE_MAX_WORKERS=1
  81. CREATIVE_PREPARE_TASK_BUFFER=1
  82. MAX_SAME_LANDING_PER_AD_IN_RUN=1
  83. CREATION_RECOVERY_LOOKBACK_HOURS=24
  84. CREATIVE_MATERIAL_DEDUPE_LOOKBACK_DAYS=7
  85. CREATIVE_LANDING_DEDUPE_LOOKBACK_DAYS=7
  86. LANDING_EXCLUDED_CATEGORIES=早中晚好,祝福音乐,历史名人
  87. VIDEO_RISK_MAX_ALLOWED_LEVEL=5
  88. VIDEO_RISK_API_TIMEOUT_SECONDS=20
  89. RECALL_PARALLEL_MAX_WORKERS=4
  90. RECALL_QUERY_LIMIT_PER_VIDEO=4
  91. PIAOQUANTV_VIDEO_SOURCE=prior
  92. PIAOQUANTV_HOT_FALLBACK_SOURCE=hot
  93. PIAOQUANTV_VIDEO_TYPE=1
  94. PIAOQUANTV_VIDEO_MAX_PAGES=3
  95. VIDEO_RECALL_CROWD_PACKAGE_MAP={}
  96. VIDEO_RECALL_SOURCE_MAP={}
  97. EXTERNAL_RECALL_SOURCE_LABEL=外部合作
  98. EXTERNAL_RECALL_CANDIDATE_LIMIT=300
  99. EXTERNAL_RECALL_EDIT_LIMIT_PER_LANDING=3
  100. EXTERNAL_RECALL_UV_WINDOW_DAYS=90
  101. # ad-daily-service:创建 10:30、审核每 2 小时、拒审清理默认 11:00。所有开关默认关闭。
  102. DAILY_CREATION_ENABLED=0
  103. DAILY_CREATION_HOUR=10
  104. DAILY_CREATION_MINUTE=30
  105. DAILY_CREATION_MISFIRE_GRACE_SECONDS=3600
  106. DAILY_CREATION_LOCK_NAME=ad_daily_creation
  107. DAILY_REVIEW_ENABLED=0
  108. DAILY_REVIEW_INTERVAL_HOURS=2
  109. DAILY_REVIEW_LOCK_NAME=ad_creative_review_scan
  110. CREATIVE_REVIEW_LOOKBACK_HOURS=72
  111. CREATIVE_REVIEW_SCAN_LIMIT=1000
  112. CREATIVE_REVIEW_BATCH_SIZE=100
  113. DAILY_REJECTED_CREATIVE_CLEANUP_ENABLED=0
  114. DAILY_REJECTED_CREATIVE_APPLY_ENABLED=0
  115. # 同一清理任务内先执行审核异常,再执行长期未起量;已删除或审核已命中的创意不会重复判断。
  116. # 未起量范围取 ad_put_tencent_creative_day 最新 is_delete=0 创意;新素材累计指标含今日,
  117. # 老素材另查当日消耗;当日有消耗时不删除。
  118. # 账户名称及内部 Excel 代理商昵称取 ad_put_tencent_account 最新 is_delete=0 记录。
  119. # 未起量结果只单独通知 FEISHU_AD_PROJECT_CHAT_ID,绝不发代理群。
  120. DAILY_UNDERPERFORMING_CREATIVE_CLEANUP_ENABLED=0
  121. DAILY_UNDERPERFORMING_CREATIVE_APPLY_ENABLED=0
  122. DAILY_UNDERPERFORMING_CREATIVE_NEW_MIN_AGE_DAYS=5
  123. DAILY_UNDERPERFORMING_CREATIVE_NEW_MAX_AGE_DAYS=7
  124. DAILY_UNDERPERFORMING_CREATIVE_NEW_IMPRESSIONS_THRESHOLD=100
  125. DAILY_UNDERPERFORMING_CREATIVE_OLD_DAILY_IMPRESSIONS_THRESHOLD=100
  126. DAILY_UNDERPERFORMING_CREATIVE_WINDOW_DAYS=7
  127. # 全部创意判断结束后,再判断创建>5天、近3个完整日及当日消耗都为0的广告。
  128. # 广告扫描要求 DAILY_UNDERPERFORMING_CREATIVE_CLEANUP_ENABLED=1。
  129. DAILY_UNDERPERFORMING_AD_CLEANUP_ENABLED=0
  130. DAILY_UNDERPERFORMING_AD_APPLY_ENABLED=0
  131. DAILY_UNDERPERFORMING_AD_WINDOW_DAYS=3
  132. DAILY_UNDERPERFORMING_AD_MIN_AGE_DAYS=5
  133. # 大批量候选复用事务连接并按批次并发落库;小批量保留原逐条路径。
  134. DAILY_CLEANUP_CANDIDATE_BATCH_MIN_SIZE=20
  135. DAILY_CLEANUP_CANDIDATE_BATCH_SIZE=100
  136. DAILY_CLEANUP_CANDIDATE_STORE_WORKERS=4
  137. TENCENT_AD_AD_PROCESS_WORKERS=8
  138. DAILY_PARTIAL_CREATIVE_COST_THRESHOLD_YUAN=50
  139. DAILY_PARTIAL_CREATIVE_PROTECTION_DAYS=3
  140. DAILY_WECHAT_MINI_PROGRAM_CREATIVE_COST_THRESHOLD_YUAN=100
  141. DAILY_REJECTED_CREATIVE_CLEANUP_HOUR=11
  142. DAILY_REJECTED_CREATIVE_CLEANUP_MINUTE=0
  143. DAILY_REJECTED_CREATIVE_LOCK_NAME=ad_rejected_creative_cleanup
  144. DAILY_REJECTED_CREATIVE_MISFIRE_GRACE_SECONDS=3600
  145. DAILY_REJECTED_CREATIVE_RUN_ON_STARTUP=0
  146. DAILY_RUN_ON_STARTUP=0
  147. DAILY_REVIEW_RUN_ON_STARTUP=0
  148. DAILY_SYNC_DELIVERY_TEMPLATE=0
  149. # 日级 ROI:生产09:00开始检查,未就绪时每30分钟重试,18:00最后检查后截止。
  150. DAILY_ROI_ENABLED=0
  151. DAILY_ROI_HOUR=9
  152. DAILY_ROI_MINUTE=0
  153. DAILY_ROI_POLL_INTERVAL_MINUTES=30
  154. DAILY_ROI_POLL_CUTOFF_HOUR=18
  155. DAILY_ROI_POLL_CUTOFF_MINUTE=0
  156. DAILY_ROI_RUN_ON_STARTUP=0
  157. DAILY_ROI_MISFIRE_GRACE_SECONDS=3600
  158. DAILY_ROI_LOCK_NAME=ad_daily_roi
  159. ROI_APPLY_ENABLED=0
  160. ROI_SHEET_APPROVAL_ENABLED=0
  161. ROI_SHEET_APPROVAL_POLL_SECONDS=60
  162. ROI_APPROVAL_TTL_MINUTES=120
  163. ROI_FISSION_PARAMETER_VERSION=20260712_A0-A15_v2
  164. ROI_SCALE_RATIO=1.10
  165. ROI_SCALE_COOLDOWN_DAYS=3
  166. ROI_MAX_BASE_RATIO=2.00
  167. ROI_SELF_STOP_MIN_AGE=4
  168. ROI_SELF_STOP_COST_SOFT_LOWER_RATIO=0.045
  169. ROI_SELF_STOP_COST_TARGET_RATIO=0.05
  170. ROI_SELF_STOP_COST_SOFT_UPPER_RATIO=0.055
  171. ROI_SELF_STOP_COST_HARD_CAP_RATIO=0.06
  172. ROI_SELF_STOP_THREE_DAY_SHARE=0.60
  173. ROI_SELF_STOP_ONE_DAY_SHARE=0.40
  174. ROI_PARTNER_STOP_QUANTILE=0.20
  175. ROI_UP_QUANTILE=0.80
  176. ROI_OBSERVE_MIN_LATEST_UV=200
  177. ROI_ONE_DAY_MIN_UV=200
  178. ROI_ONE_DAY_HARD_STOP_ROI=0.20
  179. ROI_ONE_DAY_STOP_QUANTILE=0.10
  180. ROI_SELF_MIN_AVG_UV=200
  181. ROI_PARTNER_MIN_AVG_UV=200
  182. ROI_SELF_UP_MIN_AGE=3
  183. ROI_STOP_QUANTILE=0.20
  184. ROI_STOP_WEIGHT_CAP_QUANTILE=0.95
  185. ROI_FEISHU_CHAT_ID=
  186. ROI_FAILURE_FEISHU_CHAT_ID=
  187. # 清理任务阻断失败和删除失败独立通知使用同一位置;为空时按失败告警默认路由回退。
  188. CREATIVE_CLEANUP_FAILURE_FEISHU_CHAT_ID=
  189. # 逗号分隔、精确匹配;默认“小程序-自动化”只通知内部群。
  190. CREATIVE_CLEANUP_INTERNAL_ONLY_AGENCIES=小程序-自动化
  191. ROI_AGENCY_WEBHOOK_ENABLED=0
  192. ROI_AGENCY_WEBHOOKS_JSON={}
  193. # 独立 ROI 内部测试,默认关闭。
  194. ROI_INTERNAL_TEST_ENABLED=0
  195. ROI_INTERNAL_TEST_HOUR=15
  196. ROI_INTERNAL_TEST_MINUTE=30
  197. ROI_INTERNAL_TEST_DEDUP_ENABLED=1
  198. DAILY_ROI_INTERNAL_TEST_LOCK_NAME=ad_daily_roi
  199. ROI_INTERNAL_TEST_MISFIRE_GRACE_SECONDS=3600
  200. # ad-control-service:实时 CPM 与飞书命令。腾讯写操作默认关闭。
  201. RTC_START_HOUR=12
  202. RTC_STOP_HOUR=21
  203. RTC_POLL_SECONDS=600
  204. RTC_INVENTORY_REFRESH_MINUTES=60
  205. RTC_HIGH_CPM=250
  206. RTC_LOW_CPM=190
  207. RTC_BID_UP_RATIO=1.05
  208. RTC_MAX_PARTITION_LAG_HOURS=2
  209. RTC_DB_LOCK_NAME=tencent_realtime_control
  210. RTC_VERIFY_ATTEMPTS=3
  211. RTC_VERIFY_DELAY_SECONDS=1
  212. RTC_FEISHU_NOTIFY_ENABLED=1
  213. RTC_FEISHU_CHAT_ID=
  214. RTC_FEISHU_TIMEOUT_SECONDS=30
  215. RTC_APPLY_ENABLED=0
  216. RTC_COMMAND_ENABLED=1
  217. RTC_COMMAND_CHAT_ID=
  218. RTC_COMMAND_ALLOWED_OPEN_IDS=
  219. RTC_COMMAND_CONFIRM_TTL_MINUTES=10
  220. RTC_COMMAND_DRAFT_TTL_MINUTES=5
  221. RTC_COMMAND_WORKERS=2
  222. RTC_ACCOUNT_STATUS_QUERY_WORKERS=8
  223. RTC_COMMAND_NEXT_DELIVERY_HOUR=6
  224. RTC_NL_COMMAND_ENABLED=0
  225. RTC_COMMAND_LLM_MODEL=google/gemini-3-flash-preview
  226. RTC_COMMAND_LLM_TIMEOUT_SECONDS=20
  227. RTC_COMMAND_LLM_CONFIDENCE_THRESHOLD=0.85
  228. # 可选网络代理与 SLS 日志;为空时关闭。
  229. HTTP_PROXY=
  230. HTTPS_PROXY=
  231. SLS_ENDPOINT=
  232. SLS_PROJECT=
  233. SLS_LOGSTORE=
  234. SLS_ACCESS_KEY_ID=
  235. SLS_ACCESS_KEY_SECRET=