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

# 開始聊天

> 啟動後落腳於主聊天，從這裡建立新專案或執行工作區層級的工作流程

第一次啟動 [BRICKS](https://bricks.tools) CTOR 時，您會落腳於**主聊天**——這是專案無關的代理，能協助您建立新的 BRICKS 應用程式、列出本機裝置、瀏覽 Activity Log、回想過往聊天工作階段中的內容，或協調其他工作階段，全程都不需要先開啟專案。

建立或開啟專案後，您就可以切換到專案範圍的聊天進行程式碼層級的工作。在那之前，主聊天就是您的起點。

## 何時使用主聊天

當工作不繫於單一專案時，請使用主聊天：

* 從零開始建立新應用程式，且尚未準備目錄
* 詢問網路上有哪些裝置，或它們最近記錄了什麼
* 跨過往對話搜尋幾週前所做的決策
* 執行臨時的 `bricks` CLI 檢查（`bricks doctor`、`bricks device list` 等）

若編輯特定專案內的內容——程式碼變更、部署、[Preview 面板](/zh-Hant/ctor/reference/preview)、MCP 伺服器——請改開啟該專案並啟動[專案工作階段](/zh-Hant/ctor/guide/agent-usage)。

## 位置

側邊欄分為兩個可摺疊的區段：

* **Projects**——您已註冊的 BRICKS 專案。點選 **+** 從磁碟註冊專案。
* **Chat**——主聊天的工作階段。點選 **+** 開始新的主聊天。

兩個區段之間以水平分隔線區隔，方便您一眼掃視。點選任一區段標題可摺疊；CTOR 會在下次啟動時記住狀態。

## 開始主聊天

1. 開啟 CTOR。若沒有作用中的工作階段，會出現空白的 **Main Chat** 畫面與置中的輸入列。
2. 輸入您的請求——例如\*「幫我建立一個 hello-world 的 BRICKS 應用程式」\*——並按 **Ctrl+Enter**。
3. CTOR 會在第一次送出時建立主工作階段，聊天即開始。

您也可以隨時點選側邊欄 **Chat** 標題旁的 **+**，開啟新的主聊天工作階段。

## 主工作區

主代理在 `~/bricks-ctor` 中執行，這是您可以用一般檔案管理員瀏覽的最上層目錄。代理寫入的內容——例如以 `bricks app ctor-init` 建立的專案——除非您另行指示，否則都會落在這裡。

此目錄是代理的工作根目錄，沙箱、檔案提及（`@`）以及[技能](/zh-Hant/ctor/reference/skills)範圍都以它為基準。代理註冊專案後（見下方），主代理在沙箱模式下也能讀取該專案目錄。

可從[設定 → 代理 → 主聊天工作目錄](/zh-Hant/ctor/reference/settings#主聊天工作目錄)將主工作區指向其他位置，例如外接磁碟或同步資料夾。變更會在不重新啟動的情況下，於工作階段中即時套用。

## 工作區層級工具

除了標準的檔案與 shell 工具外，主代理還有工作區層級的工具，這些工具在專案工作階段中無法使用：

| 工具                     | 用途                                                                |
| ---------------------- | ----------------------------------------------------------------- |
| `open_created_project` | 註冊專案目錄（必須包含 `application.json`），使其顯示在側邊欄。可選擇寫入 `CONTEXT.md` 交接備忘。 |
| `list_projects`        | 列出目前在側邊欄中已註冊的專案。                                                  |
| `query_sessions`       | 依標題（可選擇加上訊息內容）搜尋已儲存的聊天工作階段並回傳排序結果，或省略查詢字串以列出近期工作階段。可選擇依專案篩選。      |
| `read_session`         | 依 id 讀取已儲存的工作階段，並回傳精簡的對話記錄。同時支援專案與主聊天工作階段。                        |
| `archive_session`      | 封存已儲存的工作階段，使其從側邊欄隱藏，但仍可從 **Settings → Archive** 復原。               |
| `new_session`          | 建立新的主聊天或專案範圍的工作階段，送出第一條訊息，並接收完成報告。請參閱[工作階段協調](#工作階段協調)。           |
| `send_session_message` | 向現有工作階段傳送後續訊息、轉向正在執行的工作階段，或復原並重新傳送。                               |
| `stop_session`         | 依 id 停止正在執行的工作階段。                                                 |

主代理使用 `bricks` CLI 處理 BRICKS 特定操作，例如 `bricks app ctor-init`（建立專案）、`bricks device list` 與 `bricks device monitor`（檢視裝置），以及 `bricks activity-log`（稽核紀錄）。完整指令集請參閱 [BRICKS CLI 參考](/zh-Hant/cli/commands)。

## 工作階段協調

主聊天可以在不離開目前對話的情況下，產生並管理其他聊天工作階段。這讓您能夠委派專注的任務——例如要求某個專案工作階段重構模組——同時將主聊天作為協調中心。

### 產生工作階段

呼叫 `new_session` 並提供標題與第一條訊息。省略 `projectPath`（或傳入 `MAIN`）以建立另一個主聊天工作階段；傳入專案目錄路徑以建立該專案的專案範圍工作階段。此工具會立即回傳——目標工作階段在背景中執行。

### 向現有工作階段傳送訊息

呼叫 `send_session_message` 向已完成或仍在執行的工作階段傳送後續訊息。將 `steer` 設為 `true` 可重新導向目前正在執行的工作階段。選用的 `undo_messages_index` 參數可讓您在傳送前復原到特定的使用者訊息。

### 停止工作階段

呼叫 `stop_session` 可中止正在執行的工作階段。工作階段的歷史紀錄會保留。

### 完成報告

當目標工作階段完成（或被停止）時，一則 **Session report** 訊息會自動排入主聊天佇列，以便代理檢視結果並繼續。報告待處理期間，輸入列上方會出現 **Session report queued** 指示器。您可以點選指示器上的 **Cancel** 按鈕取消待處理的報告。

## 從 URL 複製分享的應用程式

將分享 URL 貼入主聊天，代理會將來源應用程式複製到您的工作區。系統可辨識兩種 URL 格式：

* `https://control.bricks.tools/#/create-share-app?application_id=<id>`——從 [BRICKS Controller](/zh-Hant/controller/applications#發行與分享) 版本頁複製的「從分享建立」連結。
* `https://share.bricks.tools/app/<id>`——公開分享頁面連結。

代理會從 URL 中擷取來源應用程式 id，透過 `bricks app share-info` 列出公開版本，詢問您要複製哪一個（並可選擇輸入名稱與說明），然後以 `bricks app share-new` 建立新的應用程式。新應用程式會建立於您目前作用中設定檔對應的工作區——若想建立到其他工作區，請先切換設定檔。

新應用程式建立完成後，代理會詢問是否要為它在本機建立專案——透過重新執行 `share-new --init -y`，或在主工作區中呼叫 `bricks app ctor-init <new-app-id>`，並接著註冊專案使其出現在側邊欄。

## Created projects 橫幅

每當主代理透過 `open_created_project` 在磁碟上註冊專案時，聊天底部會出現一張 **Created projects** 卡片。每張卡片會顯示專案名稱、應用程式 id 與 stage。點選 **Start session** 即可開啟該專案並啟動專案範圍的聊天——CTOR 會在一個步驟中開啟專案、在側邊欄中選取，並建立全新的工作階段。

## 交接情境

若主聊天負責建立此專案，代理可以將對話摘要寫成專案根目錄下的 `CONTEXT.md`，並在專案的 `AGENTS.md`（或 `CLAUDE.md`）中加上 `@CONTEXT.md` 參照。第一個專案工作階段就會自動載入該情境，您不必重新解釋主聊天中的決策。

此標記具備幂等性——重複執行不會建立重複的連結。

## 技能、子代理與 MCP

主聊天相較於專案工作階段，介面較為精簡：

* **技能**與**子代理**仍可使用，但只會載入內建與全域層級——專案層級的技能與代理會刻意隱藏，因為主聊天不繫屬於任何單一專案。
* **MCP 伺服器**不會在主聊天中提供。
* 由於 Preview 是專案專屬功能，**Preview** 按鈕會被隱藏。

其他功能——模型選擇器、思考深度、沙箱模式、檔案提及、圖片附件、**Local Devices** 對話框，以及**訊息**按鈕——的運作方式皆與專案聊天相同。但工作區設定檔標籤的行為不同，請參閱下方[切換工作區設定檔](#切換工作區設定檔)。

## 切換工作區設定檔

沙箱模式選擇器旁的標籤會顯示您目前作用中的[設定檔](/zh-Hant/ctor/guide/authentication#多個設定檔支援)。與專案聊天不同——專案聊天中此標籤為唯讀——當您有多個已驗證的設定檔時，主聊天會將其轉為下拉選單。點選即可挑選主代理要作用的工作區。

切換設定檔會更新 CTOR 傳遞給內建 `bricks` CLI 與工具環境的 `BRICKS_PROFILE` 環境變數，因此下一輪對話的系統提示與指令輸出都會反映所選工作區。

<Warning>
  若聊天中已有訊息，下拉選單會要求兩段式確認——第一次點選會標記目標設定檔（該列轉為橘色，輔助文字會提醒您切換將重建代理脈絡），3 秒內再點一次才會確認切換。這可避免進行中的工作階段於對話中途無聲切換設定檔。
</Warning>

## 後續步驟

<CardGroup cols={2}>
  <Card title="專案設定" icon="folder-open" href="/zh-Hant/ctor/guide/project-setup">
    開啟或建立專案，深入專案範圍的工作。
  </Card>

  <Card title="使用 AI 代理" icon="robot" href="/zh-Hant/ctor/guide/agent-usage">
    了解同時驅動專案與主聊天工作階段的聊天介面。
  </Card>
</CardGroup>
