03-27 00:04 · 科技
Claude Code skills for fetching curated content from high-quality sources. AI news, mental models, GitHub trending, and more.
A collection of Claude Code skills for fetching curated content from high-quality sources.
# List available skills
npx skills add geekjourneyx/mind-skills --list
# Install all skills
npx skills add geekjourneyx/mind-skills --all
# Install specific skill
npx skills add geekjourneyx/mind-skills --skill ai-daily
npx skills add geekjourneyx/mind-skills --skill fs-street
npx skills add geekjourneyx/mind-skills --skill trending-skills
npx skills add geekjourneyx/mind-skills --skill github-topics
# Install to specific agent
npx skills add geekjourneyx/mind-skills --all -a claude-code
Fetch AI industry news from smol.ai RSS feed.
昨天AI资讯
2026-01-13的新闻
pip install feedparser requests
Fetches articles from Farnam Street blog, covering mental models, decision-making, and learning.
昨天的文章
今天的FS文章
2024-06-13的文章
pip install feedparser requests
Fetches skills.sh trending rankings via Playwright.
今天技能排行榜
Top 10 skills
技能榜单
# Basic rankings
pip install playwright
playwright install chromium --with-deps
# For skill details (optional)
pip install beautifulsoup4 lxml requests
Fetches GitHub topic trending repositories via GitHub API.
今天 claude-code 话题排行榜
Top 10 GitHub 项目
热门仓库
anthropics/claude-code 介绍
pip install requests
Note: With token: 5,000 requests/hour; Without token: 60 requests/hour.
mind-skills/
├── README.md
├── CHANGELOG.md
├── CLAUDE.md
├── skills/
│ ├── ai-daily/
│ │ ├── SKILL.md
│ │ └── scripts/
│ │ └── fetch_news.py
│ ├── fs-street/
│ │ ├── SKILL.md
│ │ └── scripts/
│ │ └── fetch_blog.py
│ ├── trending-skills/
│ │ ├── SKILL.md
│ │ └── src/
│ │ ├── config.py
│ │ ├── skills_fetcher.py
│ │ └── detail_fetcher.py
│ └── github-topics/
│ ├── SKILL.md
│ └── src/
│ ├── config.py
│ ├── github_fetcher.py
│ └── readme_fetcher.py
└── requirements.txt
Design Philosophy: Stateless skills following Unix principles
┌─────────────────────────────────────────────────┐
│ AI Assistant Layer │
│ (Scheduled tasks, persistence, analysis) │
└─────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────┐
│ Stateless Skills │
│ ┌──────────┐ ┌───────────┐ ┌─────────────┐ │
│ │ ai-daily │ │ fs-street │ │ trending │ │
│ │ RSS获取 │ │ RSS获取 │ │Playwright│ │
│ └──────────┘ └───────────┘ └─────────────┘ │
└─────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────┐
│ External Data Sources │
│ smol.ai │ fs.blog │ skills.sh │ GitHub │
└─────────────────────────────────────────────────┘
如果该项目帮助了您,请作者喝杯咖啡吧
- 作者:
geekjourneyx
- X (Twitter): https://x.com/seekjourney
- 公众号: 极客杰尼
关注公众号,获取更多 AI 编程、AI 工具与 AI 出海建站的实战分享:
MIT
- Fork the repository
- Create your feature branch
- Follow the existing skill structure
- Submit a pull request
- Skills Directory - Discover more skills
- Vercel Skills CLI - Official CLI
- Agent Skills Spec - Specification
▸ 展开全文
03-27 00:04 · 科技
Agent Trending是一个聚焦 AI Agent 的开源研究项目,系统整理了 2025.01—2026.03 期间 8701 篇学术论文,围绕 15 个核心方向完成分类、去重、标注与趋势分析。项目包含月度论文索引、细分方向论文集、15 份技术趋势报告,以及 1 份全局趋势总报告和 1 份下一代 Agent 原型设计文档,适合研究者、工程团队和产业决策者快速把握 AI Agent 的技术演进与落地脉络。
Agent Trending 是一个面向 AI Agent 领域的大规模论文研究与趋势分析开源项目。
适合谁读
基于 15 个细分方向、8701 篇学术论文的跨领域深度分析报告。
过去 15 个月(2025.01—2026.03),AI Agent 领域经历了一次历史性的范畴跃迁,从"更聪明的聊天机器人"变成了"能在真实世界执行复杂任务的自主系统"。我们系统性地追踪了这一过程中 7700+ 篇学术论文的演进脉络,覆盖了从基础训练、认知架构、工具使用、多智能体协作到安全对齐、商业落地的完整技术栈,最终凝练为这份全景式趋势报告。
Agent 领域的论文月产出在一年间从约 200 篇飙升至 700+ 篇,信息过载让从业者很难建立全局认知。我们希望通过这份开源报告,帮助研究者快速定位高价值研究方向,帮助工程团队做出更有依据的技术选型,帮助商业决策者理解真实的技术成熟度而非营销叙事。
报告识别出 八大跨领域共振趋势:
- 强化学习全面取代监督微调,成为 Agent 能力获取的核心引擎
- 分层闭环架构成为系统设计的事实标准
- MCP / A2A 等通信协议催生"Agent 互联网"基础设施雏形
- 安全性从附加特性升级为系统生存前提
- 记忆与认知能力成为 Agent 从工具进化为助手的分水岭
- 软件工程成为全领域的首要验证场景
- 评测范式从结果打分转向过程审计
- 物理世界与数字世界 Agent 加速融合
报告同时给出了商业化冲击波排序、五大共性瓶颈分析,以及面向研究者、技术团队和投资者的差异化战略建议。
下表汇总了 15 个细分方向的论文集、技术趋势报告,以及从各方向执行摘要中提炼出的核心趋势、面临挑战与未来推演。
下表按月份汇总论文收录情况,并给出对应阶段的一句话趋势演化总结。
本仓库主要基于公开可获取的学术论文信息、公开链接以及作者的研究整理与分析撰写而成。
- 论文标题、摘要信息、链接等原始内容的版权归原作者及原出版方所有
- 本仓库中的综述、归纳、结构化整理与趋势判断为仓库维护者的原创工作
- 如你认为仓库中存在不适合公开展示的内容,请通过 Issue 或邮件联系处理
当前版本以资料整理和结构化发布为主,后续可能继续补充:
- 新月份追踪
- 方向报告迭代
- 导航页和索引页
- 英文化摘要
欢迎通过 Issue 或 Pull Request 参与改进,例如:
- 修正文档错误
- 补充遗漏论文
- 优化目录和导航
- 补充引用与来源说明
具体约定见 CONTRIBUTING.md。
如果这个仓库对你的研究或写作有帮助,欢迎在引用或转载时注明仓库地址与原作者信息。建议引用仓库中的具体文件,而不是仅引用仓库名。
本仓库采用 CC BY 4.0 许可协议。你可以转载、改编和分享,但需要保留署名。
▸ 展开全文
03-27 00:04 · 科技
Rust trading bot for Polymarket prediction markets. Trades BTC and ETH binary (Up/Down) markets (15m and 1h) using outcome prices (win probabilities from Gamma) and token price trend. Places batches of limit orders on the side that is both winning by outcome price and rising in price over N datapoints.
Automate your NBA market execution on Polymarket with a momentum workflow tuned for live basketball games, tight order books around tip-off and in-game swings, and disciplined trade management.
Private bot for serious traders who want a professional edge without babysitting charts during 48-minute games and overtime.
▸ 展开全文
03-27 00:04 · 科技
This project is an AI-powered anomaly detection system that monitors social media trends, physical environmental conditions, and stock market behavior in real time. It correlates signals across multiple domains using machine learning and LLMs to detect abnormal patterns and explain why anomalies occur and what they may indicate.
This contains everything you need to run your app locally.
View your app in AI Studio: https://ai.studio/apps/temp/3
Prerequisites: Node.js
- Install dependencies:
npm install
- Set the
GEMINI_API_KEY
in .env.local to your Gemini API key - Run the app:
npm run dev
▸ 展开全文
03-27 00:04 · 科技
-
Research trending topics and generate ready-to-post social media content — as a Hermes/OpenClaw skill.
trendingcontent is a two-phase AI agent skill:
- Research phase — scrapes Reddit, X/Twitter, YouTube, TikTok, HackerNews, Bluesky and Brave Search to surface the most engaging content about your topic over a configurable time window (7, 15, 30, or up to 90 days).
- Content generation phase — uses the research findings to generate platform-specific social media copy: Twitter/X threads, LinkedIn posts, and Instagram captions.
Built on top of last30days by @mvanhorn, extended with:
- Variable time windows (not just 30 days)
- Multi-platform content generation (Twitter, LinkedIn, Instagram)
- Tone control (professional, casual, educational, viral)
- Multilingual output (English, Spanish, Portuguese)
- Hermes/OpenClaw skill standard compatibility
git clone https://github.com/gabogabucho/trendingcontent-agent.git
cd trendingcontent-agent
pip install -r requirements.txt
export SCRAPECREATORS_API_KEY="your_key" # required
export BRAVE_API_KEY="your_key" # optional but recommended
Or add them to your .env
file.
Get a ScrapeCreators API key at scrapecreators.com. Get a Brave Search API key at brave.com/search/api.
python scripts/trendingcontent.py "artificial intelligence" --days=7 --platform=all
python scripts/trendingcontent.py <topic> [options]
Options:
--days=N Time window: 7-90 days (default: 30)
--platform twitter | linkedin | instagram | all (default: all)
--tone professional | casual | educational | viral (default: professional)
--lang en | es | pt (default: en)
--sources=S1,S2 Only use these sources (reddit,twitter,youtube,tiktok,bluesky,hackernews,brave)
--disable=S1,S2 Disable specific sources
--list-sources Show all available sources
--quick Fewer sources, faster
--deep More sources, thorough
--research-only Output research only, skip content generation
# AI trends last 7 days → all platforms
python scripts/trendingcontent.py "artificial intelligence" --days=7
# Web3 → LinkedIn post in Spanish, professional tone
python scripts/trendingcontent.py "web3" --days=15 --platform=linkedin --lang=es
# Climate tech → viral Twitter thread
python scripts/trendingcontent.py "climate tech" --days=30 --platform=twitter --tone=viral
# Niche topic — only Reddit and YouTube (no HackerNews)
python scripts/trendingcontent.py "sourdough bread" --sources=reddit,youtube,brave
# Disable sources that don't fit your topic
python scripts/trendingcontent.py "fintech" --disable=hackernews,tiktok
# See all available sources
python scripts/trendingcontent.py --list-sources
# Research only, no content
python scripts/trendingcontent.py "LLMs" --days=14 --research-only
This repository follows the Hermes skill standard. To install as a skill:
# Copy to your Hermes skills directory
cp -r . /path/to/hermes-agent/skills/social-media/trendingcontent/
# Add API keys to your Hermes .env
echo "SCRAPECREATORS_API_KEY=your_key" >> ~/.hermes/.env
echo "BRAVE_API_KEY=your_key" >> ~/.hermes/.env
The agent will automatically discover the skill via SKILL.md
.
═══════════════════════════════════════════════
TRENDINGCONTENT — CONTENT GENERATION BRIEF
═══════════════════════════════════════════════
Topic: artificial intelligence
Period: Last 7 days
Language: English
Tone: Professional
Platforms: Twitter, LinkedIn, Instagram
───────────────────────────────────────────────
RESEARCH SUMMARY
───────────────────────────────────────────────
[ranked trending content with titles, scores, URLs]
───────────────────────────────────────────────
CONTENT INSTRUCTIONS
───────────────────────────────────────────────
[platform-specific format specs + tone guidance]
- Python 3.9+
yt-dlp
— YouTube transcript extractionrequests
— HTTP calls- ScrapeCreators API key (required)
- Brave Search API key (optional)
- Original research engine: last30days-skill by @mvanhorn — MIT License
- Social media generation layer & Hermes skill packaging: @gabogabucho
MIT License — see LICENSE for details.
▸ 展开全文
03-27 00:04 · 科技
This project presents a time-series analysis and forecast of Amazon's stock prices using historical data provided in AMZN.csv. The goal is to understand trends in stock prices and provide a reliable short-term (30-day) forecast using SARIMA modeling.
Stock market analysis plays a crucial role in financial decision-making. This project focuses on analyzing and forecasting Amazon’s stock prices using historical market data. By applying time-series analysis techniques, the project aims to identify trends, understand price movements, and generate a reliable short-term stock price forecast.
The Stock Prediction project performs a comprehensive time-series analysis on Amazon’s historical stock price data (AMZN.csv
). The workflow includes data cleaning, preprocessing, exploratory data analysis, visualization, and forecasting using the SARIMA (Seasonal AutoRegressive Integrated Moving Average) model.
The final output provides a 30-day stock price forecast along with confidence intervals, helping users gain insights into potential future price movements.
- Historical stock data analysis
- Data cleaning and preprocessing
- Time-series visualization of stock trends
- Daily price range and trading volume analysis
- Monthly average closing price analysis
- SARIMA-based 30-day stock price forecasting
- Confidence interval visualization
- Clear and interpretable plots for analysis
- Python 3.7+
- Pandas – data manipulation and analysis
- Matplotlib – data visualization
- Statsmodels – SARIMA forecasting model
- Streamlit (optional) – interactive dashboard
- Git & GitHub – version control
stock-prediction/ │ ├── data_cleaning/ │ └── clean_preprocess.py │ ├── images/ │ ├── daily-price-range.jpg │ ├── monthly-avg.jpg │ ├── trading-volume.jpg │ └── closing-price.jpg │ ├── AMZN.csv ├── README.md └── requirements.txt
- Load historical stock data (
AMZN.csv
) - Convert date column and set it as index
- Perform data validation and preprocessing
- Visualize trends and volatility
- Train SARIMA model on closing price data
- Generate 30-day forecast with confidence intervals
This project successfully demonstrates the application of time-series analysis for stock price forecasting. By leveraging SARIMA modeling, it provides meaningful insights into Amazon’s stock price behavior and delivers a reliable short-term forecast. The visualizations and structured workflow make this project a practical tool for financial analysis and a strong foundation for further enhancements such as real-time data integration and advanced predictive models.
Sanjey S
GitHub: https://github.com/SANJEY2106
▸ 展开全文
03-27 00:04 · 科技
Codex/CLaude/Gemini compatible skill: collect AI trends, write WeChat Official Account articles, generate images, publish to drafts
自动采集 AI 热点,撰写公众号文章,生成配图并发布到微信公众号草稿箱。
本仓库已移除所有硬编码的密钥/Token/本地路径;你需要通过环境变量自行配置(见下文)。
把整个目录放到你的 Skills 目录下(任选其一):
~/.codex/skills/wechat-ai-publisher/
$CODEX_HOME/skills/wechat-ai-publisher/
~/.claude/skills/wechat-ai-publisher/
(Claude Code / Cloud Code)~/.gemini/skills/wechat-ai-publisher/
(Gemini:建议约定此路径,具体以你的工具为准)~/.openclaw/workspace/skills/wechat-ai-publisher/
(OpenClaw 默认 workspace)~/.openclaw/skills/wechat-ai-publisher/
(OpenClaw 全局 skills)
- 复制配置模板:
cp .env.example .env
- 在
.env
填入以下变量:
WECHAT_APPID
/WECHAT_SECRET
:公众号后台获取(用于换取access_token
)。REPLICATE_API_KEY
:用于生成配图(Replicate)。WECHAT_AUTHOR
(可选):文章作者字段(默认:田威 AI
)。DEFAULT_COVER_URL
(可选):图片生成失败时的兜底封面 URL。
- 让环境变量生效(示例):
set -a
source .env
set +a
辅助脚本 scripts.sh
需要以下命令可用:
bash
,curl
,jq
Skill 运行环境(采集内容)依赖你已配置好对应工具/API:
mcp__tavily__tavily-search
/mcp__tavily__tavily-extract
mcp__exa__web_search_exa
本仓库不包含这些服务的 API Key,你需要在自己的 Agent/IDE/CLI 工具里按其官方方式配置。
注意:
scripts.sh
只是便捷脚本;Skill 本体逻辑在SKILL.md
。
示例文章(科普/护理/科技风格):examples/nursing-tech-article.md
加载脚本:
source ./scripts.sh
常用函数:
get_wechat_token
generate_image "<prompt>" ["16:9"]
upload_to_r2 <local_path> <remote_path>
publish_article "<title>" "<content_html>" "<cover_prompt>" "<digest>"
参数建议:content_html
尽量从文件读取,避免 shell 引号/换行转义问题:
content_html=$(cat ./content.html)
publish_article "标题" "$content_html" "封面图 prompt" "摘要"
- 不要把
.env
提交到仓库;本仓库已通过.gitignore
忽略它。 - 任何线上发布前,建议在公众号后台/接口调用白名单中配置好服务器 IP(如有要求)。
OpenClaw 自带 Cron(需要你的 OpenClaw Gateway 常驻运行)。
推荐做法:把「默认配置」固定在 Skill 里,Cron 只负责每天触发一次;当你想改主题/风格/口吻时,再在触发消息里追加说明即可。
默认配置(可在 SKILL.md
里改):
- 主题:AI工具
- 风格:github
- 配图:封面 + 3 张
- 作者:田威 AI
示例:每天 09:00(上海时区)触发一次发布(使用默认配置):
openclaw cron add \
--name "wechat-ai-daily" \
--cron "0 9 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message "发布AI热点;不要提问,直接执行"
临时覆盖默认配置(只要把需求“说出来”即可):
openclaw cron add \
--name "wechat-ai-daily" \
--cron "0 9 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message "发布AI热点;主题=护理;风格=purple;配图=仅封面;写得更科普一些;不要提问,直接执行"
查看/管理:
openclaw cron list
openclaw cron delete --name "wechat-ai-daily"
▸ 展开全文
03-27 00:04 · 科技
OpenClaw AI agent skill for automated TikTok and Instagram carousel growth. Pass any website URL to analyze brand, competitors, colors, value proposition. Generates 6 visually coherent slides and auto-publishes with trending music via upload-post API. Built-in analytics and learning loop. Free tier, no credit card. Larry alternative.
Generate viral TikTok/Instagram carousel slides from any website automatically.
Post 1 carousel per day. Learn. Iterate. Grow.
Day 1: Post → Analyze → Learn
Day 7: 7 data points, patterns emerging
Day 30: Refined strategy, proven hooks, optimal timing
The skill accumulates insights across ALL your posts in learnings.json
.
- 🔍 Full Business Research - Analyzes brand, features, competitors from any URL
- 🎨 AI Image Generation - Creates 6 visually coherent slides with Gemini (free plan available, no credit card)
- 📱 Direct Publishing - Posts straight to your TikTok feed with auto trending music + Instagram simultaneously. No drafts, no manual steps
- 💰 100% Free to Start - Both APIs (Gemini and upload-post.com) have free plans, no credit card required
- 📊 Analytics Tracking - Monitors performance across all posts
- 🔄 Learning Loop - Accumulates insights: best hooks, times, days, styles
# 1. Analyze website
node scripts/analyze-web.js https://your-product.com
# 2. Generate slides
GEMINI_API_KEY="..." bash scripts/generate-slides.sh
# 3. Publish
UPLOADPOST_TOKEN="..." bash scripts/publish-carousel.sh
# 4. Check analytics
UPLOADPOST_TOKEN="..." bash scripts/check-analytics.sh 7
- Node.js 18+
- Playwright (
npm install playwright && npx playwright install chromium
) - uv (Python package runner)
- jq
- Hook - Attention-grabbing question/problem
- Problem - Agitate the pain point
- Agitation - Show competition advancing
- Solution - Reveal your product
- Feature - Key benefit
- CTA - Call to action (Link in bio)
- ✅ All credentials are read from environment variables, not stored in files
- ✅ No API keys are hardcoded in any scripts
- ✅ Website analysis only reads public web pages (no authentication scraping)
- ✅ All generated data stays local in
/tmp/carousel/
- Website URL → Analyzed by Playwright (local browser) →
analysis.json
- Analysis → Sent to Gemini API → Returns generated images
- Images + Caption → Sent to Upload-Post API → Published to TikTok/Instagram
- Analytics → Fetched from Upload-Post API → Stored locally in
learnings.json
No sensitive user data is transmitted. Only the content you're publishing.
Most carousel automation skills post to drafts and require manual publishing. Viraloop is different:
See SKILL.md for full documentation.
MIT
▸ 展开全文
03-27 00:04 · 科技
Automated AI news aggregation that feeds directly into your Obsidian vault. Stay current on the latest LLM research, trending repos, and breakthroughs — curated daily
Your morning briefing, hand-picked from the places that matter.
⭐ If this saves you time, give it a star. It helps others find it.
Researchers · ML engineers · Obsidian users · Anyone who wants to stay current without the morning rabbit hole
Latent Feed is a little tool that scours your favourite corners of the internet—papers, repos, threads, and discussions—then bundles the good stuff into one tidy digest. No more tab-hopping. Just set it up once, let it run daily, and wake up to a fresh batch of what’s worth reading.
You choose where it lands: your Obsidian vault, your inbox, or both.
Features: Run once a day · Clean digest by topic · Write to Obsidian or email
→ Examples — Email · Obsidian daily note
Click to expand — quick sample
## 🏢 Frontier Labs
**[Claude 4.5 Released](https://anthropic.com/...)** · anthropic
> New model with improved reasoning.
## 📄 Research
**[Transformers Are Bayesian Networks](https://arxiv.org/...)** · arxiv
> Connections between attention and probabilistic inference.
## 🔓 Open Source Repos
**[vLLM v0.6.0: Prefix Caching + LoRA](https://github.com/...)** · github
> 5x faster serving.
We pull from six places. Toggle any on or off in your config.
Add your own RSS feeds in config.yaml
under blogs.feeds
.
Items are auto-tagged into 10 categories. Edit processor/categorizer.py
to adjust keywords.
Latent Feed doesn’t fetch these, but they’re worth following:
YouTube — Andrej Karpathy, Stanford Online (CS25), Anthropic, Yannic Kilcher, DeepLearning.AI, Dwarkesh Patel
Courses — Karpathy: Zero to Hero, Stanford CS25: Transformers
pip install -r requirements.txt
cp config/config.example.yaml config/config.yaml
Open config/config.yaml
and at least set your vault path:
vault_path: "/path/to/your/obsidian-vault"
daily_notes_subfolder: "LatentFeed"
If you want short summaries for each item, set your API key:
export ANTHROPIC_API_KEY="your-api-key"
And in config.yaml
:
use_summarization: true
llm_provider: "claude"
Add this to config.yaml
:
email:
enabled: true
subscribers:
- "you@example.com"
smtp:
host: "smtp.gmail.com"
port: 587
from_addr: "your-bot@gmail.com"
subject: "Latent Feed — {date}"
Then set your SMTP credentials (prefer env vars):
export SMTP_USER="your-bot@gmail.com"
export SMTP_PASSWORD="your-app-password"
💡 Gmail users: use an App Password, not your usual login.
python main.py
Try it in 30 seconds — preview the digest with no config:
git clone https://github.com/<you>/latent-feed && cd latent-feed
pip install -r requirements.txt
python main.py --dry-run
Add a cron job so it runs at 8 AM:
crontab -e
# Add this line:
0 8 * * * cd /path/to/latent-feed && /path/to/python main.py
If your vault lives in a Git repo, you can run Latent Feed on a schedule:
-
Add these Secrets in your repo settings:
ANTHROPIC_API_KEY
(if you use summaries)VAULT_PATH
(path to your vault)SMTP_USER
,SMTP_PASSWORD
(if you use email)
-
If the vault is in another repo, clone it in the workflow first, then pass
VAULT_PATH
.
⚠️ Most local vaults can’t be reached from GitHub. For email-only, use--email-only
with your SMTP secrets.
These files are in .gitignore
and must never be committed to GitHub:
- Copy
config/config.example.yaml
toconfig/config.yaml
- Copy
.env.example
to.env
and fill in your real values - Never commit
config.yaml
or.env
— they hold private data
latent-feed/
├── main.py # Entry point
├── sources/ # News sources
├── processor/ # Filter, dedup, categorize, summarize
├── output/ # Markdown, Obsidian, email
├── models/ # Data models
├── config/ # Configuration
└── .github/workflows/ # GitHub Actions
- CONTRIBUTING.md — How to contribute
Found this useful? Star the repo, share it with a colleague, or post about it. Every bit helps.
MIT
▸ 展开全文
03-27 00:04 · 科技
GitHub 话题趋势追踪工具 - 按主题监控热门项目,AI 智能分析,每日邮件报告,GitHub Pages 可视化
追踪 GitHub 话题下的热门项目,AI 智能分析,每日趋势报告邮件
GitHub Topics Trending 是一个自动化仓库趋势追踪系统。它每天通过 GitHub API 获取指定话题下的热门仓库,使用 Claude AI 对仓库进行智能分析和分类,计算星标变化趋势,并通过 Resend 发送专业的 HTML 邮件报告,同时生成 GitHub Pages 静态网站。
- 开发者视角 - 快速了解特定话题下的热门项目
- 趋势洞察 - 捕捉新兴项目和工具的崛起
- 智能总结 - AI 帮你理解每个项目解决什么问题
- 自动化 - 无需手动查看网站,每天自动推送
GitHub Topics Daily - 2026-01-27
├── Top 20 经典榜单(含 AI 总结)
│ ├── 仓库名称(可点击跳转)、排名、星标数
│ ├── AI 一句话摘要
│ ├── 详细说明
│ └── 解决的问题标签
├── 星标增长 Top 5
├── 新晋项目
├── 活跃项目
└── 趋势统计
┌─────────────────────────────────────────────────────────────────┐
│ GitHub Topics Trending │
└─────────────────────────────────────────────────────────────────┘
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ GitHub │ │ GitHub │ │ Claude │
│ Actions │ ──▶ │ Fetcher │ ──▶ │ Summarizer │
│ (Cron Daily)│ │ (API) │ │ AI │
└──────────────┘ └──────┬───────┘ └──────┬───────┘
│ │
▼ │
┌──────────────┐ │
│ README │ │
│ Fetcher │ │
└──────┬───────┘ │
│ │
└───────┬───────────────┘
│
▼
┌──────────────┐
│ Database │
│ (SQLite) │
└──────┬───────┘
│
▼
┌──────────────┐
│ Trend │
│ Analyzer │
└──────┬───────┘
│
┌─────────────────┴─────────────────┐
▼ ▼
┌──────────────┐ ┌──────────────┐
│ Email │ │ Web │
│ Reporter │ │ Generator │
└──────┬───────┘ └──────┬───────┘
│ │
▼ ▼
┌──────────────┐ ┌──────────────┐
│ Resend │ │ GitHub │
│ Sender │ │ Pages │
└──────┬───────┘ └──────────────┘
│
▼
──────► 您的邮箱
- Python 3.11+
- GitHub Personal Access Token
- Claude API Key(支持智谱代理)
- Resend API Key
# 克隆仓库
git clone https://github.com/geekjourneyx/github-topics-trending.git
cd github-topics-trending
# 安装依赖
pip install -r requirements.txt
# 复制环境变量模板
cp .env.example .env
# 编辑 .env 文件,填入你的 API Keys
nano .env
# 设置环境变量
export GH_TOKEN="your_github_token"
export ZHIPU_API_KEY="your_api_key"
export RESEND_API_KEY="your_resend_key"
export EMAIL_TO="your_email@example.com"
# 运行(完整流程)
python -m src.main
# 仅获取数据,不发送邮件
python -m src.main --fetch-only
注意: 环境变量已配置为使用 GH_TOKEN
和 TOPIC
,避免以 GITHUB_
开头的 Secret 名称。
# 设置环境变量
export GH_TOKEN="your_github_token"
export TOPIC="claude-code"
---
## 配置说明
### 环境变量
| 变量 | 必需 | 说明 | 默认值 |
|-----|------|------|--------|
| `GH_TOKEN` | Yes | GitHub Personal Access Token | - |
| `TOPIC` | No | 要追踪的 GitHub Topic | `claude-code` |
| `ZHIPU_API_KEY` | Yes | Claude API Key(智谱代理) | - |
| `ANTHROPIC_BASE_URL` | No | Claude API 地址 | `https://open.bigmodel.cn/api/anthropic` |
| `RESEND_API_KEY` | Yes | Resend API Key | - |
| `EMAIL_TO` | Yes | 收件人邮箱 | - |
| `RESEND_FROM_EMAIL` | No | 发件人邮箱 | `onboarding@resend.dev` |
| `DB_PATH` | No | 数据库路径 | `data/github-trending.db` |
| `DB_RETENTION_DAYS` | No | 数据保留天数 | `90` |
| `SURGE_THRESHOLD` | No | 暴涨阈值(比例) | `0.3` |
### GitHub Token 配置
#### 申请 Personal Access Token (PAT)
1. 登录 GitHub
2. 点击头像 → **Settings**
3. 左侧菜单最下方 → **Developer settings**
4. **Personal access tokens** → **Tokens (classic)**
5. **Generate new token** → **Generate new token (classic)**
6. 配置 Token:
- **Note**: 输入 `GitHub Topics Bot`
- **Expiration**: 选择有效期(建议 `90 days` 或 `No expiration`)
- **勾选权限**:
- ☑️ `public_repo` (访问公共仓库)
- 点击 **Generate token**
7. 复制 token(只显示一次!请妥善保存)
#### 在 GitHub Actions 中配置
1. 进入 GitHub 仓库页面
2. **Settings** → **Secrets and variables** → **Actions**
3. **New repository secret**
4. 配置:
- **Name**: `GITHUB_TOKEN`
- **Value**: 粘贴你的 token
5. 点击 **Add secret**
### Resend 配置
1. 注册 [Resend](https://resend.com)
2. 创建 API Key
3. 配置发件人域名(或使用默认的 `onboarding@resend.dev`)
---
## 使用方法
### 命令行运行
```bash
# 完整流程(获取数据 + AI 分析 + 发送邮件 + 生成网站)
python -m src.main
# 仅获取数据
python -m src.main --fetch-only
# 查看最新数据日期
sqlite3 data/github-trending.db "SELECT date FROM repos_daily ORDER BY date DESC LIMIT 1;"
# 查看今日排行榜 Top 10
sqlite3 data/github-trending.db "SELECT rank, repo_name, stars FROM repos_daily WHERE date = '2026-01-27' ORDER BY rank LIMIT 10;"
# 查看仓库详情
sqlite3 data/github-trending.db "SELECT repo_name, summary, category FROM repos_details WHERE repo_name = 'anthropics/claude-code';"
-
进入仓库 Settings → Pages
-
Build and deployment 配置:
- Source: Deploy from a branch
- Branch: gh-pages 分支
- Folder: / (root)
- 点击 Save
- 仓库 Settings → General
- 滚动到底部 Danger Zone
- Change repository visibility → 选择 Public
- 确认更改
https://geekjourneyx.github.io/github-topics-trending/
-
Settings → Secrets and variables → Actions → New repository secret
-
添加以下 Secrets:
- Settings → Actions → General
- Workflow permissions → 选择 Read and write permissions
- 点击 Save
- 点击 Actions 标签
- 选择 GitHub Topics Trending workflow
- 点击 Run workflow → Run workflow
默认每天 UTC 02:00(北京时间 10:00)自动运行。
github-topics-trending/
├── .github/workflows/
│ └── github-trending.yml # GitHub Actions 配置
├── src/
│ ├── config.py # 配置管理
│ ├── database.py # SQLite 操作
│ ├── github_fetcher.py # GitHub API 采集
│ ├── readme_fetcher.py # README 获取
│ ├── claude_summarizer.py # AI 分析
│ ├── trend_analyzer.py # 趋势计算
│ ├── email_reporter.py # 邮件生成
│ ├── web_generator.py # 网站生成
│ ├── resend_sender.py # 邮件发送
│ └── main.py # 主入口
├── plugins/
│ └── github-topics/ # Claude Code Skill
├── docs/ # GitHub Pages 输出
├── data/
│ └── github-tre
▸ 展开全文