forked from sansan0/TrendRadar
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.yaml
More file actions
596 lines (502 loc) · 26.8 KB
/
config.yaml
File metadata and controls
596 lines (502 loc) · 26.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
# ═══════════════════════════════════════════════════════════════
# TrendRadar 配置文件
# Version: 2.2.0
# ═══════════════════════════════════════════════════════════════
# 可视化配置编辑器地址: https://sansan0.github.io/TrendRadar/
# ===============================================================
# 1. 基础设置
# ===============================================================
app:
# 时区配置(影响所有时间显示、调度系统判断、数据存储)
# 常用时区:
# - Asia/Shanghai (北京时间 UTC+8)
# - America/New_York (美东时间 UTC-5/-4)
# - Europe/London (伦敦时间 UTC+0/+1)
# 完整时区列表: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
timezone: "Asia/Shanghai"
show_version_update: true # 显示版本更新提示
# ===============================================================
# 1.5 调度系统 —— 什么时间做什么事
#
# 通过 timeline.yaml 里定义的时间段来自动决定:
# - 什么时候推送通知
# - 什么时候做 AI 分析
# - 用什么报告模式
#
# 快速上手:选一个预设模板,改 preset 的值就行
#
# always_on → 全天候,有新增即推送
# morning_evening → 全天推送 + 晚间当日汇总(推荐)
# office_hours → 工作日三段式(到岗→午间→收工),周末增量自由推
# night_owl → 午后速览 + 深夜全天汇总
# custom → 完全自定义,详见 timeline.yaml
#
# 详细时间线图请查看 config/timeline.yaml
# ===============================================================
schedule:
enabled: true # 是否启用调度系统
preset: "morning_evening" # 预设模板名称(见上方说明)
# ===============================================================
# 2. 数据源 - 热榜平台
#
# enabled: 是否启用热榜抓取(总开关)
# sources: 平台列表
# - id: 平台唯一标识(勿修改)
# - name: 显示名称(可自定义,修改后不影响运行)
# ===============================================================
platforms:
enabled: true # 是否启用热榜平台抓取
sources:
- id: "toutiao"
name: "今日头条"
- id: "baidu"
name: "百度热搜"
- id: "wallstreetcn-hot"
name: "华尔街见闻"
- id: "thepaper"
name: "澎湃新闻"
- id: "bilibili-hot-search"
name: "bilibili 热搜"
- id: "cls-hot"
name: "财联社热门"
- id: "ifeng"
name: "凤凰网"
- id: "tieba"
name: "贴吧"
- id: "weibo"
name: "微博"
- id: "douyin"
name: "抖音"
- id: "zhihu"
name: "知乎"
# ===============================================================
# 3. 数据源 - RSS 订阅
#
# 与热榜数据分开存储,按时间流展示
# 每个源配置:id(唯一标识)、name(显示名称)、url(订阅地址)
# enabled: 可选,默认 true
# max_age_days: 可选,覆盖全局 freshness_filter.max_age_days
# ===============================================================
rss:
enabled: true # 是否启用 RSS 抓取
# 文章新鲜度过滤配置(全局默认值)
# 过滤掉发布时间超过指定天数的旧文章,避免同一篇文章重复出现在推送中
#
# 过滤逻辑:
# - 文章发布时间距当前时间(app.timezone 时区)超过 N 天则不推送
# - 无发布时间的文章会被保留(不过滤)
#
# ⚠️ 过滤时机:在推送阶段过滤
# - 所有文章都会存入数据库(MCP Server 的 AI 查询仍可访问)
# - 只有新鲜的文章会被推送到通知渠道
freshness_filter:
enabled: true # 是否启用新鲜度过滤(默认启用)
max_age_days: 1 # 最大文章年龄(天)
# - 正整数:只推送 N 天内的文章
# - 0:禁用过滤,推送所有文章
# 单个 feed 可配置 max_age_days 覆盖全局设置:
# - 不配置:使用全局 freshness_filter.max_age_days(默认 3 天)
# - 正整数:覆盖全局设置,只推送此天数内的文章
# - 0:禁用此频道的新鲜度过滤,推送所有文章
feeds:
- id: "hacker-news"
name: "Hacker News"
url: "https://hnrss.org/frontpage"
- id: "ruanyifeng"
name: "阮一峰的网络日志"
url: "http://www.ruanyifeng.com/blog/atom.xml"
enabled: false # 禁用
# max_age_days: 3 # 示例:推送 3 天内的文章(更新较慢的博客)
- id: "yahoo-finance"
name: "雅虎财经"
url: "https://finance.yahoo.com/news/rssindex"
# 自定义源示例
# - id: "custom-feed"
# name: "自定义源"
# url: "https://example.com/feed.xml"
# enabled: false
# max_age_days: 0 # 示例:禁用过滤,推送所有文章
# ===============================================================
# 4. 报告模式
#
# 新手 5 行:
# 1) 先选 mode:daily(当日汇总) / current(当前榜单) / incremental(仅新增)
# 2) 再选 display_mode:keyword(按词/标签) / platform(按平台)
# 3) 如果你开了 schedule,这里的 mode 只是默认值,会被 timeline 时段覆盖
# 4) sort_by_position_first 只影响 keyword 模式排序
# 5) rank_threshold 和 max_news_per_keyword 只影响展示,不影响抓取
#
# 进阶说明:
# - daily:信息最全,但重复最多
# - current:适合盯当前热度
# - incremental:最少打扰,只看新增
# ===============================================================
report:
mode: "current" # daily | current | incremental(schedule 开启时作为默认值)
display_mode: "keyword" # 分组维度: keyword | platform
# keyword: 按关键词分组显示(默认)
# platform: 按平台/来源分组显示
# 关键词模式分组排序方式(仅 keyword 模式生效)
# true: 按 frequency_words.txt 的定义顺序排列
# false: 按匹配到的热点条数排序(条数多的在前)
sort_by_position_first: false
rank_threshold: 5 # 排名高亮阈值(影响展示强调,不改变抓取范围)
max_news_per_keyword: 0 # 每个关键词/标签最大显示数量(0=不限制,仅影响展示裁剪)
# ===============================================================
# 4.5 筛选策略
#
# 新手 5 行:
# 1) 先选 method:keyword(关键词)或 ai(兴趣分类)
# 2) keyword 模式:看 config/frequency_words.txt
# 3) ai 模式:看 config/ai_interests.txt + 下方 ai_filter 配置
# 4) priority_sort_enabled 只影响 ai 模式标签排序
# 5) 这里决定“筛选路径”,不决定 AI 模型(模型在 ai 段)
# ===============================================================
filter:
method: "ai" # 可选: keyword | ai
# AI 模式标签排序开关(仅 ai 模式生效)
# true: 按标签优先级排序(来自兴趣描述提取顺序)
# false: 按匹配条数排序(条数多的在前)
priority_sort_enabled: true
# ===============================================================
# 4.6 AI 智能筛选配置(当 filter.method=ai 时生效)
#
# 新手 5 行:
# 1) 先调 min_score(推荐 0.5~0.7)
# 2) 再调 reclassify_threshold(大改兴趣建议更低)
# 3) 批量参数只影响速度/限流,不影响分类逻辑
# 4) interests_file 不填就用 config/ai_interests.txt
# 5) prompt_file 系列属于进阶项,默认一般不用改
#
# 进阶说明:
# - min_score 越高,结果越“准”但会漏召回
# - reclassify_threshold 越低,越倾向全量重分类(更耗 token)
# - 模型配置统一在下方 ai 段
# ===============================================================
ai_filter:
batch_size: 200 # 每批发送给 AI 的标题数(控制单次 API 调用量)
# 新闻超过此数量时自动分批处理
batch_interval: 2 # 分批处理时,每批之间的等待时间(秒)
# 避免频繁调用 API 触发限流,设为 0 则不等待
min_score: 0.7 # 推送最低分数阈值(0.0 ~ 1.0)
# 0 = 不过滤;值越高越严格(推荐先用 0.5~0.7)
# 兴趣描述文件
# 默认使用 config/ai_interests.txt,无需在此配置
# 这里设置的是“全局默认”,可被 timeline.yaml 时段内的 interests_file 覆盖
# 如需使用自定义文件,将文件放入 config/custom/ai/ 目录,然后指定文件名:
# interests_file: "finance.txt" # → 加载 config/custom/ai/finance.txt
# 全量重分类触发阈值(0~1)
# change_ratio >= 此值:全量重分类;否则增量更新
# 0.0 最准确最费;1.0 最省但可能陈旧;0.6 是平衡点
reclassify_threshold: 0.6
# 以下提示词模板一般无需修改(不建议动)
# 分类提示词模板
prompt_file: "prompt.txt"
# 标签提取提示词模板(首次运行时使用)
extract_prompt_file: "extract_prompt.txt"
# 标签更新提示词模板(兴趣变更时 AI 对比新旧标签)
update_tags_prompt_file: "update_tags_prompt.txt"
# ===============================================================
# 5. 推送内容控制
#
# 统一管理推送消息中显示哪些区域及其排列顺序
# ===============================================================
display:
# 📋 区域显示顺序
# 列表从上到下的顺序 = 推送消息中从上到下的显示顺序
# 想调整顺序?直接剪切粘贴整行即可,例如把 ai_analysis 移到最前面:
# region_order:
# - ai_analysis ← 移到第一行,AI 分析就会显示在最顶部
# - new_items
# - hotlist
# - ...
# 注意:区域需同时满足两个条件才会显示:
# 1. 在此列表中
# 2. 下方 regions 中对应开关为 true
region_order:
- new_items # 1️⃣ 新增热点区域
- hotlist # 2️⃣ 热榜区域(关键词匹配 / AI 智能筛选)
- rss # 3️⃣ RSS 订阅区域
- standalone # 4️⃣ 独立展示区
- ai_analysis # 5️⃣ AI 分析区域
# 推送区域开关
# 控制各区域是否启用(配合 region_order 使用)
regions:
hotlist: true # 热榜区域(关键词匹配 / AI 智能筛选)
new_items: false # 新增热点区域(含热榜新增 + RSS 新增)
# 注:热点词汇统计中的新增标记🆕不受此配置影响
rss: true # RSS 订阅区域
# 开启后将对 RSS 进行关键词分析并在通知中展示
# 关闭后跳过分析,但独立展示区不受影响
standalone: false # 独立展示区(完整热榜/RSS,不受关键词过滤)
ai_analysis: true # AI 分析区域
# 📋 独立展示区配置
# 用途:将指定平台的完整热榜/RSS 数据独立提取,不受关键词过滤影响
# 两个独立用途:
# - 推送展示:由 regions.standalone 开关控制,在推送中单独展示完整热榜
# - AI 分析:由 ai_analysis.include_standalone 开关控制,将完整数据送入 AI 做深度分析
# 两者共享此处的平台/RSS 配置,但开关互相独立(可只开 AI 分析、不推送展示)
standalone:
platforms: ["zhihu", "wallstreetcn-hot"] # 热榜平台 ID 列表(如 ["zhihu", "weibo"])
rss_feeds: [] # RSS 源 ID 列表(如 ["hacker-news"])
max_items: 20 # 每个源最多展示条数(0=不限制)
# ===============================================================
# 6. 推送通知
#
# ⚠️ 重要安全警告 ⚠️
#
# 🔴 请务必妥善保管好 webhooks,不要公开!!!
# 🔴 如果你以 fork 的方式部署在 GitHub 上,请勿在此填写
# 🔴 而是将 webhooks 填入 GitHub Secrets
# (Settings → Secrets and variables → Actions)
# 🔴 否则:
# - 轻则:手机上收到大量垃圾广告推送
# - 重则:webhook 被滥用造成严重安全隐患
#
# 📌 多账号支持说明
#
# • 使用分号(;)分隔多个账号,如:"url1;url2;url3"
# • 需要配对的配置(如 Telegram 的 token 和 chat_id)数量必须一致
# • 每个渠道最多支持 max_accounts_per_channel 个账号
# • 邮箱已支持多收件人(逗号分隔)
#
# 新手建议:
# • 第一次先只配置 1 个渠道(建议 ntfy 或 telegram)验证通路
# • 跑通后再增加多渠道和多账号,排障成本最低
# ===============================================================
notification:
enabled: true # 是否启用通知功能(总开关)
# ⚠️ 开启调度系统后,此项仍为总开关:
# false → 永远不推送(无论调度怎么设置)
# true → 由调度的 push 字段控制何时推送
# 推送渠道配置
channels:
feishu:
webhook_url: "" # 飞书机器人 webhook URL
dingtalk:
webhook_url: "" # 钉钉机器人 webhook URL
wework:
webhook_url: "" # 企业微信机器人 webhook URL
msg_type: "markdown" # 消息类型:markdown(群机器人) | text(个人微信应用)
telegram:
bot_token: "" # Telegram Bot Token
chat_id: "" # Telegram Chat ID
email:
from: "" # 发件人邮箱地址
password: "" # 发件人邮箱密码或授权码
to: "" # 收件人邮箱,多个用逗号分隔
smtp_server: "" # SMTP 服务器(可选,留空自动识别)
smtp_port: "" # SMTP 端口(可选,留空自动识别)
ntfy:
server_url: "https://ntfy.sh" # ntfy 服务器地址(可改为自托管)
topic: "" # ntfy 主题名称
token: "" # ntfy 访问令牌(可选,用于私有主题)
bark:
url: "" # Bark 推送 URL(格式:https://api.day.app/your_device_key)
slack:
webhook_url: "" # Slack Incoming Webhook URL
generic_webhook:
webhook_url: "" # 通用 Webhook URL(支持 Discord、Matrix、IFTTT 等)
payload_template: "" # JSON 模板,支持 {title} 和 {content} 占位符
# 示例:{"content": "{content}"}
# 留空则使用默认格式:{"title": "{title}", "content": "{content}"}
# ===============================================================
# 7. 存储配置
# ===============================================================
storage:
# 存储后端选择
# - auto: 自动选择(GitHub Actions 且配置了远程存储 → remote,否则 → local)
# - local: 本地 SQLite + TXT/HTML 文件
# - remote: 远程云存储(S3 兼容协议,支持 R2/OSS/COS 等)
backend: "auto"
# 数据格式选项
formats:
sqlite: true # 主存储(必须启用)
txt: false # 是否生成 TXT 快照
html: true # 是否生成 HTML 报告(⚠️ 邮件推送或者需要看网页版报告必须设为 true)
# 本地存储配置
local:
data_dir: "output" # 数据目录
retention_days: 0 # 保留天数(0=永久保留)
# 远程存储配置(S3 兼容协议)
# 支持: Cloudflare R2, 阿里云 OSS, 腾讯云 COS, AWS S3, MinIO 等
# 建议将敏感信息配置在 GitHub Secrets 或环境变量中
remote:
retention_days: 0 # 保留天数(0=永久保留)
# S3 兼容配置(或使用环境变量 S3_ENDPOINT_URL 等)
endpoint_url: "" # 服务端点
# Cloudflare R2: https://<account_id>.r2.cloudflarestorage.com
# 阿里云 OSS: https://oss-cn-hangzhou.aliyuncs.com
# 腾讯云 COS: https://cos.ap-guangzhou.myqcloud.com
bucket_name: "" # 存储桶名称
access_key_id: "" # 访问密钥 ID
secret_access_key: "" # 访问密钥
region: "" # 区域(可选,部分服务商需要)
# 数据拉取配置(从远程同步到本地)
# 用于 MCP Server 等场景:爬虫存到远程,MCP 拉取到本地分析
pull:
enabled: false # 是否启用启动时自动拉取
days: 7 # 拉取最近 N 天的数据
# ===============================================================
# 8. AI 模型配置(共享)
#
# ai_analysis / ai_translation / ai_filter 共用此模型配置
# 基于 LiteLLM 统一接口,支持 100+ AI 提供商
# ===============================================================
ai:
# LiteLLM 模型格式: provider/model_name
# 示例:
# - deepseek/deepseek-chat (DeepSeek)
# - openai/gpt-4o (OpenAI)
# - gemini/gemini-2.5-flash (Google Gemini)
# - anthropic/claude-3-5-sonnet (Anthropic)
# - ollama/llama3 (本地 Ollama)
# 完整列表: https://docs.litellm.ai/docs/providers
# 如果你对于看英文文档比较头疼,那么可以点击页面右下角的 【Ask AI】 ,用中文询问怎么配置
model: "deepseek/deepseek-chat"
api_key: "" # API Key(建议使用环境变量 AI_API_KEY)
api_base: "" # 自定义 API 端点(可选,大多数情况留空)
# 示例: https://api.openai.com/v1(自建代理或兼容接口)
#
# 💡 超级重要:连接任意兼容 OpenAI 协议的模型商
# 如果你使用的模型商不在上述支持列表中,但提供了兼容 OpenAI 的接口:
#
# 1. api_base 填写: 服务商提供的接口地址
# 例如: https://api.example.com/v1
#
# 2. model 填写: "openai/" + 实际模型名称
# 例如: openai/deepseek-ai/DeepSeek-V3
# (原理:前缀 openai/ 强制 LiteLLM 使用 OpenAI 协议格式进行通信)
timeout: 120 # 请求超时(秒)
temperature: 1.0 # 采样温度 (0.0-2.0)
# 注意:部分模型(如 gpt-5)可能要求必须为 1.0,否则会报错
max_tokens: 5000 # 最大生成 token 数
# 注意:如果 API 不支持此参数(报 HTTP 400),请设为 0 以禁用发送
# 高级选项
num_retries: 1 # 失败重试次数
fallback_models: [] # 备用模型列表(可选)
# 示例: ["openai/gpt-4o-mini", "openai/deepseek-ai/DeepSeek-V3"]
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# 额外参数 (高级选项,一般无需修改)
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# LiteLLM 会自动将通用参数转换为各提供商格式,无需手动适配。
# 仅在需要传递特殊参数时启用此项。
#
# 提示:你可以根据模型 API 文档自行添加任何支持的字段。
# 操作:如需启用,请删掉该行最前方的 "# "(井号和空格)。
# 注意:如果这几行都带着井号,则代表不使用额外参数(推荐做法)。
# -------------------------------------------------------------
# extra_params:
# top_p: 1.0 # 核采样(通用)
# presence_penalty: 0.0 # 话题多样性(OpenAI/DeepSeek)
# stop: ["END"] # 停止词列表(通用)
# ===============================================================
# 9. AI 分析功能
#
# 使用 AI 大模型对推送内容进行深度分析
# 模型配置见上方 ai 配置段
# ===============================================================
ai_analysis:
enabled: true # 是否启用 AI 分析(总开关)
# ⚠️ 开启调度系统后,此项仍为总开关:
# false → 永远不分析(无论调度怎么设置)
# true → 由调度的 analyze 字段控制何时分析
# 分析报告输出语言
# 格式:自然语言描述
# 示例: "English", "Korean", "法语"
language: "Chinese"
# 提示词配置文件路径(相对于 config 目录)
prompt_file: "ai_analysis_prompt.txt"
# AI 分析模式(独立于推送报告模式)
# 可选值:
# - "follow_report": 跟随 report.mode 的设置(默认)
# - "daily": 强制使用当日汇总模式(分析当天所有新闻)
# - "current": 强制使用当前榜单模式(只分析当前在榜新闻)
# - "incremental": 强制使用增量模式(只分析新增新闻)
#
# 使用场景:
# - 推送 incremental(避免重复),AI 分析 current(看当前榜单变化)
# - 推送 current(实时热点),AI 分析 daily(全天总结)
#
mode: "follow_report"
# 分析内容配置
max_news_for_analysis: 150 # 热榜+RSS 合计参与分析的新闻数量上限(控制成本关键项)
# 热榜优先占用配额,RSS 使用剩余配额;独立展示区不受此限制
# 推送消息顶部会显示实际的 AI 分析数供参考
# api 成本估算 (仅供参考)
# 按默认模型(deepseek)
# max_news_for_analysis 为 【50】 条
# include_rank_timeline 为 【false】
# 则
# GitHub Action 部署默认推送约 20 次(每小时推送一次), 约 0.1 元/天
# Docker 部署默认推送 48 次(每半小时推送一次), 约 0.2 元/天
include_rss: false # 是否包含 RSS 内容进行分析
include_standalone: true # 是否将独立展示区数据纳入 AI 分析
# 数据源列表来自 display.standalone.platforms / display.standalone.rss_feeds
include_rank_timeline: true # 是否传递完整排名时间线
# false: 使用简化格式(排名范围+时间范围+出现次数)
# true: 传递完整排名变化轨迹(如 1(09:30)→2(10:00)→0(11:00))
# 启用后 AI 能更精确分析热度趋势,但会额外增加 token 消耗(0.5 倍到 1 倍)
# ===============================================================
# 10. AI 翻译功能
#
# 对推送内容进行多语言翻译,不包含 ai_analysis 分析的内容
# 模型配置见上方 ai 配置段
# ===============================================================
ai_translation:
enabled: true # 是否启用翻译功能
# 翻译目标语言
# 格式:自然语言描述
# 示例: "Chinese", "Korean", "法语"
language: "中文"
# 提示词配置文件路径(相对于 config 目录)
prompt_file: "ai_translation_prompt.txt"
# 翻译范围
# 控制哪些区域的标题会被翻译
# hotlist: 热榜标题 + 新增热点
# rss: RSS 统计 + RSS 新增
# standalone: 独立展示区(热榜平台 + RSS 源)
# 如果 display.regions 关闭了显示,那么这边即使开启了也不会翻译
scope:
hotlist: false # 热榜区域
rss: true # RSS 区域
standalone: true # 独立展示区
# ===============================================================
# 11. 高级设置(一般无需修改)
# ===============================================================
advanced:
# 调试模式
debug: false
# 版本检查
version_check_url: "https://raw.githubusercontent.com/sansan0/TrendRadar/refs/heads/master/version"
mcp_version_check_url: "https://raw.githubusercontent.com/sansan0/TrendRadar/refs/heads/master/version_mcp"
configs_version_check_url: "https://raw.githubusercontent.com/sansan0/TrendRadar/refs/heads/master/version_configs"
# 热榜爬虫技术参数
crawler:
request_interval: 2000 # 请求间隔(毫秒)
use_proxy: false # 是否启用代理
default_proxy: "http://127.0.0.1:10801"
# RSS 设置
rss:
request_interval: 1000 # 请求间隔(毫秒)
timeout: 15 # 请求超时(秒)
use_proxy: false # 是否使用代理
proxy_url: "" # RSS 专属代理(留空则使用 crawler.default_proxy)
# 排序权重(用于重新排序不同平台的热搜)
# 合起来等于 1
weight:
rank: 0.6 # 排名权重
frequency: 0.3 # 频次权重
hotness: 0.1 # 热度权重
# 多账号限制
max_accounts_per_channel: 3 # 每个渠道最大账号数量
# 以下为内部参数(一般无需修改)
# 消息分批大小(字节)- 内部配置,请勿修改
batch_size:
default: 4000
dingtalk: 20000
feishu: 30000
bark: 4000
slack: 4000
batch_send_interval: 3 # 批次发送间隔(秒)
feishu_message_separator: "━━━━━━━━━━━━━━━━"