整合
你可以在指令碼和 CI 中執行單一任務,也可以把 CrystalCode.Engine 接入自己的前端。
執行單一任務
crystal run 執行一次任務後結束,適合指令碼或 CI。Windows 上使用 CrystalCode。
crystal run --workspace . "Fix the failing test."GitHub Actions
crystal run 不需要互動式終端機。工作流程可以先安裝 Crystal Code,再於儲存庫中執行一次任務,並在結束碼非零時讓工作失敗。
如果不使用整合套件,下面的工作流程會安裝 Crystal Code,再於儲存庫中執行一次任務。供應商金鑰放在儲存庫的 Secret 中。這裡直接呼叫 CrystalCode,因為 CI 執行器不會載入安裝指令碼設定的 shell 別名。
name: Crystal Code review
on: pull_request
permissions:
contents: read
jobs:
review:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- name: Install Crystal Code
run: |
curl --fail --location --show-error https://crystalcode.ink/install.sh | sh
echo "$HOME/.crystal/binaries/code" >> "$GITHUB_PATH"
- name: Review changes
env:
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
run: |
CrystalCode run --workspace . --workspace-trust off \
--plan --duration 600 \
"Review the changes on this branch and list the risks."
範例用 --plan 做唯讀審查,並用 --workspace-trust off,因為 CI 目錄無法回應信任提示。這不會把該目錄記為已信任。
以引擎為基礎打造
引擎是一個類別庫。其他前端可以直接引用,不必複製程式碼。模型端點由你提供。