Merge: 合并远程仓库更新,采纳远程版本选择

This commit is contained in:
arch3rPro
2026-01-07 16:26:03 +08:00
28 changed files with 1047 additions and 3 deletions
+2 -2
View File
@@ -1041,7 +1041,7 @@ services:
- ssrf_proxy_network
- default
worker:
image: langgenius/dify-api:1.11.1
image: langgenius/dify-api:1.11.2
env_file:
- dify.env
restart: always
@@ -1570,7 +1570,7 @@ services:
- ssrf_proxy_network
- default
web:
image: langgenius/dify-web:1.11.1
image: langgenius/dify-web:1.11.2
container_name: ${CONTAINER_NAME}
env_file:
- dify.env
+7
View File
@@ -7,6 +7,7 @@ additionalProperties:
required: true
rule: paramPort
type: number
edit: true
label:
en: Web Port
zh: HTTP 端口
@@ -17,6 +18,7 @@ additionalProperties:
required: true
rule: paramCommon
type: text
edit: true
label:
en: Database
zh: 数据库名
@@ -28,6 +30,7 @@ additionalProperties:
required: true
rule: paramCommon
type: text
edit: true
label:
en: User
zh: 数据库用户
@@ -39,6 +42,7 @@ additionalProperties:
required: true
rule: paramComplexity
type: password
edit: true
label:
en: Password
zh: 数据库用户密码
@@ -48,6 +52,7 @@ additionalProperties:
labelZh: 应用访问地址
required: true
type: text
edit: true
label:
en: Application URL
zh: 应用访问地址
@@ -57,6 +62,7 @@ additionalProperties:
labelZh: 公共应用访问地址
required: true
type: text
edit: true
label:
en: Public Application URL
zh: 公共应用访问地址
@@ -68,6 +74,7 @@ additionalProperties:
required: true
rule: paramComplexity
type: password
edit: true
label:
en: Auth Secret
zh: 认证密钥
+7
View File
@@ -7,6 +7,7 @@ additionalProperties:
required: true
rule: paramPort
type: number
edit: true
label:
en: Web Port
zh: HTTP 端口
@@ -17,6 +18,7 @@ additionalProperties:
required: true
rule: paramCommon
type: text
edit: true
label:
en: Database
zh: 数据库名
@@ -28,6 +30,7 @@ additionalProperties:
required: true
rule: paramCommon
type: text
edit: true
label:
en: User
zh: 数据库用户
@@ -39,6 +42,7 @@ additionalProperties:
required: true
rule: paramComplexity
type: password
edit: true
label:
en: Password
zh: 数据库用户密码
@@ -48,6 +52,7 @@ additionalProperties:
labelZh: 应用访问地址
required: true
type: text
edit: true
label:
en: Application URL
zh: 应用访问地址
@@ -57,6 +62,7 @@ additionalProperties:
labelZh: 公共应用访问地址
required: true
type: text
edit: true
label:
en: Public Application URL
zh: 公共应用访问地址
@@ -68,6 +74,7 @@ additionalProperties:
required: true
rule: paramComplexity
type: password
edit: true
label:
en: Auth Secret
zh: 认证密钥
@@ -1,6 +1,10 @@
services:
n8n:
<<<<<<<< HEAD:apps/n8n-zh/2.3.0/docker-compose.yml
image: n8nio/n8n:2.3.0
========
image: n8nio/n8n:2.2.2
>>>>>>>> 8e6cc572050a5c9325ed5d40b27a804e3b5f4032:apps/n8n-zh/2.2.2/docker-compose.yml
container_name: ${CONTAINER_NAME}
restart: always
user: 1000:1000
@@ -1,6 +1,10 @@
services:
new-api:
<<<<<<<< HEAD:apps/new-api/0.10.5/docker-compose.yml
image: calciumion/new-api:v0.10.5
========
image: calciumion/new-api:v0.10.4
>>>>>>>> 8e6cc572050a5c9325ed5d40b27a804e3b5f4032:apps/new-api/0.10.3/docker-compose.yml
container_name: ${CONTAINER_NAME}
restart: always
ports:
@@ -1,6 +1,6 @@
services:
new-api:
image: calciumion/new-api:v0.10.0
image: calciumion/new-api:v0.10.4
container_name: ${CONTAINER_NAME}
restart: always
ports:
@@ -5,7 +5,11 @@ services:
networks:
1panel-network:
ipv4_address: ${SUBNET_PREFIX}.234
<<<<<<<< HEAD:apps/safeline/9.3.1/docker-compose.yml
image: chaitin/safeline-mgt:9.3.1
========
image: chaitin/safeline-mgt:9.3.0
>>>>>>>> 8e6cc572050a5c9325ed5d40b27a804e3b5f4032:apps/safeline/9.3.0/docker-compose.yml
volumes:
- /etc/localtime:/etc/localtime:ro
- ${SAFELINE_DIR}/resources/mgt:/app/data
@@ -33,7 +37,11 @@ services:
networks:
1panel-network:
ipv4_address: ${SUBNET_PREFIX}.235
<<<<<<<< HEAD:apps/safeline/9.3.1/docker-compose.yml
image: chaitin/safeline-detector:9.2.9
========
image: chaitin/safeline-detector:9.3.0
>>>>>>>> 8e6cc572050a5c9325ed5d40b27a804e3b5f4032:apps/safeline/9.3.0/docker-compose.yml
volumes:
- ${SAFELINE_DIR}/resources/detector:/resources/detector
- ${SAFELINE_DIR}/logs/detector:/logs/detector
@@ -45,7 +53,11 @@ services:
safeline-tengine:
container_name: ${CONTAINER_NAME}-tengine
restart: always
<<<<<<<< HEAD:apps/safeline/9.3.1/docker-compose.yml
image: chaitin/safeline-tengine:9.2.9
========
image: chaitin/safeline-tengine:9.3.0
>>>>>>>> 8e6cc572050a5c9325ed5d40b27a804e3b5f4032:apps/safeline/9.3.0/docker-compose.yml
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/resolv.conf:/etc/resolv.conf:ro
@@ -69,7 +81,11 @@ services:
networks:
1panel-network:
ipv4_address: ${SUBNET_PREFIX}.237
<<<<<<<< HEAD:apps/safeline/9.3.1/docker-compose.yml
image: chaitin/safeline-luigi:9.2.9
========
image: chaitin/safeline-luigi:9.3.0
>>>>>>>> 8e6cc572050a5c9325ed5d40b27a804e3b5f4032:apps/safeline/9.3.0/docker-compose.yml
volumes:
- /etc/localtime:/etc/localtime:ro
- ${SAFELINE_DIR}/resources/luigi:/app/data
@@ -90,7 +106,11 @@ services:
networks:
1panel-network:
ipv4_address: ${SUBNET_PREFIX}.238
<<<<<<<< HEAD:apps/safeline/9.3.1/docker-compose.yml
image: chaitin/safeline-fvm:9.2.9
========
image: chaitin/safeline-fvm:9.3.0
>>>>>>>> 8e6cc572050a5c9325ed5d40b27a804e3b5f4032:apps/safeline/9.3.0/docker-compose.yml
volumes:
- /etc/localtime:/etc/localtime:ro
logging:
@@ -126,7 +146,11 @@ services:
networks:
1panel-network:
ipv4_address: ${SUBNET_PREFIX}.240
<<<<<<<< HEAD:apps/safeline/9.3.1/docker-compose.yml
image: chaitin/safeline-chaos:9.2.9
========
image: chaitin/safeline-chaos:9.3.0
>>>>>>>> 8e6cc572050a5c9325ed5d40b27a804e3b5f4032:apps/safeline/9.3.0/docker-compose.yml
logging:
options:
max-size: 100m
+187
View File
@@ -0,0 +1,187 @@
app:
version_check_url: "https://raw.githubusercontent.com/sansan0/TrendRadar/refs/heads/master/version"
show_version_update: true # 控制显示版本更新提示,如果 false,则不接受新版本提示
# 时区配置(影响所有时间显示、推送窗口判断、数据存储)
# 常用时区:
# - 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"
# 存储配置
storage:
# 存储后端选择: local / remote / auto
# - local: 本地 SQLite + TXT/HTML 文件
# - remote: 远程云存储(S3 兼容协议,支持 R2/OSS/COS 等)
# - auto: 自动选择(GitHub Actions 环境且配置了远程存储则用 remote,否则用 local
backend: "auto"
# 数据格式选项
formats:
sqlite: true # 主存储(必须启用)
txt: false # 是否生成 TXT 快照
html: false # 是否生成 HTML 报告(⚠️ 邮件推送必须设为 true,否则会报错)
# 本地存储配置
local:
data_dir: "output" # 数据目录
retention_days: 0 # 本地数据保留天数(0 = 不清理)
# 远程存储配置(S3 兼容协议)
# 支持: Cloudflare R2, 阿里云 OSS, 腾讯云 COS, AWS S3, MinIO 等
# 建议将敏感信息配置在 GitHub Secrets 或环境变量中
remote:
# 数据保留天数(0 = 不清理远程数据)
retention_days: 0
# S3 兼容配置
endpoint_url: "" # 服务端点(或环境变量 S3_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: "" # 存储桶名称(或环境变量 S3_BUCKET_NAME
access_key_id: "" # 访问密钥 ID(或环境变量 S3_ACCESS_KEY_ID
secret_access_key: "" # 访问密钥(或环境变量 S3_SECRET_ACCESS_KEY
region: "" # 区域(可选,部分服务商需要,或环境变量 S3_REGION)
# 数据拉取配置(从远程同步到本地)
# 用于 MCP Server 等场景:爬虫存到远程,MCP 拉取到本地分析
pull:
enabled: false # 是否启用启动时自动拉取
days: 7 # 拉取最近 N 天的数据(0 = 不拉取)
crawler:
request_interval: 1000 # 请求间隔(毫秒)
enable_crawler: true # 是否启用爬取新闻功能,如果 false,则直接停止程序
use_proxy: false # 是否启用代理,false 时为关闭
default_proxy: "http://127.0.0.1:10801"
# 🔸 daily(当日汇总模式)
# • 推送时机:按时推送(默认每小时推送一次)
# • 显示内容:当日所有匹配新闻 + 新增新闻区域
# • 适用场景:日报总结、全面了解当日热点趋势
#
# 🔸 current(当前榜单模式)
# • 推送时机:按时推送(默认每小时推送一次)
# • 显示内容:当前榜单匹配新闻 + 新增新闻区域
# • 适用场景:实时热点追踪、了解当前最火的内容
#
# 🔸 incremental(增量监控模式)
# • 推送时机:有新增才推送
# • 显示内容:新出现的匹配频率词新闻
# • 适用场景:避免重复信息干扰
# 推送模式选择
report:
mode: "daily" # 可选: "daily"|"incremental"|"current"
rank_threshold: 5 # 排名高亮阈值
sort_by_position_first: false # 排序优先级:true=先按配置位置排序,false=先按热点条数排序
max_news_per_keyword: 0 # 每个关键词最大显示数量,0=不限制
reverse_content_order: false # 内容顺序:false=热点词汇统计在前,true=新增热点新闻在前
notification:
enable_notification: true # 是否启用通知功能,如果 false,则不发送手机通知
message_batch_size: 4000 # 消息分批大小(字节)(这个配置别动)
dingtalk_batch_size: 20000 # 钉钉消息分批大小(字节)(这个配置也别动)
feishu_batch_size: 30000 # 飞书消息分批大小(字节)
bark_batch_size: 4000 # Bark消息分批大小(字节)
slack_batch_size: 4000 # Slack消息分批大小(字节)
batch_send_interval: 3 # 批次发送间隔(秒)
feishu_message_separator: "━━━━━━━━━━━━━━━━━━━" # feishu 消息分割线
max_accounts_per_channel: 3 # 每个渠道最大账号数量,建议不超过 3
# 🕐 推送时间窗口控制(可选功能)
# 用途:限制推送的时间范围,避免非工作时间打扰
# 适用场景:
# - 只想在工作日白天接收推送(如 09:00-18:00
# - 希望在晚上固定时间收到汇总(如 20:00-22:00
push_window:
enabled: false # 是否启用推送时间窗口控制,默认关闭
# 注意:GitHub Actions 执行时间不稳定,时间范围建议至少留足 2 小时
# 如果想要精准的定时推送,建议使用 Docker 部署在个人服务器上
time_range:
start: "20:00" # 推送时间窗口开始(北京时间)
end: "22:00" # 推送时间窗口结束(北京时间)
once_per_day: true # 每天在时间窗口内只推送一次,如果 false,则窗口内每次执行都推送
# ⚠️⚠️⚠️ 重要安全警告 / IMPORTANT SECURITY WARNING ⚠️⚠️⚠️
#
# 🔴 请务必妥善保管好 webhooks,不要公开!!!
# 🔴 如果你以 fork 的方式将本项目部署在 GitHub 上,请勿在下面填写任何 webhooks
# 🔴 而是将 webhooks 填入 GitHub SecretSettings → Secrets and variables → Actions
# 🔴 否则:
# - 轻则:手机上收到大量垃圾广告推送
# - 重则:webhook 被滥用造成严重安全隐患(如恶意消息轰炸、钓鱼链接等)
#
# 🔴 NEVER expose webhooks publicly!!!
# 🔴 If deploying via GitHub fork, DO NOT fill webhooks below
# 🔴 Instead, add them to GitHub Secrets (Settings → Secrets and variables → Actions)
# 🔴 Consequences of exposure:
# - Minor: Spam notifications flooding your devices
# - Severe: Webhook abuse leading to security incidents (malicious messages, phishing links, etc.)
#
# ⚠️⚠️⚠️ 多账号推送说明 / MULTI-ACCOUNT PUSH NOTICE ⚠️⚠️⚠️
#
# 🔸 多账号支持:
# • 请使用分号(;)分隔多个账号,如:"url1;url2;url3"
# • 示例:telegram_bot_token: "token1;token2" 对应 telegram_chat_id: "id1;id2"
# • 对于需要配对的配置(如 Telegram 的 token 和 chat_id),数量必须一致
# • 每个渠道最多支持 max_accounts_per_channel 个账号(见上方配置)
# • 邮箱已支持多收件人(逗号分隔),保持不变
#
# 🔸 Multi-Account Support:
# • Use semicolon(;) to separate multiple accounts, e.g., "url1;url2;url3"
# • Example: telegram_bot_token: "token1;token2" with telegram_chat_id: "id1;id2"
# • For paired configs (e.g., Telegram token and chat_id), quantities must match
# • Each channel supports up to max_accounts_per_channel accounts (see above config)
# • Email already supports multiple recipients (comma-separated), unchanged
#
webhooks:
feishu_url: "" # 飞书机器人的 webhook URL(多账号用 ; 分隔)
dingtalk_url: "" # 钉钉机器人的 webhook URL(多账号用 ; 分隔)
wework_url: "" # 企业微信机器人的 webhook URL(多账号用 ; 分隔)
wework_msg_type: "markdown" # 企业微信消息类型:markdown(群机器人) 或 text(个人微信应用)
telegram_bot_token: "" # Telegram Bot Token(多账号用 ; 分隔,需与 chat_id 数量一致)
telegram_chat_id: "" # Telegram Chat ID(多账号用 ; 分隔,需与 bot_token 数量一致)
email_from: "" # 发件人邮箱地址
email_password: "" # 发件人邮箱密码或授权码
email_to: "" # 收件人邮箱地址,多个收件人用逗号分隔
email_smtp_server: "" # SMTP服务器地址(可选,留空自动识别)
email_smtp_port: "" # SMTP端口(可选,留空自动识别)
ntfy_server_url: "https://ntfy.sh" # ntfy服务器地址,默认使用公共服务,可改为自托管地址
ntfy_topic: "" # ntfy主题名称(多账号用 ; 分隔)
ntfy_token: "" # ntfy访问令牌(可选,用于私有主题,多账号用 ; 分隔)
bark_url: "" # Bark推送URL(多账号用 ; 分隔,格式:https://api.day.app/your_device_key 或自建服务器地址)
slack_webhook_url: "" # Slack Incoming Webhook URL(多账号用 ; 分隔)
# 用于让关注度更高的新闻在更前面显示,即用算法重新组合不同平台的热搜排序形成你侧重的热搜,合起来是 1 就行
weight:
rank_weight: 0.6 # 排名权重
frequency_weight: 0.3 # 频次权重
hotness_weight: 0.1 # 热度权重
# name 可以定义任意名称,只具有显示作用,即使项目运行了几天后,忽然改掉 name 也不会影响代码的正常运行
# references: https://github.com/sansan0/TrendRadar/issues/95
platforms:
- 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: "知乎"
@@ -0,0 +1,113 @@
胖东来
于东来
DeepSeek
梁文锋
华为
鸿蒙
HarmonyOS
任正非
比亚迪
王传福
大疆
DJI
宇树
王兴兴
智元
灵犀
稚晖君
彭志辉
黑神话
冯骥
影之刃零
梁其伟
哪吒
饺子
杨宇
!车
!餐
三体
流浪地球
刘慈欣
郭帆
申奥
京东
刘强东
字节
bytedance
张一鸣
特斯拉
马斯克
微软
Microsoft
英伟达
NVIDIA
黄仁勋
AMD
谷歌
google
gemini
deepmind
chatgpt
openai
sora
claude
Anthropic
iphone
ipad
mac
ios
ai
!gai
人工智能
自动驾驶
机器人
国产
中国
美国
日本
韩国
芯片
光刻机
科技
核能
水电站
雅鲁藏布江
新质生产力
月球
登月
火星
宇宙
飞船
航空
+78
View File
@@ -0,0 +1,78 @@
additionalProperties:
formFields:additionalProperties:
formFields:
- default: 8080
envKey: PANEL_APP_PORT_HTTP
labelZh: HTTP 端口
labelEn: HTTP Port
label:
zh: HTTP 端口
en: HTTP Port
description:
zh: "HTTP 端口"
en: "HTTP Port"
required: true
type: number
edit: true
rule: paramPort
- default: ./data
envKey: DATA_PATH
labelZh: 输出路径
labelEn: Output Path
label:
zh: 输出路径
en: Output Path
description:
zh: 生成的报告和数据保存位置
en: Generated reports and data storage location
required: false
type: text
edit: true
- default: "*/30 * * * *"
envKey: CRON_SCHEDULE
labelZh: 定时任务表达式
labelEn: Cron Expression
label:
zh: 定时任务表达式
en: Cron Expression
required: false
type: text
edit: true
- default: cron
envKey: RUN_MODE
labelZh: 运行模式
labelEn: Run Mode
label:
zh: 运行模式
en: Run Mode
required: false
type: select
values:
- label: Cron
value: cron
- label: Once
value: once
edit: true
- default: "false"
envKey: IMMEDIATE_RUN
labelZh: 启动时立即执行一次
labelEn: Execute immediately upon startup
label:
zh: 启动时立即执行一次
en: Execute immediately upon startup
required: false
type: select
values:
- label: "True"
value: "true"
- label: "False"
value: "false"
edit: true
- default: "3333"
envKey: MCP_PORT
required: true
type: number
labelEn: MCP_Port
labelZh: MCP端口
edit: true
rule: paramPort
+37
View File
@@ -0,0 +1,37 @@
services:
trend-radar:
image: wantcat/trendradar:4.0.2
container_name: ${CONTAINER_NAME}
restart: always
ports:
- ${PANEL_APP_PORT_HTTP}:8080
volumes:
- ../config:/app/config:ro
- ${DATA_PATH}:/app/output
environment:
- TZ=Asia/Shanghai
- CRON_SCHEDULE=${CRON_SCHEDULE}
- RUN_MODE=${RUN_MODE}
- IMMEDIATE_RUN=${IMMEDIATE_RUN}
networks:
- 1panel-network
labels:
createdBy: Apps
trend-radar-mcp:
image: wantcat/trendradar-mcp:1.1.0
container_name: ${CONTAINER_NAME}-trend-radar-mcp
restart: always
ports:
- ${MCP_PORT}:3333
volumes:
- ../config:/app/config:ro
- ${DATA_PATH}:/app/output
environment:
- TZ=Asia/Shanghai
networks:
- 1panel-network
labels:
createdBy: Apps
networks:
1panel-network:
external: true
+69
View File
@@ -0,0 +1,69 @@
# TrendRadar - 趋势雷达
一个轻量级的多平台趋势监控工具,帮助您实时跟踪各类热点话题和趋势变化。
## 🚀 核心功能
### 📊 多平台数据聚合
- 集成 newsnow 项目 API,支持多个主流平台数据获取
- 实时聚合热门话题和趋势数据
- 智能数据清洗、去重和质量优化
- 支持微博、知乎、百度等中文平台热点追踪
### 🤖 AI 智能分析
- 基于人工智能的趋势分析引擎
- 自动识别和分类热点话题
- 趋势预测和发展评估
- 智能关键词提取和主题归纳
- 热度评分和趋势强度分析
### 📈 数据可视化
- 直观的趋势图表和热力图展示
- 多维度数据分析和交叉对比
- 历史趋势回溯和预测展示
- 交互式数据探索界面
- 支持图表导出和分享
### 🔍 实时监控
- 7×24小时持续监控和数据采集
- 实时推送重要趋势变化通知
- 自定义监控规则和关键词过滤
- 异常波动检测和告警机制
- 批量监控任务管理
### 💾 灵活存储架构
- **本地存储**:SQLite数据库,完全自主可控
- **云端存储**:支持S3兼容协议(Cloudflare R2、阿里云OSS、腾讯云COS等)
- **数据备份**:自动备份和恢复机制
- **存储优化**:数据压缩和归档策略
### 🔌 多种部署方式
- **Docker部署**:一键容器化部署,最稳定简单
- **GitHub Actions部署**:云端自动化运行
- **MCP客户端支持**:集成Model Context Protocol
## 🎯 应用场景
- **市场研究**:跟踪行业趋势和竞争动态
- **内容创作**:发现热门话题和创作灵感
- **投资分析**:监控市场情绪和热点板块
- **舆情监控**:实时了解品牌和行业动态
## ⚡ 核心特点
- **轻量部署**:最小化资源占用
- **易用性强**:简洁直观的操作界面
- **高可靠性**:稳定的数据获取和分析
- **可扩展性**:支持多种部署方式
## 🛠️ 技术栈
- Python 后端开发
- SQLite/云存储数据管理
- AI 分析引擎
- RESTful API 接口
- Docker 容器化支持
---
**TrendRadar** - 让趋势洞察变得简单高效
+69
View File
@@ -0,0 +1,69 @@
# TrendRadar - Trend Radar
A lightweight multi-platform trend monitoring tool that helps you track various trending topics and trend changes in real-time.
## 🚀 Core Features
### 📊 Multi-Platform Data Aggregation
- Integrated with newsnow project API for multiple mainstream platforms
- Real-time aggregation of trending topics and data
- Intelligent data cleaning, deduplication, and quality optimization
- Support for Chinese platforms like Weibo, Zhihu, Baidu hot trends tracking
### 🤖 AI-Powered Analysis
- AI-driven trend analysis engine
- Automatic identification and categorization of trending topics
- Trend prediction and development assessment
- Intelligent keyword extraction and topic summarization
- Heat score analysis and trend strength evaluation
### 📈 Data Visualization
- Intuitive trend charts and heatmap displays
- Multi-dimensional data analysis and cross-comparison
- Historical trend retrospection and prediction display
- Interactive data exploration interface
- Support for chart export and sharing
### 🔍 Real-Time Monitoring
- 7×24 continuous monitoring and data collection
- Real-time push notifications for important trend changes
- Customizable monitoring rules and keyword filtering
- Anomaly detection and alert mechanisms
- Batch monitoring task management
### 💾 Flexible Storage Architecture
- **Local Storage**: SQLite database, fully autonomous and controllable
- **Cloud Storage**: S3-compatible protocol support (Cloudflare R2, Alibaba Cloud OSS, Tencent Cloud COS, etc.)
- **Data Backup**: Automatic backup and recovery mechanisms
- **Storage Optimization**: Data compression and archival strategies
### 🔌 Multiple Deployment Options
- **Docker Deployment**: One-click containerized deployment, most stable and simple
- **GitHub Actions Deployment**: Cloud-based automated operation
- **MCP Client Support**: Integrated with Model Context Protocol
## 🎯 Use Cases
- **Market Research**: Track industry trends and competitive dynamics
- **Content Creation**: Discover trending topics and creative inspiration
- **Investment Analysis**: Monitor market sentiment and hot sectors
- **Reputation Monitoring**: Stay updated on brand and industry dynamics
## ⚡ Core Features
- **Lightweight Deployment**: Minimal resource footprint
- **High Usability**: Simple and intuitive interface
- **High Reliability**: Stable data acquisition and analysis
- **Scalability**: Multiple deployment options supported
## 🛠️ Tech Stack
- Python backend development
- SQLite/Cloud storage data management
- AI analysis engine
- RESTful API interface
- Docker containerization support
---
**TrendRadar** - Making trend insights simple and efficient
+30
View File
@@ -0,0 +1,30 @@
name: TrendRadar
tags:
- 实用工具
title: 多平台热点推送
description: 多平台热点推送
additionalProperties:
key: trendradar
name: TrendRadar
tags:
- Tool
shortDescZh: 多平台热点推送
shortDescEn: Multi-platform Hot Content Push
description:
en: Multi-platform Hot Content Push
zh: 多平台热点推送
zh-Hant: 多平台熱點推送
ja: マルチプラットフォームホットコンテンツプッシュ
ms: Tolakan Kandungan Panas Pelbagai Platform
pt-br: Push de Conteúdo Quente Multiplataforma
ru: Мультиплатформенная пуш-рассылка горячего контента
ko: 멀티 플랫폼 핫 콘텐츠 푸시
type: tool
crossVersionUpdate: true
limit: 0
website: https://github.com/sansan0/TrendRadar
github: https://github.com/sansan0/TrendRadar
document: https://github.com/sansan0/TrendRadar
architectures:
- amd64
- arm64
+187
View File
@@ -0,0 +1,187 @@
app:
version_check_url: "https://raw.githubusercontent.com/sansan0/TrendRadar/refs/heads/master/version"
show_version_update: true # 控制显示版本更新提示,如果 false,则不接受新版本提示
# 时区配置(影响所有时间显示、推送窗口判断、数据存储)
# 常用时区:
# - 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"
# 存储配置
storage:
# 存储后端选择: local / remote / auto
# - local: 本地 SQLite + TXT/HTML 文件
# - remote: 远程云存储(S3 兼容协议,支持 R2/OSS/COS 等)
# - auto: 自动选择(GitHub Actions 环境且配置了远程存储则用 remote,否则用 local
backend: "auto"
# 数据格式选项
formats:
sqlite: true # 主存储(必须启用)
txt: false # 是否生成 TXT 快照
html: false # 是否生成 HTML 报告(⚠️ 邮件推送必须设为 true,否则会报错)
# 本地存储配置
local:
data_dir: "output" # 数据目录
retention_days: 0 # 本地数据保留天数(0 = 不清理)
# 远程存储配置(S3 兼容协议)
# 支持: Cloudflare R2, 阿里云 OSS, 腾讯云 COS, AWS S3, MinIO 等
# 建议将敏感信息配置在 GitHub Secrets 或环境变量中
remote:
# 数据保留天数(0 = 不清理远程数据)
retention_days: 0
# S3 兼容配置
endpoint_url: "" # 服务端点(或环境变量 S3_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: "" # 存储桶名称(或环境变量 S3_BUCKET_NAME
access_key_id: "" # 访问密钥 ID(或环境变量 S3_ACCESS_KEY_ID
secret_access_key: "" # 访问密钥(或环境变量 S3_SECRET_ACCESS_KEY
region: "" # 区域(可选,部分服务商需要,或环境变量 S3_REGION)
# 数据拉取配置(从远程同步到本地)
# 用于 MCP Server 等场景:爬虫存到远程,MCP 拉取到本地分析
pull:
enabled: false # 是否启用启动时自动拉取
days: 7 # 拉取最近 N 天的数据(0 = 不拉取)
crawler:
request_interval: 1000 # 请求间隔(毫秒)
enable_crawler: true # 是否启用爬取新闻功能,如果 false,则直接停止程序
use_proxy: false # 是否启用代理,false 时为关闭
default_proxy: "http://127.0.0.1:10801"
# 🔸 daily(当日汇总模式)
# • 推送时机:按时推送(默认每小时推送一次)
# • 显示内容:当日所有匹配新闻 + 新增新闻区域
# • 适用场景:日报总结、全面了解当日热点趋势
#
# 🔸 current(当前榜单模式)
# • 推送时机:按时推送(默认每小时推送一次)
# • 显示内容:当前榜单匹配新闻 + 新增新闻区域
# • 适用场景:实时热点追踪、了解当前最火的内容
#
# 🔸 incremental(增量监控模式)
# • 推送时机:有新增才推送
# • 显示内容:新出现的匹配频率词新闻
# • 适用场景:避免重复信息干扰
# 推送模式选择
report:
mode: "daily" # 可选: "daily"|"incremental"|"current"
rank_threshold: 5 # 排名高亮阈值
sort_by_position_first: false # 排序优先级:true=先按配置位置排序,false=先按热点条数排序
max_news_per_keyword: 0 # 每个关键词最大显示数量,0=不限制
reverse_content_order: false # 内容顺序:false=热点词汇统计在前,true=新增热点新闻在前
notification:
enable_notification: true # 是否启用通知功能,如果 false,则不发送手机通知
message_batch_size: 4000 # 消息分批大小(字节)(这个配置别动)
dingtalk_batch_size: 20000 # 钉钉消息分批大小(字节)(这个配置也别动)
feishu_batch_size: 30000 # 飞书消息分批大小(字节)
bark_batch_size: 4000 # Bark消息分批大小(字节)
slack_batch_size: 4000 # Slack消息分批大小(字节)
batch_send_interval: 3 # 批次发送间隔(秒)
feishu_message_separator: "━━━━━━━━━━━━━━━━━━━" # feishu 消息分割线
max_accounts_per_channel: 3 # 每个渠道最大账号数量,建议不超过 3
# 🕐 推送时间窗口控制(可选功能)
# 用途:限制推送的时间范围,避免非工作时间打扰
# 适用场景:
# - 只想在工作日白天接收推送(如 09:00-18:00
# - 希望在晚上固定时间收到汇总(如 20:00-22:00
push_window:
enabled: false # 是否启用推送时间窗口控制,默认关闭
# 注意:GitHub Actions 执行时间不稳定,时间范围建议至少留足 2 小时
# 如果想要精准的定时推送,建议使用 Docker 部署在个人服务器上
time_range:
start: "20:00" # 推送时间窗口开始(北京时间)
end: "22:00" # 推送时间窗口结束(北京时间)
once_per_day: true # 每天在时间窗口内只推送一次,如果 false,则窗口内每次执行都推送
# ⚠️⚠️⚠️ 重要安全警告 / IMPORTANT SECURITY WARNING ⚠️⚠️⚠️
#
# 🔴 请务必妥善保管好 webhooks,不要公开!!!
# 🔴 如果你以 fork 的方式将本项目部署在 GitHub 上,请勿在下面填写任何 webhooks
# 🔴 而是将 webhooks 填入 GitHub SecretSettings → Secrets and variables → Actions
# 🔴 否则:
# - 轻则:手机上收到大量垃圾广告推送
# - 重则:webhook 被滥用造成严重安全隐患(如恶意消息轰炸、钓鱼链接等)
#
# 🔴 NEVER expose webhooks publicly!!!
# 🔴 If deploying via GitHub fork, DO NOT fill webhooks below
# 🔴 Instead, add them to GitHub Secrets (Settings → Secrets and variables → Actions)
# 🔴 Consequences of exposure:
# - Minor: Spam notifications flooding your devices
# - Severe: Webhook abuse leading to security incidents (malicious messages, phishing links, etc.)
#
# ⚠️⚠️⚠️ 多账号推送说明 / MULTI-ACCOUNT PUSH NOTICE ⚠️⚠️⚠️
#
# 🔸 多账号支持:
# • 请使用分号(;)分隔多个账号,如:"url1;url2;url3"
# • 示例:telegram_bot_token: "token1;token2" 对应 telegram_chat_id: "id1;id2"
# • 对于需要配对的配置(如 Telegram 的 token 和 chat_id),数量必须一致
# • 每个渠道最多支持 max_accounts_per_channel 个账号(见上方配置)
# • 邮箱已支持多收件人(逗号分隔),保持不变
#
# 🔸 Multi-Account Support:
# • Use semicolon(;) to separate multiple accounts, e.g., "url1;url2;url3"
# • Example: telegram_bot_token: "token1;token2" with telegram_chat_id: "id1;id2"
# • For paired configs (e.g., Telegram token and chat_id), quantities must match
# • Each channel supports up to max_accounts_per_channel accounts (see above config)
# • Email already supports multiple recipients (comma-separated), unchanged
#
webhooks:
feishu_url: "" # 飞书机器人的 webhook URL(多账号用 ; 分隔)
dingtalk_url: "" # 钉钉机器人的 webhook URL(多账号用 ; 分隔)
wework_url: "" # 企业微信机器人的 webhook URL(多账号用 ; 分隔)
wework_msg_type: "markdown" # 企业微信消息类型:markdown(群机器人) 或 text(个人微信应用)
telegram_bot_token: "" # Telegram Bot Token(多账号用 ; 分隔,需与 chat_id 数量一致)
telegram_chat_id: "" # Telegram Chat ID(多账号用 ; 分隔,需与 bot_token 数量一致)
email_from: "" # 发件人邮箱地址
email_password: "" # 发件人邮箱密码或授权码
email_to: "" # 收件人邮箱地址,多个收件人用逗号分隔
email_smtp_server: "" # SMTP服务器地址(可选,留空自动识别)
email_smtp_port: "" # SMTP端口(可选,留空自动识别)
ntfy_server_url: "https://ntfy.sh" # ntfy服务器地址,默认使用公共服务,可改为自托管地址
ntfy_topic: "" # ntfy主题名称(多账号用 ; 分隔)
ntfy_token: "" # ntfy访问令牌(可选,用于私有主题,多账号用 ; 分隔)
bark_url: "" # Bark推送URL(多账号用 ; 分隔,格式:https://api.day.app/your_device_key 或自建服务器地址)
slack_webhook_url: "" # Slack Incoming Webhook URL(多账号用 ; 分隔)
# 用于让关注度更高的新闻在更前面显示,即用算法重新组合不同平台的热搜排序形成你侧重的热搜,合起来是 1 就行
weight:
rank_weight: 0.6 # 排名权重
frequency_weight: 0.3 # 频次权重
hotness_weight: 0.1 # 热度权重
# name 可以定义任意名称,只具有显示作用,即使项目运行了几天后,忽然改掉 name 也不会影响代码的正常运行
# references: https://github.com/sansan0/TrendRadar/issues/95
platforms:
- 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: "知乎"
@@ -0,0 +1,113 @@
胖东来
于东来
DeepSeek
梁文锋
华为
鸿蒙
HarmonyOS
任正非
比亚迪
王传福
大疆
DJI
宇树
王兴兴
智元
灵犀
稚晖君
彭志辉
黑神话
冯骥
影之刃零
梁其伟
哪吒
饺子
杨宇
!车
!餐
三体
流浪地球
刘慈欣
郭帆
申奥
京东
刘强东
字节
bytedance
张一鸣
特斯拉
马斯克
微软
Microsoft
英伟达
NVIDIA
黄仁勋
AMD
谷歌
google
gemini
deepmind
chatgpt
openai
sora
claude
Anthropic
iphone
ipad
mac
ios
ai
!gai
人工智能
自动驾驶
机器人
国产
中国
美国
日本
韩国
芯片
光刻机
科技
核能
水电站
雅鲁藏布江
新质生产力
月球
登月
火星
宇宙
飞船
航空
+78
View File
@@ -0,0 +1,78 @@
additionalProperties:
formFields:additionalProperties:
formFields:
- default: 8080
envKey: PANEL_APP_PORT_HTTP
labelZh: HTTP 端口
labelEn: HTTP Port
label:
zh: HTTP 端口
en: HTTP Port
description:
zh: "HTTP 端口"
en: "HTTP Port"
required: true
type: number
edit: true
rule: paramPort
- default: ./data
envKey: DATA_PATH
labelZh: 输出路径
labelEn: Output Path
label:
zh: 输出路径
en: Output Path
description:
zh: 生成的报告和数据保存位置
en: Generated reports and data storage location
required: false
type: text
edit: true
- default: "*/30 * * * *"
envKey: CRON_SCHEDULE
labelZh: 定时任务表达式
labelEn: Cron Expression
label:
zh: 定时任务表达式
en: Cron Expression
required: false
type: text
edit: true
- default: cron
envKey: RUN_MODE
labelZh: 运行模式
labelEn: Run Mode
label:
zh: 运行模式
en: Run Mode
required: false
type: select
values:
- label: Cron
value: cron
- label: Once
value: once
edit: true
- default: "false"
envKey: IMMEDIATE_RUN
labelZh: 启动时立即执行一次
labelEn: Execute immediately upon startup
label:
zh: 启动时立即执行一次
en: Execute immediately upon startup
required: false
type: select
values:
- label: "True"
value: "true"
- label: "False"
value: "false"
edit: true
- default: "3333"
envKey: MCP_PORT
required: true
type: number
labelEn: MCP_Port
labelZh: MCP端口
edit: true
rule: paramPort
+37
View File
@@ -0,0 +1,37 @@
services:
trend-radar:
image: wantcat/trendradar:latest
container_name: ${CONTAINER_NAME}
restart: always
ports:
- ${PANEL_APP_PORT_HTTP}:8080
volumes:
- ../config:/app/config:ro
- ${DATA_PATH}:/app/output
environment:
- TZ=Asia/Shanghai
- CRON_SCHEDULE=${CRON_SCHEDULE}
- RUN_MODE=${RUN_MODE}
- IMMEDIATE_RUN=${IMMEDIATE_RUN}
networks:
- 1panel-network
labels:
createdBy: Apps
trend-radar-mcp:
image: wantcat/trendradar-mcp:latest
container_name: ${CONTAINER_NAME}-trend-radar-mcp
restart: always
ports:
- ${MCP_PORT}:3333
volumes:
- ../config:/app/config:ro
- ${DATA_PATH}:/app/output
environment:
- TZ=Asia/Shanghai
networks:
- 1panel-network
labels:
createdBy: Apps
networks:
1panel-network:
external: true
Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB