Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auto Dashboard

一个将多源信息自动汇总到 Notion 的每日简报脚本。

当前状态

  • 项目可运行,适合个人使用与二次开发。
  • 当前仓库以“测试可落地”为优先,已支持故障降级写入 Notion。
  • 你可以先公开仓库,再按需继续迭代。

功能清单

  • 哈尔滨南岗区天气(QWeather)
  • GitHub 热门仓库(AI 优先,失败回退有趣项目)
  • 哔哩哔哩热门视频
  • 米哈游/原神资讯(RSS)
  • YouTube 热门视频(可选)
  • 小黑盒热帖
  • Notion 页面创建与多模块分块写入

项目结构

  • main.py:主流程与数据源适配
  • requirements.txt:依赖
  • tests/:最小测试集
  • .github/workflows/daily-brief.yml:每日定时任务
  • .env.example:环境变量模板

快速开始

1. 安装依赖

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

2. 配置环境变量

cp .env.example .env
set -a
source .env
set +a

3. 本地执行

python main.py

成功时会输出:

Notion 页面创建成功: https://www.notion.so/...

环境变量说明

必需:

  • WEATHER_API_KEY
  • GH_TOKEN
  • NOTION_TOKEN
  • NOTION_DATABASE_ID

可选:

  • WEATHER_LOCATION_ID:已知 location id 时可直接指定
  • QWEATHER_EDITIONdev(默认)或 commercial
  • QWEATHER_GEO_URL:手动覆盖天气地理接口
  • QWEATHER_NOW_URL:手动覆盖天气实时接口
  • ALLOW_WEATHER_FALLBACKtrue/false,天气失败时使用占位文案继续写入 Notion
  • YOUTUBE_API_KEY:未配置则跳过 YouTube 模块
  • YOUTUBE_REGION_CODE:默认 CN
  • YOUTUBE_VIDEO_CATEGORY_ID:可留空

Notion 数据库要求

推荐字段:

  • 标题列:NameTitle(类型为 title
  • 天气列:Weather(类型为 rich_text,推荐但非强制)

兼容行为:

  • 没有 Weather 时,会尝试使用第一个 rich_text 列。
  • 如果没有任何 rich_text 列,天气信息会写入正文模块,不会阻断页面创建。

调度方式

GitHub Actions(推荐)

工作流文件:.github/workflows/daily-brief.yml

  • 默认每天 UTC 01:00 执行
  • 需要在仓库 Secrets 中配置必需凭据

本地定时(可选)

30 8 * * * cd /path/to/auto-dashboard && /usr/bin/env bash -lc 'source .venv/bin/activate && python main.py >> run.log 2>&1'

常见问题

  • 天气接口报 404/401/403:检查 QWeather 版本与域名是否匹配(devapi vs api)。
  • Notion 403:确认数据库已分享给 Integration。
  • 单个来源失败:脚本会降级继续,页面仍会创建。

公开仓库前安全清单

  • 已删除/轮换所有曾在聊天、终端、截图中出现的旧密钥
  • .env 不在 Git 跟踪中(仅保留 .env.example
  • 仓库中无硬编码 Token/API Key
  • GitHub 仓库已配置 Actions Secrets
  • 开启 Secret scanning / Push protection(若可用)

许可与声明

本项目仅用于学习与个人效率工具场景。请遵守各数据源平台的服务条款与频率限制。

安全策略请见 SECURITY.md

About

Auto dashboard for gathering multiple info into notion

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages