# Agent 活動 (https://oh-my-webbridge.github.io/zh-mo/activity/)

> **技術預覽**
>
> omw 目前是技術預覽版，正在快速迭代。**之後的版本一定會有破壞相容性的變更。**

{/* Generated from activity.zh-tw.mdx by scripts/i18n.mjs. Edit the zh-TW page instead. */}

Agent 在你自己瀏覽器的分頁中工作，所以擴充功能會標示它所控制的分頁。標示出現在工具列圖示、彈出式視窗，以及畫在頁面上方的活動層。

<Demo
  name="activity-form"
  alt="Agent 玩 The Password Game：分頁顯示邊緣光暈，Agent 的指標與焦點框標出密碼欄位，每出現一條規則，密碼就逐字變長。"
/>

## 工具列圖示 [#toolbar-icon]

| 圖示             | 時機                          | 工具提示                                                          |
| ---------------- | ----------------------------- | ----------------------------------------------------------------- |
| 深色，白色指標   | 已連線，這個分頁未受控制      | 「oh-my-webbridge：已連線」                                       |
| 深色，琥珀色指標 | 有工作階段控制這個分頁        | 「oh-my-webbridge：工作階段 research 正在控制這個分頁」           |
| 灰色             | 未配對，或連線中              | 「oh-my-webbridge：未配對」、「oh-my-webbridge：連線中」          |
| 灰色帶紅色圓點   | daemon 未執行，或 daemon 拒絕 | 「oh-my-webbridge：daemon 未執行」、「oh-my-webbridge：連線遭拒」 |
| 灰色帶暫停符號   | 已暫停                        | 「oh-my-webbridge：已暫停」                                       |

琥珀色指標只標在受控制的分頁上。其他分頁維持顯示連線狀態的圖示。工具提示使用擴充功能的介面語言。

## 彈出式視窗 [#the-popup]

連線時，彈出式視窗最上方是標為「這個分頁」的一列。一般分頁顯示「未受控制」，受控制的分頁顯示「工作階段 research」，動作執行期間顯示「工作階段 research 執行中」。這一列會跟隨作用中的分頁。

這一列下方是給 Agent 的提示詞與複製按鈕。提示詞會輪流顯示適合目前分頁的建議，每六秒換一則，最適合網頁的排在前面。彈出式視窗依網址、標題與網頁內容挑選建議，例如表格、表單欄位、程式碼區塊、影片或選取的文字。指標停在提示詞上或焦點在提示詞內時，會停在目前的建議；修改提示詞後，會保留你的文字。

<Demo
  name="popup"
  alt="彈出式視窗位於 Agent 正在玩的 The Password Game 上方：已連線，「這個分頁」顯示「工作階段 demo」，下方是建議的提示詞與複製按鈕，另有「暫停」與「設定」按鈕。"
  still
/>

## 在頁面上 [#on-the-page]

活動層會繪製在 Chrome 與 Firefox 中，涵蓋工作階段開啓的分頁，以及它向你借用的分頁。工作階段釋放或關閉該分頁時，活動層隨之結束。繪製期間，頁面會顯示：

- 動作執行期間的邊緣光暈，動作結束後不久淡出。
- Agent 的指標，附帶顯示工作階段名稱的名牌。指標會移到每個動作所針對元素的中央，並停在最後一個元素上。淺色背景上的箭頭是深色帶白邊，深色背景上是白色帶深色邊。
- 右下角的標籤，帶有琥珀色圓點與工作階段名稱。
- 以琥珀色指標圖示作為網站圖示，取代頁面自己的圖示。
- 動作所針對的元素周圍有焦點框，框上方標示動作名稱：Click、Hover、Type、Select、Check、Focus、Scroll、Drag 或 Upload。元素靠近上邊緣時，標籤會移到元素下方。焦點框跟隨主文件中的元素；工作階段選取了某個框架時，頁面只顯示光暈、標籤，以及停在上一個位置的指標。

動作結束後，焦點框會再停留片刻，所以連續的點擊看起來是一次活動，而不是一閃一閃的框。導覽會取代文件，活動層會在新頁面上重新繪製。

## 它如何不干擾頁面 [#how-it-stays-out-of-the-way]

- 活動層是一個帶有 shadow root 的宿主元素。頁面的樣式不會影響它的各個部分。
- 它使用 `pointer-events: none`，所以點擊、選取與懸停都會抵達下方的頁面。
- 它是 `inert` 且 `aria-hidden`，所以螢幕閲讀器與頁面的無障礙樹都會略過它。`read_page` 回傳的頁面文字不含標籤，`snapshot` 也不會列出活動層。
- 擷取螢幕截圖與 PDF 時會先隱藏活動層，完成後再重新顯示。
- 活動層帶有 75 秒的租約，擴充功能每 30 秒續約一次。擴充功能停止續約時，頁面會自行移除活動層並還原自己的網站圖示，因此即使 worker 停止或偵錯工具工作階段中斷，也不會留下任何標記。

## 關閉活動層 [#turn-it-off]

<Demo
  name="settings"
  alt="設定頁面，有「連線」、「頁面」與「進階」羣組。「顯示 Agent 活動」已開啓。"
  still
/>

到**設定**，再到**網頁**，關閉**顯示 Agent 活動**。活動層會同時從所有受控制的分頁消失，之後才被工作階段認領的分頁也不會繪製活動層。Agent 仍會繼續工作，工具列圖示與彈出式視窗的那一列仍會顯示哪個工作階段控制該分頁。重新開啓開關，會在仍受控制的分頁上繪製活動層。

活動層遵循系統的減少動態效果與減少透明度設定：光暈不再脈動，焦點框與指標直接移動而不滑行，標籤改用實心背景。
