自动更新文档

name: Claude 自动更新文档

on:
  pull_request:
    types: [opened, synchronize]
    paths:
      # 监听源代码变更
      - 'cmd/**/*.go'
      - 'internal/**/*.go'
      - 'assets/config.json'

jobs:
  update-docs:
    runs-on: ubuntu-latest
    permissions:
      contents: write      # 需要写权限以提交文档更新
      pull-requests: write
      id-token: write

    env:
      # 配置 DeepSeek API 端点
      ANTHROPIC_BASE_URL: https://dashscope.aliyuncs.com/apps/anthropic
      ANTHROPIC_DEFAULT_HAIKU_MODEL: qwen3-coder-plus
      ANTHROPIC_DEFAULT_OPUS_MODEL: qwen3-coder-plus
      ANTHROPIC_DEFAULT_SONNET_MODEL: qwen3-coder-plus
      ANTHROPIC_MODEL: qwen3-coder-plus

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 1
          # 需要使用 token 以便 Claude 可以推送更改
          token: ${{ secrets.USER_TOKEN }}
          # 检出 PR 的头分支
          ref: ${{ github.head_ref }}

      - name: 运行 Claude 自动更新文档
        uses: anthropics/claude-code-action@v1
        with:
          # 使用 DeepSeek API key
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          # 提供 GitHub token
          github_token: ${{ secrets.USER_TOKEN }}
          # ✨ 启用进度跟踪功能
          track_progress: true
          settings: |
            {
             "language": "Chinese"
            }
          prompt: |
            REPO: ${{ github.repository }}
            PR NUMBER: ${{ github.event.pull_request.number }}

            请根据此 PR 中的源代码变更更新 README.md 文档。

            **任务要求:**
            1. 仔细分析此 PR 中修改的源代码文件
            2. 识别需要在 README.md 中反映的变更:
               - 新增的功能或命令
               - 修改的配置选项
               - 更新的 API 或接口
               - 变更的使用方法
               - 新的依赖或要求
            3. 更新 README.md 的相关部分,确保:
               - 信息准确且与代码一致
               - 保持文档的中文语言
               - 遵循现有文档格式和风格
               - 包含必要的示例或说明
            4. 如果发现其他需要更新的文档文件也一并更新
            5. 提交更新后的文档,提交信息格式:
               ```
               docs: 根据代码变更更新文档

               - 更新内容摘要

               Co-Authored-By: Claude Code <noreply@anthropic.com>
               ```
            在 PR 开头添加 Claude 标识,格式如下
            ```markdown
            <div align="center">
              <img src="https://mintlify.s3-us-west-1.amazonaws.com/anthropic/logo/light.svg" alt="Claude" width="120" />
              **Powered by Claude Code**
            </div>
            ```

            **注意事项:**
            - 只更新与此 PR 代码变更相关的文档部分
            - 不要修改与代码变更无关的内容
            - 确保文档的专业性和准确性
            - 如果没有需要更新的文档内容,请说明原因

            请用中文回复进度和结果。

          # 配置允许的工具
          claude_args: |
            --allowedTools "Read,Write,Edit,Glob,Grep,Bash(git add:*),Bash(git commit:*),Bash(git push:*),Bash(git status:*),Bash(git diff:*),mcp__github__get_pull_request"