# 選擇並恢復 Oysterun 提供者

在 Session Setup 選擇 Claude 或 Codex、分清 dashboard 與提供者登入，並在命令或登入失效時走完一次有界復原。

為新 Session 選擇要使用的 agent runtime，分清楚 Oysterun dashboard 存取與提供者登入，再用實際回覆證明所選提供者現在可用；不要把「已安裝命令」或「已載入模型清單」當成就緒。

成功結果：

Session Setup

顯示預期的

Agent Runtime

、目前有效的

Model

與

Reasoning Effort

；

Start Session

進入 Chat；而一則簡短訊息收到該 Session 的回覆。開始重新整理、略過重新整理、命令不可用或出現登入提示，都不等於就緒。

## 1. 從正確的 Host 與資料夾開始

- 開啟預期的 Oysterun Host 並進入 **Sessions**。輸入 Host dashboard 密碼只會解鎖 Oysterun，不會替 Claude 或 Codex 登入。
- 確認預期的 Claude Code 或 Codex 命令，可由「執行 Host 的同一個作業系統使用者」解析。若它只安裝給另一個使用者，不會讓這裡的 runtime 變成可用。
- 先知道新 Session 應使用哪個 **Start Folder**。你要確認的是即將建立之 Session 的提供者狀態，不是另一個 Host 或資料夾。

不要讓祕密進入 Oysterun 內容：

絕不可把提供者 token、登入碼、Host 密碼、dashboard token 或私密登入 URL 貼進 Chat、AgentFolder 檔案、支援報告或截圖。只在提供者支援的登入流程輸入憑證。

## 2. 在 Session Setup 選擇 Claude 或 Codex

1. 從 **Sessions** 選擇 **New Session**。
1. 在 **Session Setup** 找到 **Provider Runtime**，再找到 **Agent Runtime**。
1. 選擇 **Claude** 或 **Codex**。Oysterun 只顯示其已儲存命令目前可在此 Host 使用的 runtime。例如只看到 Codex，表示此 Host 目前沒有提供 Claude。
1. 繼續前，讀取畫面上的 **Model**、**Reasoning Effort**，以及該提供者專用的固定控制項。

### Claude

Claude 使用 **Permission Mode**。在一般 Oysterun Sessions 中，它會刻意停用並顯示 **Fixed for Oysterun Sessions.** 灰色固定控制項不是不可用錯誤。Claude 的推理選項可能包含 `auto`，表示沿用提供者的預設 effort。

### Codex

Codex 使用 **Approval Style**。在一般 Oysterun Sessions 中，它會刻意停用並顯示 **Fixed for Oysterun Sessions.** Codex 沒有 `auto` 推理選項。若所選 Codex 模型支援原生 `xhigh`，Oysterun 會顯示產品標籤 `max`。

若已儲存的預設 runtime 不可用，Oysterun 可以暫時為新 Session 選取另一個可用 runtime，並說明哪個已儲存提供者不可用、新 Sessions 會使用哪個提供者。請以亮起的 **Claude** 或 **Codex** 按鈕判斷目前選擇，不要沿用舊預設的印象。切換提供者是一次有意識的新選擇；開始前要重新檢查 Model 與 Reasoning Effort。

## 3. 有需要時，只重新整理所選目錄一次

Oysterun 會在背景維護 Host 擁有的提供者目錄。若選項是空的、過時，或與所選提供者目前支援的內容不符，再使用手動控制項：

1. 確認已選擇預期的 **Agent Runtime**。
1. 在 **Model** 旁選擇 ↻ 按鈕；它的無障礙標籤是 **Refresh provider models**。
1. 等待終止狀態。成功訊息會說所選提供者的 **models and reasoning efforts refreshed**，並可能包含模型數量。
1. 重新讀取 **Model** 與 **Reasoning Effort**。已移除的值會退回重新整理後目錄中的有效值；不要靠猜測重建舊值。

**以下不是成功：****refresh skipped**、**provider unavailable** 或 **Could not refresh** 都表示就緒狀態仍未確認。不要連續按重新整理，也不要宣稱推理選項已更新。

![Session Setup 顯示已選擇 Claude、Model Opus、Reasoning Effort high、固定 Permission Mode、重新整理控制項，以及八個模型的成功重新整理狀態。](../assets/publication/provider-refresh-ready.png)

Session Setup checkpoint：目前選擇 Claude；Model 是 Opus、Reasoning Effort 是 high、Permission Mode 固定供 Oysterun Sessions 使用，而狀態確認八個模型及其 reasoning efforts 已重新整理。

## 4. 用一個 Session 證明 runtime 已就緒

1. 填妥必要的 **Agent ID**、不重複的 **Session Name**，以及預期的 **Start Folder**。
1. 確認 **Start Session** 已啟用，並只選擇一次。
1. 讓 Oysterun 完成提供者啟動檢查。致命的命令／啟動失敗可能留在 Session Setup；但提供者登入失敗也可能等到 Chat 開啟並送出第一則訊息後才顯示。
1. Chat 開啟後，傳送一則不含敏感資料的簡短訊息，等待正常回覆。

**就緒判定：**進入 Chat 證明 Session 已建立並完成綁定；收到簡短回覆，才證明所選提供者現在能處理一個 turn。只找到命令、載入模型清單、開啟 Chat、登入 Oysterun dashboard，或只看到 `active`、`alive`、`ready` 等 lifecycle 字樣，證明力都較低。

