# AutoReportHub **Repository Path**: wangchito/auto-report-hub ## Basic Information - **Project Name**: AutoReportHub - **Description**: 这是一个集成了 **浏览器自动化 (Playwright)** 和 **AI 智能分析 (LangChain)** 的工作流平台。旨在帮助企业员工自动化繁琐的日报/周报流程,从系统抓取数据、自动总结分析,到生成精美报告并发送通知,全流程无需人工干预。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-12-01 - **Last Updated**: 2026-01-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: AI, Python ## README # AI + 自动化集成工作流平台 [![Python](https://img.shields.io/badge/Python-3.8%2B-blue)](https://www.python.org/) [![Playwright](https://img.shields.io/badge/Playwright-Automation-green)](https://playwright.dev/) [![LangChain](https://img.shields.io/badge/LangChain-AI-orange)](https://langchain.com/) 这是一个集成了 **浏览器自动化 (Playwright)** 和 **AI 智能分析 (LangChain)** 的工作流平台。旨在帮助企业员工自动化繁琐的日报/周报流程,从系统抓取数据、自动总结分析,到生成精美报告并发送通知,全流程无需人工干预。 ## ✨ 核心功能 - **🤖 自动化操作**:基于 Playwright 模拟人工登录企业内部系统,自动抓取日报/周报数据。 - **🧠 AI 智能分析**:利用 LLM (OpenAI/DeepSeek) 对抓取的数据进行深度理解、汇总和分析,生成结构化周报。 - **📝 多格式报告**:自动生成 Markdown 和 PDF 格式的周报文件,排版精美。 - **🔔 即时通知**:支持飞书 (Feishu) 和 钉钉 (DingTalk) Webhook 机器人通知,任务完成后第一时间推送到群组。 ## 🛠️ 技术栈 - **语言**: Python 3.8+ - **自动化**: Playwright - **AI 框架**: LangChain - **通知**: Requests (Webhook) - **PDF 生成**: pdfkit (wkhtmltopdf) ## 🚀 快速开始 ### 1. 环境准备 确保您的系统已安装 Python 3.8 或更高版本。 ```bash # 1. 克隆或下载本项目到本地 git clone cd "Automation Integrated Workflow Platform" # 2. 安装 Python 依赖 pip install -r requirements.txt # 3. 安装 Playwright 浏览器内核 playwright install chromium ``` > **注意**: 如需生成 PDF 报告,请确保系统中安装了 [wkhtmltopdf](https://wkhtmltopdf.org/downloads.html)。 ### 2. 配置项目 复制 `.env.example` 文件并重命名为 `.env`,填入您的配置信息: ```ini # .env # AI 配置 (推荐使用 OpenAI 或 兼容接口) OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx OPENAI_MODEL_NAME=gpt-3.5-turbo # 目标系统配置 (企业内网) TARGET_SYSTEM_URL=https://portal.example.com/login TARGET_USERNAME=your_username TARGET_PASSWORD=your_password # 通知配置 (选填) FEISHU_WEBHOOK=https://open.feishu.cn/open-apis/bot/v2/hook/xxx DINGTALK_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=xxx ``` ### 3. 运行 ```bash python main.py ``` 程序将按以下顺序执行: 1. 启动浏览器 -> 登录系统 -> 抓取日报。 2. 调用 AI 分析日报内容 -> 生成周报总结。 3. 生成 Markdown 和 PDF 文件保存至 `outputs/` 目录。 4. 发送飞书/钉钉通知。 ## 📂 项目结构 ```text . ├── agents/ │ └── summarizer.py # AI 总结 Agent (Prompt 定义) ├── config/ │ └── settings.py # 配置加载 ├── core/ │ ├── browser.py # Playwright 浏览器自动化封装 │ ├── llm.py # LLM 服务初始化 │ └── notifier.py # 消息通知封装 ├── utils/ │ └── pdf_generator.py # 报告生成工具 ├── outputs/ # 生成的报告文件存放处 ├── main.py # 程序主入口 ├── requirements.txt # 依赖列表 └── .env.example # 环境变量示例 ``` ## ⚠️ 注意事项 1. **选择器适配**:`core/browser.py` 中的 CSS 选择器(如登录框、日报列表)是通用的占位符。**您必须根据实际企业系统的 DOM 结构修改这些选择器**,否则无法正确抓取数据。 2. **模拟模式**:如果您未配置 `TARGET_SYSTEM_URL`,程序将自动使用内置的模拟数据运行,方便您体验 AI 总结和报告生成功能。 ## 📄 License MIT License