#!/usr/bin/env python3 """ AI 每日新闻生成器 - 搜索最新 AI 产品 - 生成 HTML 页面 - 推送到 Gitea 仓库 """ import os import sys import json import subprocess from datetime import datetime from pathlib import Path # Gitea 配置 GITEA_URL = "https://git.zjpb.net" GITEA_USER = "jowelin83" GITEA_TOKEN = "2882a85f18cdd6fcfcda5a64603dbf5bfa46947d" REPO_NAME = "ai-daily-news" # 临时目录 TEMP_DIR = Path("/tmp/ai-news-gen") REPO_DIR = TEMP_DIR / REPO_NAME def search_ai_products(): """搜索最新AI产品(使用 web_search)""" # 这里需要调用 OpenClaw 的 web_search 工具 # 现在返回示例数据 return [ { "name": "示例产品", "category": "AI工具", "desc": "示例描述", "company": "Example Inc", "date": "1天前", "tags": ["热门", "AI"] } ] def generate_html(products, date_str): """生成HTML页面""" html = f""" 🔥 AI每日新闻 - {date_str} """ return html def push_to_gitea(date_str, html_content): """推送到Gitea""" # 克隆仓库 repo_url = f"https://{GITEA_TOKEN}@{GITEA_URL.replace('https://', '')}/{GITEA_USER}/{REPO_NAME}.git" if not REPO_DIR.exists(): subprocess.run(["git", "clone", repo_url], cwd=TEMP_DIR, check=True) # 创建日期目录 date_dir = REPO_DIR / date_str date_dir.mkdir(exist_ok=True) # 写入HTML (date_dir / "index.html").write_text(html_content) # 提交推送 subprocess.run(["git", "add", "."], cwd=REPO_DIR, check=True) subprocess.run(["git", "commit", "-m", f"feat: 添加 {date_str} AI新闻"], cwd=REPO_DIR, check=True) subprocess.run(["git", "push", "origin", "main"], cwd=REPO_DIR, check=True) def main(): # 获取日期 today = datetime.now().strftime("%Y-%m-%d") # 搜索产品 products = search_ai_products() # 生成HTML html = generate_html(products, today) # 推送到Gitea push_to_gitea(today, html) print(f"✅ {today} AI新闻已推送") if __name__ == "__main__": main()