> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Laravel Cloud - GitHub Copilot SDK for Laravel

> 說明如何在 Laravel Cloud 執行 Laravel Copilot SDK，包含 Copilot CLI 安裝、環境變數、stdio/TCP 模式的運作要點。

## 在 Laravel Cloud 上使用

## 安裝

在 **Settings > Deployments > Build commands** 加入以下內容並部署。

```shell theme={null}
export PATH="$PATH:/var/www/.local/bin"
curl -fsSL https://gh.io/copilot-install | bash
/var/www/.local/bin/copilot --version
```

CLI 的路徑為 `/var/www/.local/bin/copilot`，因此於 **Custom environment variables** 設定以下項目。

```dotenv theme={null}
COPILOT_CLI_PATH=/var/www/.local/bin/copilot
COPILOT_GITHUB_TOKEN=
```

`COPILOT_GITHUB_TOKEN` 可使用 Copilot CLI 支援的認證方式，例如 `GH_TOKEN` 或 `GITHUB_TOKEN`。

若使用預設的 stdio 模式，僅需以上安裝即可。

## 以 TCP 模式運作

於 **App cluster > Background processes > Custom worker** 設定 `/var/www/.local/bin/copilot --headless --port 12345`。
會以背景程序持續運作，並於部署時自動重啟。

連接埠可自由指定。

於 **Custom environment variables** 設定 `COPILOT_URL`。

```dotenv theme={null}
COPILOT_URL=tcp://127.0.0.1:12345
# TCP 模式時不需要 COPILOT_CLI_PATH。若兩者皆存在，TCP 模式優先。
```

因常態運作記憶體使用量較大，可能需要 2 GiB RAM 以上的伺服器。
若在 HTTP 請求內使用，容易在 60 秒內無法完成而失敗，因此建議在佇列中執行。

在 Laravel Cloud 中 TCP 模式的實用性不高，建議使用 stdio 模式。

上位方案的 Worker cluster 亦可使用，適合避免 App cluster 記憶體不足的情境。

## 注意事項

* 低價方案伺服器容易記憶體不足。
* 預設 HTTP 逾時為 20 秒，若失敗過多可延長至最多 60 秒。

<Info>
  最新資訊請參考 [GitHub 儲存庫](https://github.com/invokable/laravel-copilot-sdk)。
</Info>


## Related topics

- [GitHub Copilot SDK for Laravel](/zh-TW/packages/laravel-copilot-sdk/index.md)
- [GitHub Actions - GitHub Copilot SDK for Laravel](/zh-TW/packages/laravel-copilot-sdk/github-actions.md)
- [測試 - GitHub Copilot SDK for Laravel](/zh-TW/packages/laravel-copilot-sdk/fake.md)
- [認證 - GitHub Copilot SDK for Laravel](/zh-TW/packages/laravel-copilot-sdk/auth.md)
- [開始使用 - GitHub Copilot SDK for Laravel](/zh-TW/packages/laravel-copilot-sdk/getting-started.md)
