{"repo": "a0150315/tradingagentsdeepseek", "files": {".github/workflows/portfolio-analysis.yml": {"fa30fc061fd0db1a39c6d5c8a2e4a3c8da2186d1": {"t": 1785747053.622317, "n": 3827, "h": "56bb9bef5b0162ca", "c": "name: 📊 投资组合分析报告\n\non:\n schedule:\n - cron: '30 16 * * 0' # UTC 16:30 = 北京时间周一 00:30 (周日UTC对应周一北京时间)\n workflow_dispatch:\n\njobs:\n portfolio-analysis:\n runs-on: ubuntu-22.04\n\n steps:\n - name: 🔍 检出代码仓库\n uses: actions/checkout@v4\n\n - name: 🐍 设置 Python 环境\n uses: actions/setup-python@v5\n with:\n python-version: '3.11'\n\n - name: 📦 安装编译依赖 (build-essential, wget)\n run: sudo apt-get update && sudo apt-get install -y build-essential wget\n\n - name: 🔧 下载、编译并安装 TA-Lib C 库 (v0.4.0)\n run: |\n echo \"下载 TA-Lib C 库源码...\"\n wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz\n echo \"解压源码...\"\n tar -xzf ta-lib-0.4.0-src.tar.gz\n cd ta-lib/\n echo \"配置 TA-Lib C 库 (prefix=/usr)...\"\n ./configure --prefix=/usr\n echo \"编译 TA-Lib C 库...\"\n make\n echo \"安装 TA-Lib C 库...\"\n sudo make install\n echo \"更新动态链接器缓存...\"\n sudo ldconfig\n cd ..\n echo \"TA-Lib C 库安装完成.\"\n\n - name: ✅ 验证 TA-Lib C 库安装\n run: |\n echo \"验证 /usr/lib 中的 TA-Lib 库文件...\"\n ls -l /usr/lib/libta_lib* || (echo \"库文件未在 /usr/lib 中找到!\" && exit 1)\n echo \"验证 /usr/include/ta-lib 中的 TA-Lib 头文件...\"\n ls -l /usr/include/ta-lib/ta_libc.h || (echo \"头文件未在 /usr/include/ta-lib 中找到!\" && exit 1)\n\n - name: 🔨 首先安装 TA-Lib 的 Python 构建依赖\n run: |\n python -m pip install --upgrade pip\n echo \"安装 Cython, NumPy<2, 和 wheel...\"\n pip install \"cython>=0.29.36\" \"numpy<2\" \"wheel\" --verbose\n\n - name: 🎯 单独安装 TA-Lib Python 包装器\n run: |\n export TA_INCLUDE_PATH=\"/usr/include\"\n export TA_LIBRARY_PATH=\"/usr/lib\"\n export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH\n echo \"TA_INCLUDE_PATH=${TA_INCLUDE_PATH}\"\n echo \"TA_LIBRARY_PATH=${TA_LIBRARY_PATH}\"\n echo \"LD_LIBRARY_PATH=${LD_LIBRARY_PATH}\"\n\n echo \"安装 TA-Lib==0.4.29...\"\n pip install --no-build-isolation TA-Lib==0.4.29 --verbose\n\n - name: 📚 安装剩余的 Python 依赖\n run: |\n echo \"从 requirements.txt 安装剩余的依赖...\"\n # Pip 会跳过已安装的 numpy 和 TA-Lib\n pip install -r requirements.txt --verbose\n\n - name: 🔧 配置环境变量\n env:\n # DeepSeek API配置\n DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}\n DEEPSEEK_BASE_URL: ${{ secrets.DEEPSEEK_BASE_URL }}\n DEEPSEEK_MODEL: ${{ secrets.DEEPSEEK_MODEL }}\n \n # 邮件配置\n EMAIL_SMTP_SERVER: ${{ secrets.EMAIL_SMTP_SERVER }}\n EMAIL_PORT: ${{ secrets.EMAIL_PORT }}\n EMAIL_SENDER_EMAIL: ${{ secrets.EMAIL_SENDER_EMAIL }}\n EMAIL_SENDER_NAME: ${{ secrets.EMAIL_SENDER_NAME }}\n EMAIL_PASSWORD: ${{ secrets.EMAIL_PASSWORD }}\n EMAIL_RECEIVER_EMAIL: ${{ secrets.EMAIL_RECEIVER_EMAIL }}\n run: |\n # 创建.env文件\n echo \"DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}\" >> .env\n echo \"DEEPSEEK_BASE_URL=${DEEPSEEK_BASE_URL}\" >> .env\n echo \"DEEPSEEK_MODEL=${DEEPSEEK_MODEL}\" >> .env\n echo \"EMAIL_SMTP_SERVER=${EMAIL_SMTP_SERVER}\" >> .env\n echo \"EMAIL_PORT=${EMAIL_PORT}\" >> .env\n echo \"EMAIL_SENDER_EMAIL=${EMAIL_SENDER_EMAIL}\" >> .env\n echo \"EMAIL_SENDER_NAME=${EMAIL_SENDER_NAME}\" >> .env\n echo \"EMAIL_PASSWORD=${EMAIL_PASSWORD}\" >> .env\n echo \"EMAIL_RECEIVER_EMAIL=${EMAIL_RECEIVER_EMAIL}\" >> .env\n \n echo \"✅ 环境变量配置完成\"\n\n - name: 📈 运行投资组合分析\n run: |\n echo \"🚀 开始执行投资组合分析...\"\n python batch_portfolio_analyzer.py\n\n - name: 📊 上传分析结果作为构建产物\n uses: actions/upload-artifact@v4\n if: always()\n with:\n name: portfolio-analysis-results-${{ github.run_id }}\n path: |\n portfolio_analysis_*.csv\n logs/\n retention-days: 7\n\n - name: 🧹 清理敏感文件\n if: always()\n run: |\n rm -f .env\n echo \"🧹 敏感文件已清理\""}, "82eeace58ff42df70a884c78eac3ca3de65ee988": {"t": 1785770134.5312066, "n": 3827, "h": "56bb9bef5b0162ca", "c": "name: 📊 投资组合分析报告\n\non:\n schedule:\n - cron: '30 16 * * 0' # UTC 16:30 = 北京时间周一 00:30 (周日UTC对应周一北京时间)\n workflow_dispatch:\n\njobs:\n portfolio-analysis:\n runs-on: ubuntu-22.04\n\n steps:\n - name: 🔍 检出代码仓库\n uses: actions/checkout@v4\n\n - name: 🐍 设置 Python 环境\n uses: actions/setup-python@v5\n with:\n python-version: '3.11'\n\n - name: 📦 安装编译依赖 (build-essential, wget)\n run: sudo apt-get update && sudo apt-get install -y build-essential wget\n\n - name: 🔧 下载、编译并安装 TA-Lib C 库 (v0.4.0)\n run: |\n echo \"下载 TA-Lib C 库源码...\"\n wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz\n echo \"解压源码...\"\n tar -xzf ta-lib-0.4.0-src.tar.gz\n cd ta-lib/\n echo \"配置 TA-Lib C 库 (prefix=/usr)...\"\n ./configure --prefix=/usr\n echo \"编译 TA-Lib C 库...\"\n make\n echo \"安装 TA-Lib C 库...\"\n sudo make install\n echo \"更新动态链接器缓存...\"\n sudo ldconfig\n cd ..\n echo \"TA-Lib C 库安装完成.\"\n\n - name: ✅ 验证 TA-Lib C 库安装\n run: |\n echo \"验证 /usr/lib 中的 TA-Lib 库文件...\"\n ls -l /usr/lib/libta_lib* || (echo \"库文件未在 /usr/lib 中找到!\" && exit 1)\n echo \"验证 /usr/include/ta-lib 中的 TA-Lib 头文件...\"\n ls -l /usr/include/ta-lib/ta_libc.h || (echo \"头文件未在 /usr/include/ta-lib 中找到!\" && exit 1)\n\n - name: 🔨 首先安装 TA-Lib 的 Python 构建依赖\n run: |\n python -m pip install --upgrade pip\n echo \"安装 Cython, NumPy<2, 和 wheel...\"\n pip install \"cython>=0.29.36\" \"numpy<2\" \"wheel\" --verbose\n\n - name: 🎯 单独安装 TA-Lib Python 包装器\n run: |\n export TA_INCLUDE_PATH=\"/usr/include\"\n export TA_LIBRARY_PATH=\"/usr/lib\"\n export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH\n echo \"TA_INCLUDE_PATH=${TA_INCLUDE_PATH}\"\n echo \"TA_LIBRARY_PATH=${TA_LIBRARY_PATH}\"\n echo \"LD_LIBRARY_PATH=${LD_LIBRARY_PATH}\"\n\n echo \"安装 TA-Lib==0.4.29...\"\n pip install --no-build-isolation TA-Lib==0.4.29 --verbose\n\n - name: 📚 安装剩余的 Python 依赖\n run: |\n echo \"从 requirements.txt 安装剩余的依赖...\"\n # Pip 会跳过已安装的 numpy 和 TA-Lib\n pip install -r requirements.txt --verbose\n\n - name: 🔧 配置环境变量\n env:\n # DeepSeek API配置\n DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}\n DEEPSEEK_BASE_URL: ${{ secrets.DEEPSEEK_BASE_URL }}\n DEEPSEEK_MODEL: ${{ secrets.DEEPSEEK_MODEL }}\n \n # 邮件配置\n EMAIL_SMTP_SERVER: ${{ secrets.EMAIL_SMTP_SERVER }}\n EMAIL_PORT: ${{ secrets.EMAIL_PORT }}\n EMAIL_SENDER_EMAIL: ${{ secrets.EMAIL_SENDER_EMAIL }}\n EMAIL_SENDER_NAME: ${{ secrets.EMAIL_SENDER_NAME }}\n EMAIL_PASSWORD: ${{ secrets.EMAIL_PASSWORD }}\n EMAIL_RECEIVER_EMAIL: ${{ secrets.EMAIL_RECEIVER_EMAIL }}\n run: |\n # 创建.env文件\n echo \"DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}\" >> .env\n echo \"DEEPSEEK_BASE_URL=${DEEPSEEK_BASE_URL}\" >> .env\n echo \"DEEPSEEK_MODEL=${DEEPSEEK_MODEL}\" >> .env\n echo \"EMAIL_SMTP_SERVER=${EMAIL_SMTP_SERVER}\" >> .env\n echo \"EMAIL_PORT=${EMAIL_PORT}\" >> .env\n echo \"EMAIL_SENDER_EMAIL=${EMAIL_SENDER_EMAIL}\" >> .env\n echo \"EMAIL_SENDER_NAME=${EMAIL_SENDER_NAME}\" >> .env\n echo \"EMAIL_PASSWORD=${EMAIL_PASSWORD}\" >> .env\n echo \"EMAIL_RECEIVER_EMAIL=${EMAIL_RECEIVER_EMAIL}\" >> .env\n \n echo \"✅ 环境变量配置完成\"\n\n - name: 📈 运行投资组合分析\n run: |\n echo \"🚀 开始执行投资组合分析...\"\n python batch_portfolio_analyzer.py\n\n - name: 📊 上传分析结果作为构建产物\n uses: actions/upload-artifact@v4\n if: always()\n with:\n name: portfolio-analysis-results-${{ github.run_id }}\n path: |\n portfolio_analysis_*.csv\n logs/\n retention-days: 7\n\n - name: 🧹 清理敏感文件\n if: always()\n run: |\n rm -f .env\n echo \"🧹 敏感文件已清理\""}, "318a0af209fb6ad74ac4f4d9d0d9f974100b2c8f": {"t": 1785770135.895507, "n": 3808, "h": "d4a8fc9ad3417c74", "c": "name: 📊 投资组合分析报告\n\non:\n schedule:\n - cron: '0 17 * * *' # UTC 17:00 = 北京时间 01:00\n workflow_dispatch:\n\njobs:\n portfolio-analysis:\n runs-on: ubuntu-22.04\n\n steps:\n - name: 🔍 检出代码仓库\n uses: actions/checkout@v4\n\n - name: 🐍 设置 Python 环境\n uses: actions/setup-python@v5\n with:\n python-version: '3.11'\n\n - name: 📦 安装编译依赖 (build-essential, wget)\n run: sudo apt-get update && sudo apt-get install -y build-essential wget\n\n - name: 🔧 下载、编译并安装 TA-Lib C 库 (v0.4.0)\n run: |\n echo \"下载 TA-Lib C 库源码...\"\n wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz\n echo \"解压源码...\"\n tar -xzf ta-lib-0.4.0-src.tar.gz\n cd ta-lib/\n echo \"配置 TA-Lib C 库 (prefix=/usr)...\"\n ./configure --prefix=/usr\n echo \"编译 TA-Lib C 库...\"\n make\n echo \"安装 TA-Lib C 库...\"\n sudo make install\n echo \"更新动态链接器缓存...\"\n sudo ldconfig\n cd ..\n echo \"TA-Lib C 库安装完成.\"\n\n - name: ✅ 验证 TA-Lib C 库安装\n run: |\n echo \"验证 /usr/lib 中的 TA-Lib 库文件...\"\n ls -l /usr/lib/libta_lib* || (echo \"库文件未在 /usr/lib 中找到!\" && exit 1)\n echo \"验证 /usr/include/ta-lib 中的 TA-Lib 头文件...\"\n ls -l /usr/include/ta-lib/ta_libc.h || (echo \"头文件未在 /usr/include/ta-lib 中找到!\" && exit 1)\n\n - name: 🔨 首先安装 TA-Lib 的 Python 构建依赖\n run: |\n python -m pip install --upgrade pip\n echo \"安装 Cython, NumPy<2, 和 wheel...\"\n pip install \"cython>=0.29.36\" \"numpy<2\" \"wheel\" --verbose\n\n - name: 🎯 单独安装 TA-Lib Python 包装器\n run: |\n export TA_INCLUDE_PATH=\"/usr/include\"\n export TA_LIBRARY_PATH=\"/usr/lib\"\n export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH\n echo \"TA_INCLUDE_PATH=${TA_INCLUDE_PATH}\"\n echo \"TA_LIBRARY_PATH=${TA_LIBRARY_PATH}\"\n echo \"LD_LIBRARY_PATH=${LD_LIBRARY_PATH}\"\n\n echo \"安装 TA-Lib==0.4.29...\"\n pip install --no-build-isolation TA-Lib==0.4.29 --verbose\n\n - name: 📚 安装剩余的 Python 依赖\n run: |\n echo \"从 requirements.txt 安装剩余的依赖...\"\n # Pip 会跳过已安装的 numpy 和 TA-Lib\n pip install -r requirements.txt --verbose\n\n - name: 🔧 配置环境变量\n env:\n # DeepSeek API配置\n DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}\n DEEPSEEK_BASE_URL: ${{ secrets.DEEPSEEK_BASE_URL }}\n DEEPSEEK_MODEL: ${{ secrets.DEEPSEEK_MODEL }}\n \n # 邮件配置\n EMAIL_SMTP_SERVER: ${{ secrets.EMAIL_SMTP_SERVER }}\n EMAIL_PORT: ${{ secrets.EMAIL_PORT }}\n EMAIL_SENDER_EMAIL: ${{ secrets.EMAIL_SENDER_EMAIL }}\n EMAIL_SENDER_NAME: ${{ secrets.EMAIL_SENDER_NAME }}\n EMAIL_PASSWORD: ${{ secrets.EMAIL_PASSWORD }}\n EMAIL_RECEIVER_EMAIL: ${{ secrets.EMAIL_RECEIVER_EMAIL }}\n run: |\n # 创建.env文件\n echo \"DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}\" >> .env\n echo \"DEEPSEEK_BASE_URL=${DEEPSEEK_BASE_URL}\" >> .env\n echo \"DEEPSEEK_MODEL=${DEEPSEEK_MODEL}\" >> .env\n echo \"EMAIL_SMTP_SERVER=${EMAIL_SMTP_SERVER}\" >> .env\n echo \"EMAIL_PORT=${EMAIL_PORT}\" >> .env\n echo \"EMAIL_SENDER_EMAIL=${EMAIL_SENDER_EMAIL}\" >> .env\n echo \"EMAIL_SENDER_NAME=${EMAIL_SENDER_NAME}\" >> .env\n echo \"EMAIL_PASSWORD=${EMAIL_PASSWORD}\" >> .env\n echo \"EMAIL_RECEIVER_EMAIL=${EMAIL_RECEIVER_EMAIL}\" >> .env\n \n echo \"✅ 环境变量配置完成\"\n\n - name: 📈 运行投资组合分析\n run: |\n echo \"🚀 开始执行投资组合分析...\"\n python batch_portfolio_analyzer.py\n\n - name: 📊 上传分析结果作为构建产物\n uses: actions/upload-artifact@v4\n if: always()\n with:\n name: portfolio-analysis-results-${{ github.run_id }}\n path: |\n portfolio_analysis_*.csv\n logs/\n retention-days: 7\n\n - name: 🧹 清理敏感文件\n if: always()\n run: |\n rm -f .env\n echo \"🧹 敏感文件已清理\""}}}}