1 line
9.5 KiB
JSON
1 line
9.5 KiB
JSON
{"repo": "caojiajun777/ai-daily-agent", "files": {"docker-compose.yml": {"2d6423caf00cf65ba508c4480ff6561c136075fb": {"t": 1785746991.0007043, "n": 861, "h": "d4d663bc41f62a2e", "c": "version: \"3.8\"\n\nservices:\n web:\n build: .\n ports:\n - \"8080:8080\"\n volumes:\n - ./artifacts:/app/artifacts\n - ./agent/configs:/app/agent/configs\n - ./subscribers.txt:/app/subscribers.txt\n environment:\n - ARTIFACTS_DIR=/app/artifacts\n - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-}\n - GITHUB_PUBLISH_TOKEN=${GITHUB_PUBLISH_TOKEN:-}\n - PUBLISH_REPO=${PUBLISH_REPO:-caojiajun777/ai-daily-agent}\n - PUBLISH_ISSUE_LABELS=${PUBLISH_ISSUE_LABELS:-ai-daily,agent-generated}\n - X_BEARER_TOKEN=${X_BEARER_TOKEN:-}\n - X_AUTH_TOKEN=${X_AUTH_TOKEN:-}\n - X_CT0=${X_CT0:-}\n - SMTP_USER=${SMTP_USER:-}\n - SMTP_PASSWORD=${SMTP_PASSWORD:-}\n - EMAIL_SUBSCRIBERS=${EMAIL_SUBSCRIBERS:-}\n - X_TWID=${X_TWID:-}\n - X_GUEST_ID=${X_GUEST_ID:-}\n - X_KDT=${X_KDT:-}\n restart: unless-stopped\n"}, "23fe9ff53456d32b87f9785b7de3bf5772bf7912": {"t": 1785769563.318021, "n": 861, "h": "d4d663bc41f62a2e", "c": "version: \"3.8\"\n\nservices:\n web:\n build: .\n ports:\n - \"8080:8080\"\n volumes:\n - ./artifacts:/app/artifacts\n - ./agent/configs:/app/agent/configs\n - ./subscribers.txt:/app/subscribers.txt\n environment:\n - ARTIFACTS_DIR=/app/artifacts\n - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-}\n - GITHUB_PUBLISH_TOKEN=${GITHUB_PUBLISH_TOKEN:-}\n - PUBLISH_REPO=${PUBLISH_REPO:-caojiajun777/ai-daily-agent}\n - PUBLISH_ISSUE_LABELS=${PUBLISH_ISSUE_LABELS:-ai-daily,agent-generated}\n - X_BEARER_TOKEN=${X_BEARER_TOKEN:-}\n - X_AUTH_TOKEN=${X_AUTH_TOKEN:-}\n - X_CT0=${X_CT0:-}\n - SMTP_USER=${SMTP_USER:-}\n - SMTP_PASSWORD=${SMTP_PASSWORD:-}\n - EMAIL_SUBSCRIBERS=${EMAIL_SUBSCRIBERS:-}\n - X_TWID=${X_TWID:-}\n - X_GUEST_ID=${X_GUEST_ID:-}\n - X_KDT=${X_KDT:-}\n restart: unless-stopped\n"}}, ".github/workflows/agent_publish_manual.yml": {"2d6423caf00cf65ba508c4480ff6561c136075fb": {"t": 1785747053.7210796, "n": 3535, "h": "6443de3e13ae09bf", "c": "name: Agent — Manual Publish\n\n# Manual-only. NO cron in this phase.\n#\n# IMPORTANT — token policy:\n# This workflow MUST authenticate with the repo OWNER's PAT, not the default\n# GITHUB_TOKEN. Issues created by github-actions[bot] lack proper authorship\n# for audit attribution and resume/demo consistency. Configure a repository\n# secret named GITHUB_PUBLISH_TOKEN.\n\non:\n workflow_dispatch:\n inputs:\n date:\n description: \"Logical report date (YYYY-MM-DD). Must already have artifacts/drafts/<date>.{md,json} and artifacts/reports/<date>.json.\"\n required: true\n type: string\n provider:\n description: \"LLM provider used to (re)generate the run if artifacts are missing.\"\n required: false\n default: \"deepseek\"\n type: choice\n options:\n - deepseek\n - mock\n dry_run:\n description: \"Preview only (true) or actually create the GitHub issue (false).\"\n required: true\n default: \"true\"\n type: choice\n options:\n - \"true\"\n - \"false\"\n\npermissions:\n contents: read\n\njobs:\n publish:\n name: Manual publish (gate-protected)\n runs-on: ubuntu-latest\n env:\n GITHUB_PUBLISH_TOKEN: ${{ secrets.GITHUB_PUBLISH_TOKEN }}\n PUBLISH_REPO: ${{ secrets.PUBLISH_REPO }}\n DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}\n steps:\n - name: Refuse to run without owner PAT\n if: ${{ env.GITHUB_PUBLISH_TOKEN == '' }}\n run: |\n echo \"::error::GITHUB_PUBLISH_TOKEN secret is not set.\"\n echo \"Issues must be created with the repo owner's PAT, not GITHUB_TOKEN.\"\n echo \"Bot-created issues lack audit attribution. Configure GITHUB_PUBLISH_TOKEN before running.\"\n exit 1\n\n - name: Checkout\n uses: actions/checkout@v4\n\n - name: Set up Python\n uses: actions/setup-python@v5\n with:\n python-version: \"3.12\"\n cache: pip\n cache-dependency-path: requirements.txt\n\n - name: Install dependencies\n run: pip install -r requirements.txt\n\n - name: Ensure run artifacts exist (regenerate if missing)\n shell: bash\n run: |\n DATE=\"${{ inputs.date }}\"\n if [ ! -f \"artifacts/drafts/${DATE}.json\" ] || [ ! -f \"artifacts/reports/${DATE}.json\" ]; then\n echo \"Artifacts missing for ${DATE}; regenerating with provider=${{ inputs.provider }}\"\n python -m agent.cli run --provider \"${{ inputs.provider }}\" --date \"${DATE}\"\n else\n echo \"Artifacts present for ${DATE}; skipping run.\"\n fi\n\n - name: Publish (dry-run preview)\n if: ${{ inputs.dry_run == 'true' }}\n run: |\n python -m agent.cli publish-issue --run-id \"${{ inputs.date }}\" --dry-run\n\n - name: Publish (confirmed)\n if: ${{ inputs.dry_run == 'false' }}\n run: |\n python -m agent.cli publish-issue --run-id \"${{ inputs.date }}\" --confirm\n\n - name: Upload publish artifacts\n if: always()\n uses: actions/upload-artifact@v4\n with:\n name: agent-publish-${{ inputs.date }}\n path: |\n artifacts/drafts/${{ inputs.date }}.md\n artifacts/drafts/${{ inputs.date }}.json\n artifacts/reports/${{ inputs.date }}.json\n artifacts/reports/publish_preview_${{ inputs.date }}.json\n artifacts/reports/publish_result_${{ inputs.date }}.json\n artifacts/traces/${{ inputs.date }}.jsonl\n if-no-files-found: warn\n"}, "ae94979c42f984c9960ebef37e88bd3e8b62ee35": {"t": 1785769566.1772792, "n": 3535, "h": "6443de3e13ae09bf", "c": "name: Agent — Manual Publish\n\n# Manual-only. NO cron in this phase.\n#\n# IMPORTANT — token policy:\n# This workflow MUST authenticate with the repo OWNER's PAT, not the default\n# GITHUB_TOKEN. Issues created by github-actions[bot] lack proper authorship\n# for audit attribution and resume/demo consistency. Configure a repository\n# secret named GITHUB_PUBLISH_TOKEN.\n\non:\n workflow_dispatch:\n inputs:\n date:\n description: \"Logical report date (YYYY-MM-DD). Must already have artifacts/drafts/<date>.{md,json} and artifacts/reports/<date>.json.\"\n required: true\n type: string\n provider:\n description: \"LLM provider used to (re)generate the run if artifacts are missing.\"\n required: false\n default: \"deepseek\"\n type: choice\n options:\n - deepseek\n - mock\n dry_run:\n description: \"Preview only (true) or actually create the GitHub issue (false).\"\n required: true\n default: \"true\"\n type: choice\n options:\n - \"true\"\n - \"false\"\n\npermissions:\n contents: read\n\njobs:\n publish:\n name: Manual publish (gate-protected)\n runs-on: ubuntu-latest\n env:\n GITHUB_PUBLISH_TOKEN: ${{ secrets.GITHUB_PUBLISH_TOKEN }}\n PUBLISH_REPO: ${{ secrets.PUBLISH_REPO }}\n DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}\n steps:\n - name: Refuse to run without owner PAT\n if: ${{ env.GITHUB_PUBLISH_TOKEN == '' }}\n run: |\n echo \"::error::GITHUB_PUBLISH_TOKEN secret is not set.\"\n echo \"Issues must be created with the repo owner's PAT, not GITHUB_TOKEN.\"\n echo \"Bot-created issues lack audit attribution. Configure GITHUB_PUBLISH_TOKEN before running.\"\n exit 1\n\n - name: Checkout\n uses: actions/checkout@v4\n\n - name: Set up Python\n uses: actions/setup-python@v5\n with:\n python-version: \"3.12\"\n cache: pip\n cache-dependency-path: requirements.txt\n\n - name: Install dependencies\n run: pip install -r requirements.txt\n\n - name: Ensure run artifacts exist (regenerate if missing)\n shell: bash\n run: |\n DATE=\"${{ inputs.date }}\"\n if [ ! -f \"artifacts/drafts/${DATE}.json\" ] || [ ! -f \"artifacts/reports/${DATE}.json\" ]; then\n echo \"Artifacts missing for ${DATE}; regenerating with provider=${{ inputs.provider }}\"\n python -m agent.cli run --provider \"${{ inputs.provider }}\" --date \"${DATE}\"\n else\n echo \"Artifacts present for ${DATE}; skipping run.\"\n fi\n\n - name: Publish (dry-run preview)\n if: ${{ inputs.dry_run == 'true' }}\n run: |\n python -m agent.cli publish-issue --run-id \"${{ inputs.date }}\" --dry-run\n\n - name: Publish (confirmed)\n if: ${{ inputs.dry_run == 'false' }}\n run: |\n python -m agent.cli publish-issue --run-id \"${{ inputs.date }}\" --confirm\n\n - name: Upload publish artifacts\n if: always()\n uses: actions/upload-artifact@v4\n with:\n name: agent-publish-${{ inputs.date }}\n path: |\n artifacts/drafts/${{ inputs.date }}.md\n artifacts/drafts/${{ inputs.date }}.json\n artifacts/reports/${{ inputs.date }}.json\n artifacts/reports/publish_preview_${{ inputs.date }}.json\n artifacts/reports/publish_result_${{ inputs.date }}.json\n artifacts/traces/${{ inputs.date }}.jsonl\n if-no-files-found: warn\n"}}}} |