Copy
Ask AI
name: 更新文件
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
permissions:
contents: write
pull-requests: write
jobs:
auto-docs:
if: ${{ !startsWith(github.head_ref, 'docs/') }}
runs-on: ubuntu-latest
steps:
- name: 取出版本庫
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 安裝 Cursor CLI
run: |
curl https://cursor.com/install -fsS | bash
echo "$HOME/.cursor/bin" >> $GITHUB_PATH
- name: 設定 git
run: |
git config user.name "Cursor Agent"
git config user.email "cursoragent@cursor.com"
- name: 更新文件
env:
MODEL: gpt-5
CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH_PREFIX: docs
run: |
cursor-agent -p "你正在 GitHub Actions 執行器中運作。
GitHub CLI 可透過 `gh` 使用,並已經由 `GH_TOKEN` 驗證。Git 可用。你對版本庫內容有寫入權限,也能在 PR 上留言,但不得建立或編輯 PR。
# 背景:
- Repo: ${{ github.repository }}
- Owner: ${{ github.repository_owner }}
- PR Number: ${{ github.event.pull_request.number }}
- Base Ref: ${{ github.base_ref }}
- Head Ref: ${{ github.head_ref }}
- Docs Branch Prefix: ${{ env.BRANCH_PREFIX }}
# 目標:
- 依原始 PR 的增量變更,實作端到端的文件更新流程。
# 要求:
1) 判斷原始 PR 的變更內容;若有多次推送,需自上次成功更新文件以來計算增量差異。
2) 僅依那些增量變更更新相關文件。
3) 使用背景中的文件分支前綴,為此 PR 的 head 維護常駐的文件分支;若不存在則建立,否則更新,並將變更推送至 origin。
4) 你沒有建立 PR 的權限。改為張貼或更新一則自然語言的 PR 留言(1–2 句),簡要說明文件更新,並包含可快速建立 PR 的行內比較連結
# 輸入與慣例:
- 使用 `gh pr diff` 與 git 歷史來偵測變更,並自上次文件更新以來推導增量範圍。
- 不要嘗試直接建立或編輯 PR。請使用上述比較連結格式。
- 保持變更精簡且符合版本庫風格。若不需更新文件,就不要做任何變更,也不要張貼留言。
# 有更新時的交付內容:
- 將提交推送到此 PR head 的常駐文件分支。
- 在原始 PR 上發佈一則自然語言留言,包含上述的行內比較連結。避免重複張貼;若先前已有機器人留言則予以更新。
" --force --model "$MODEL" --output-format=text