啟動較慢：

若 Session Setup 在逾時後提供

Check Sessions

，請先使用它，再考慮

Retry

。若相符 Session 已存在，就直接開啟；只有在檢查確認未建立後才重試。

## 5. 復原不可用的 runtime，且不隱藏錯誤

先分辨「提供者檢查失敗」與「命令不可用」。若 Session Setup 顯示 **Could not load provider status. Retry the provider check.**，只選擇一次畫面上的 **Retry**。只有在完成檢查後改為 **No providers are currently available on this Host. Update Host Preferences to enable a runtime.**，或預期的 runtime 按鈕仍消失時，才編輯 Host Preferences。

![Host Preferences 顯示 task-owned synthetic Codex command 與精確的 Unavailable on this Host 結果。](../assets/publication/provider-command-unavailable.png)

Host Preferences checkpoint：task-owned synthetic Codex command 無法解析，因此所屬命令列如實顯示

Unavailable on this Host

；已儲存的 Codex model、catalog 重新整理狀態、reasoning effort 與固定 approval 控制項仍完整可見。

1. 開啟 Oysterun 選單，選擇 **Host Preferences**。
1. 找到 **Claude Runtime Defaults** 或 **Codex Runtime Defaults**。
1. 讀取 **Claude Command** 或 **Codex Command**。空白欄位會明確停用該 runtime。可用命令顯示 **Available on this Host.**；無法解析的命令顯示 **Unavailable on this Host.**
1. 為 Host 的作業系統使用者修正提供者安裝或執行檔路徑。若變更命令欄位，選擇 **Save**，再返回 Session Setup。
1. 選擇該 runtime、重新整理模型一次；只有在成功狀態與有效的 Model／Reasoning Effort 選項都可見後才繼續。

不要把 shell 命令、token 或登入碼放進命令路徑欄位。不要為了讓預期提供者出現而清空另一個提供者。若修正路徑後命令仍不可用，請停止並保留畫面狀態供診斷。

## 6. 使用各提供者自己的登入路徑

若 Chat 顯示 **Provider login is required before this session can continue.**，表示 Session 已存在，但所選提供者尚未就緒。請走完它提供的有界復原：

![同一個 Session chat 顯示完整 provider-login-required 系統列，並同框顯示 Open Terminal、codex slash-login 與 Restart session 指引。](../assets/publication/provider-login-required.png)

Provider-login checkpoint：完整系統列留在受影響的 Session 中，並同框顯示

Open Terminal

、

codex /login

與

Restart session

，不暴露驗證 URL、代碼、帳號或祕密。

1. 使用執行該提供者的機器 terminal；若無法用其他方式開啟，選擇可見系統列中的 **Open Terminal** 連結。
1. Codex 執行 `codex /login`；Claude 執行 `claude /login`。
1. 在提供者擁有的瀏覽器或 terminal 登入流程完成操作；不要把 URL、代碼、token 或輸出存成公開證據。
1. 回到同一個受影響的 Chat。系統列把動作稱為 **Restart session**；實際操作為 **More Options**（垂直省略號）→ **Restart**。這只會重新啟動該提供者 Session；它不代表你有權重新啟動 Oysterun Host。
1. 傳送一則不含敏感資料的簡短訊息。正常回覆就是復原判定。

![同一個 Session 保留 provider-login-required 系統列，同時 More Options 清楚展開 Restart。](../assets/publication/provider-restart-menu.png)

Restart-action checkpoint：同一個 Session 保留 provider-login-required 指引，

More Options

同時展開產品支援、僅作用於該 Session 的

Restart

。

![同一個 Session 在 provider 登入與 Session restart 後，顯示先前驗證列、一則簡短就緒提示與一則正常 Codex 回覆。](../assets/publication/provider-ready-after-restart.png)

Recovery checkpoint：完成正式 provider 登入與精確 Session restart 後，同一個 Chat 保留先前驗證列，並顯示一則不敏感的簡短提示與一則正常的

Codex provider ready.

回覆，沒有重複 turn。

既有 Claude Chat 也會把 `/login` 列為 **Connect Claude with the Host-side login flow**。若該控制項可用，它會開啟 **Claude connection**；完成 **Open Login URL** 與必要的 **Code or Input**，再使用 **Refresh Status**。這個產品內流程是 Claude 專用；不要承諾 Codex 也有相同的連線面板。

## 7. 以可見狀態結束

### 已就緒

預期的 Agent Runtime 已選取；有需要時重新整理成功結束；Model 與 Reasoning Effort 有效；Start Session 進入 Chat；而提供者正常回覆。

### 已復原

確切的命令不可用或登入狀態已保留，完成一項支援的修正後，同一套就緒證明通過。

### 停止

提供者檢查無法載入、重新整理略過或失敗、命令持續不可用、仍要求登入，或測試 turn 沒有輸出。保留畫面錯誤；不要把提供者描述為就緒、暗中切換提供者、反覆重試、編輯隱藏的 Host 檔案或重新啟動 Host。

**最後檢查點：**支援報告可以寫 Host、Agent Runtime、Model 與可見的終止狀態，但不要寫入憑證或私密路徑。若你有意改選另一個提供者，請為它重新開始選擇／就緒證明，不要把它當成第一個提供者已復原。
