Skip to content

环境变量参考 ​

以下配置来自项目的 .env.example、配置加载器和校验 Schema。表中的示例值以仓库自带 .env.example 为准。

服务与 HTTP ​

变量示例值说明
PORT6689HTTP 服务监听端口
HOST0.0.0.0HTTP 服务监听地址。默认监听所有网卡;只给本机或反向代理使用时设 127.0.0.1。CLI 的 --host 优先级高于本变量
ALLOWED_DOMAIN*CORS 允许的 Origin
REQUEST_TIMEOUT6000上游 HTTP 请求超时,单位毫秒
RSS_MODEfalse是否让热榜接口默认返回 RSS

缓存与数据库 ​

变量示例值说明
REDIS_HOST127.0.0.1Redis 主机
REDIS_PORT6379Redis 端口
REDIS_PASSWORD空Redis 密码
CACHE_TTL3600热榜缓存时间,单位秒
MONGODB_URImongodb://localhost:27017/daily-hot-apiMongoDB 连接字符串。NODE_ENV=production 时必填,缺失会启动失败;Docker 镜像和 ecosystem.config.cjs 都设置了 NODE_ENV=production

Redis 使用延迟连接,连接失败时不会阻止进程启动。历史热点和每日简报依赖 MongoDB 持久化。

热榜抓取与调度 ​

变量示例值说明
NOT_ALLOWED_REFRESH_SOURCEgithub,bilibili禁止客户端使用 noCache=true 强刷的来源
IGNORE_SAVE_SOURCESv2ex,...不写入历史数据库的来源,逗号分隔
SCHEDULER_AUTO_STARTfalse启动应用时是否自动启动热点调度器
SCHEDULER_CRON_EXPRESSION0 */12 * * *热点调度 Cron 表达式

每日简报 ​

变量示例值说明
BRIEF_ENABLEDfalse启动应用时是否启用简报调度
BRIEF_CRON_EXPRESSION0 12 * * *简报生成 Cron 表达式
BRIEF_TIMEZONEAsia/Shanghai简报日期和 Cron 时区
BRIEF_SOURCEScls,yicai,...参与简报的热榜来源,需在 source_configs 中处于启用状态
BRIEF_LOOKBACK_HOURS24历史热点回看窗口,单位小时
BRIEF_TOP_ITEMS_PER_SOURCE10每个来源最多参与分析的条目数
BRIEF_MAX_TOPICS12最多搜索增强的候选主题数,取值 1–12,上限由提示词预算决定
BRIEF_STOCK_RANKING_CACHE_TTL43200股票历史排名缓存秒数
BRIEF_GENERATING_TIMEOUT_MINUTES30生成尝试的过期阈值,单位分钟
BRIEF_SOURCE_CONCURRENCY3简报刷新源的最大并发数
BRIEF_SEARCH_CONCURRENCY3搜索增强的最大并发数
BRIEF_SEARCH_PROVIDERStavily,deepseek搜索平台优先级,逗号分隔;可选 tavily、deepseek,留空关闭搜索增强

AI 与搜索服务 ​

变量示例值说明
OPENAI_API_KEYskxxxOpenAI SDK 兼容服务的密钥
OPENAI_API_BASE_URLhttps://api.deepseek.comOpenAI 兼容 API Base URL
AI_MODELdeepseek-v4-flash简报生成模型名
TAVILY_API_KEYtvly-dev-xxxTavily Search API Key
TAVILY_MAX_RESULTS5每个搜索请求最多结果数
AI_TIMEOUT_MS120000单次 AI 请求超时,单位毫秒
AI_MAX_RETRIES2AI 客户端重试次数
TAVILY_TIMEOUT_MS10000单次 Tavily 请求超时,单位毫秒
DEEPSEEK_SEARCH_API_KEY空DeepSeek Search API Key;可使用与 DeepSeek 模型相同的 Key,需单独配置
DEEPSEEK_SEARCH_MAX_RESULTS5单次 DeepSeek 搜索结果数,取值 1–50
DEEPSEEK_SEARCH_TIMEOUT_MS10000单次 DeepSeek 搜索超时,单位毫秒

密钥安全

不要提交真实 API Key,也不要在日志、Issue、构建产物或前端代码中暴露密钥。GitHub Pages 只托管静态文档,不应注入任何服务端密钥。

CLI 专用变量 ​

以下变量只由 daily-hot-api 命令行工具读取,不参与应用配置校验:

变量示例值说明
DAILY_HOT_API_HOME~/.daily-hot-apiCLI 状态目录,保存运行状态和后台日志
DAILY_HOT_API_ENV_FILE/etc/daily-hot-api/prod.env显式指定 CLI 加载的 .env 文件,等价于 --config

PORT 同时被 CLI 和服务读取:CLI 用它在启动前检查端口占用,服务用它监听。CLI 默认读取当前工作目录的 .env,因此从哪个目录执行 daily-hot-api 会影响加载的配置。详见命令行工具。

修改配置 ​

默认值和校验规则只定义在 src/config/validation.schema.ts。configuration.ts 从这张 Schema 读取运行时配置。新增环境变量时同步修改:

  1. src/config/validation.schema.ts
  2. .env.example
  3. 本页对应配置表

仅供技术研究与开发测试使用