default.yaml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. # Pipeline default configuration
  2. #
  3. # Priority: CLI flags > this file > .env (for secrets/endpoints)
  4. branding:
  5. channelName: "知势·科技洞察"
  6. llm:
  7. # baseURL: set via OPENAI_BASE_URL in .env
  8. # apiKey: set via OPENAI_API_KEY in .env
  9. model: "glm-5.1"
  10. tts:
  11. provider: "openai-tts"
  12. speed: 1.0
  13. format: "mp3"
  14. # alignment:
  15. # provider: "whisper"
  16. # whisperModel: "base"
  17. # language: "zh"
  18. openai-tts:
  19. # apiKey: set via OPENAI_TTS_API_KEY in .env
  20. # baseURL: set via OPENAI_TTS_BASE_URL in .env
  21. model: "seed-tts-1.1"
  22. defaultVoice: "zh_female_vv_uranus_bigtts"
  23. fish-audio:
  24. # apiKey: set via FISH_AUDIO_API_KEY in .env
  25. model: "s2-pro"
  26. defaultVoice: ""
  27. minimax:
  28. # apiKey: set via MINIMAX_API_KEY in .env
  29. # groupId: set via MINIMAX_GROUP_ID in .env
  30. model: "speech-02-hd"
  31. defaultVoice: ""
  32. elevenlabs:
  33. # apiKey: set via ELEVENLABS_API_KEY in .env
  34. model: "eleven_multilingual_v2"
  35. defaultVoice: "21m00Tcm4TlvDq8ikWAM"
  36. render:
  37. fps: 30
  38. codec: "h264"
  39. output:
  40. dir: "./output"
  41. format: "mp4"
  42. # Auto-clean cached outputs older than this many days (0 disables). Default 30.
  43. # Override with the OUTPUT_RETENTION_DAYS env var.
  44. retentionDays: 30
  45. # Alibaba Cloud OSS — rendered videos are uploaded here and a resource URL is
  46. # returned. Non-sensitive values may live in this file; secrets (access keys)
  47. # belong in .env. Every field can be overridden by an OSS_* env var.
  48. oss:
  49. region: "oss-cn-hangzhou" # OSS_REGION
  50. bucket: "" # OSS_BUCKET
  51. accessKeyId: "" # OSS_ACCESS_KEY_ID (use .env)
  52. accessKeySecret: "" # OSS_ACCESS_KEY_SECRET (use .env)
  53. # endpoint: "" # custom endpoint, e.g. https://oss-cn-hangzhou.aliyuncs.com — OSS_ENDPOINT
  54. # path: "videos/" # object key prefix — OSS_PATH
  55. # publicDomain: "" # base URL for resource links (e.g. a CDN) — OSS_PUBLIC_DOMAIN
  56. # secure: true # use HTTPS — OSS_SECURE
  57. # Feishu (Lark) custom-bot webhook — push results / failures after each job.
  58. feishu:
  59. webhook: "" # FEISHU_WEBHOOK_URL (use .env)
  60. # secret: "" # signing secret — FEISHU_WEBHOOK_SECRET
  61. # Publish manifest — written as {video}.yaml next to each rendered MP4 with the
  62. # title/description/tags (LLM-produced for github-trending) plus the
  63. # platform-specific 分区/category defined here. Lookup: publishMeta[platform][template].
  64. # Only fill the combos you publish; missing combos just omit those keys.
  65. publishMeta:
  66. bilibili:
  67. github-trending:
  68. tid: 122 # 分区 id (122 = 科技→科普). Adjust to your target board.
  69. tags: ["GitHub", "开源", "热榜"]
  70. douyin-long:
  71. github-trending:
  72. category: "科技"
  73. tags: ["GitHub", "开源"]
  74. douyin-short:
  75. github-trending:
  76. category: "科技"
  77. tags: ["GitHub", "开源"]
  78. templates:
  79. news:
  80. primaryColor: "#1a56db"
  81. accentColor: "#dc2626"
  82. knowledge:
  83. primaryColor: "#0d9488"
  84. accentColor: "#6b7280"
  85. opinion:
  86. primaryColor: "#ea580c"
  87. accentColor: "#374151"
  88. marketing:
  89. primaryColor: "#9333ea"
  90. accentColor: "#ec4899"
  91. github-trending:
  92. primaryColor: "#22c55e"
  93. accentColor: "#3b82f6"
  94. collect:
  95. github-trending:
  96. url: "https://github.crawler.corp.shuidi.tech/api/trending"
  97. github-repo:
  98. url: "https://github.crawler.corp.shuidi.tech/api/repos/:owner/:repo"
  99. github-daily:
  100. trendingUrl: "https://github.crawler.corp.shuidi.tech/api/trending"
  101. repoUrl: "https://github.crawler.corp.shuidi.tech/api/repos/:owner/:repo"
  102. maxRepos: 5
  103. # 定时生成(容器内进程内调度)。Next.js 服务启动时(instrumentation 钩子)注册
  104. # 一个进程内调度器,到点 spawn CLI 渲染——复用与 WebUI/HTTP 完全相同的链路,
  105. # 任务同样进 jobs 列表、走 OSS/飞书发布。改配置后需重启容器生效。
  106. # cron — 5 字段 cron(分 时 日 月 周),按 TZ(默认 Asia/Shanghai=北京时间)
  107. # template — 渲染模板(news|knowledge|opinion|marketing|github-trending)
  108. # platform — 平台规格(bilibili|douyin-long|douyin-short|...),默认 bilibili
  109. # source — 采集源(如 github-trending);定时场景一般用 source 自动取数
  110. # publish — 是否上传 OSS + 推送飞书,默认 true
  111. # enabled — 是否启用该条,默认 true
  112. # 环境变量 SCHEDULES(JSON 数组,同结构)可整体覆盖(部署期改无需重建镜像);
  113. # SCHEDULER_ENABLED=false 关闭整个调度器。
  114. schedules:
  115. - cron: "50 7 * * *" # 北京时间每天 07:50
  116. template: "github-trending"
  117. platform: "bilibili"
  118. source: "github-trending" # 先采集当日 trending,再解析→渲染→发布
  119. publish: true
  120. enabled: true