{"repo":"T1mn/MarketPulse","free":true,"listed":false,"github":"https://github.com/T1mn/MarketPulse","clone":"git clone https://github.com/T1mn/MarketPulse.git","description":"Financial News AI Analysis Notification Service","language":"TypeScript","stars":301,"topics":["finance","market","trading"],"license":"MIT","category":"trading","readme_excerpt":"MarketPulse - 金融资讯 AI 分析推送服务 English Version 本项目完全开源，欢迎社区贡献和改进。如果您觉得这个项目对您有帮助，欢迎给个 star ⭐️ 贡献指南 我们欢迎任何形式的贡献，包括但不限于： - 提交问题和建议 - 改进文档 - 提交代码改进 - 分享使用经验 MarketPulse 是一个轻量级的金融资讯分析推送服务，它基于 Google Gemini AI 构建，能够自动获取最新的金融新闻，进行智能分析，并将包含明确 投资建议 、 信心指数 和 来源可靠度 的分析结果，通过 Bark 和 PushPlus 推送到您的设备。 核心特性 - 🤖 基于 Google Gemini AI 的智能分析 - 🔔 通过 Bark 和 PushPlus 实现多设备实时推送 - 📰 通过 Finnhub 获取最新金融新闻 - 📊 提供市场影响、投资建议、信心指数和来源可靠度（百分比形式） - ⚙️ 支持多渠道、多设备推送，并为不同渠道优化消息格式 - 🔄 自动去重，避免重复推送 - 🛡️ 安全的环境变量配置 - 🎛️ 守护进程管理 (启动 / 停止 / 重启 / 状态) - 🧠 状态管理机制，可自动处理 API 推送频率限制 系统要求 - Python 3.8+ - uv（推荐用于 Python 环境管理） 快速开始 1. 安装 uv（可选但推荐） 2. 克隆项目 3. 创建虚拟环境并安装依赖 4. 配置环境变量 复制 .env.example 文件并重命名为 .env ： 编辑 .env 文件，填入您的 API 密钥： 5. 运行服务 配置说明 新闻源配置 在 config.py 中可以配置信任的新闻源： 市场关注配置 可以配置关注的股票代码： 推送间隔配置 默认每 30 分钟检查一次新闻，可以在 config.py 中修改： 推送效果 点击查看 Bark 和 PushPlus 推送效果图 PushPlus 微信推送效果 Bark 推送效果 由于 Markdown 不支持视频嵌入，请点击此处查看 Bark 推送录屏。 注意事项 1. API 密钥 : 确保所有需要的 API 密钥都已正确配置。 2. 环境管理 : 建议使用 uv 进行环境管理，以获得更好的依赖解析性能。 3. 首次运行 : 首次运行时会立即执行一次任务，之后按 config.py 中配置的间隔时间运行。 4. 状态文件 : 已处理的新闻 ID 和推送服务状态（如推送限制）会保存在 app state.json 中，避免重复推送和超出 API 限制。 依赖说明 主要依赖包括： - google-generativeai : Google Gemini AI 接口 - python-dotenv : 环境变量管理 - schedule : 定时任务调度 - requests : HTTP 请求 致谢 - Google Gemini AI - 提供强大的 AI 分析能力 - Bark - 提供便捷的推送服务 - Finnhub - 提供优质的金融新闻数据 API 许可证 MIT License 服务管理 守护进程运行 MarketPulse 支持以守护进程方式运行，提供完整的进程管理功能： 服务将完全在后台运行，不会占用终端。启动服务后，您可以安全地关闭终端窗口。 日志系统 服务使用分层日志系统，所有日志文件存放在 logs 目录下： - logs/market pulse.log : 主程序运行日志 - logs/daemon.log : ","default_branch":null,"files":null,"tree":[],"storefront":"/r/T1mn","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/T1mn/MarketPulse/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}