跳至主要内容

內建工具參考

Agent 附帶一組內建工具,AI 會在對話期間自動呼叫。這些工具在持續性對話中預設可用;腳本開發者通常不需要直接呼叫它們 — AI 會根據使用者意圖選擇正確的工具。

了解這些工具的功能有助於您撰寫更好的系統提示詞和自訂工具。

Web 資料取得​

web_fetch​

取得 URL 的內容,支援 HTML 轉文字擷取和 LLM 摘要。

參數型別必填說明
urlstring是目標 URL(僅限 http/https)
promptstring否摘要提示詞(提供時,使用 LLM 蒸餾內容)
max_lengthnumber否內容最大字元數

行為細節:

  • 30 秒請求逾時
  • HTML 內容自動擷取主要本文文字(移除導航、側邊欄等)
  • JSON 回應自動解析
  • 純文字原樣返回
  • 提供 prompt 時,取得的內容會送至 LLM 進行摘要

回傳值:

{
"url": "https://example.com",
"content_type": "text/html",
"content": "擷取的內文...",
"truncated": false,
"final_url": "https://example.com/redirected"
}

查詢搜尋引擎並回傳結構化的搜尋結果。

參數型別必填說明
querystring是搜尋關鍵字
max_resultsnumber否最大結果數(預設 5,上限 10)

支援的搜尋引擎:

引擎說明所需設定
DuckDuckGo預設引擎無
BingMicrosoft Bing 搜尋需要 API 金鑰
Baidu百度搜尋無需 API 金鑰
Google 自訂搜尋Google 自訂搜尋需要 API 金鑰 + CSE ID

搜尋引擎在管理頁面 → Agent → 設定中設定。

回傳值:

[
{
"title": "搜尋結果標題",
"url": "https://example.com/result",
"snippet": "結果摘要文字..."
}
]

get_tab_content​

讀取指定分頁的已渲染頁面內容,轉換為帶有 CSS 選擇器註解的結構化 Markdown。

參數型別必填說明
tab_idnumber是分頁 ID
selectorstring否CSS 選擇器;僅擷取符合的部分
promptstring否摘要提示詞
max_lengthnumber否內容最大字元數

與 web_fetch 的差異:get_tab_content 讀取頁面如瀏覽器已渲染的狀態(包括動態 JS 內容),而 web_fetch 進行新的 HTTP 請求。

回傳值:

{
"tab_id": 123,
"url": "https://example.com",
"title": "頁面標題",
"content": "結構化內容...",
"truncated": false,
"used_selector": "main"
}

分頁管理​

list_tabs​

查詢開啟的分頁,支援多種篩選條件。

參數型別必填說明
url_patternstring否URL 正規表示式匹配
title_patternstring否標題正規表示式匹配
activeboolean否僅回傳活動分頁
window_idnumber否指定的視窗
audibleboolean否僅回傳目前播放音訊的分頁

open_tab​

開啟新分頁或導覽現有分頁。

參數型別必填說明
urlstring是目標 URL
tab_idnumber否現有分頁的 ID(提供時導覽該分頁;否則開啟新分頁)
activeboolean否是否啟用(預設 true)
window_idnumber否指定的視窗
wait_until_loadedboolean否是否等待頁面載入完成(預設 true)

close_tab​

關閉分頁。

參數型別必填說明
tab_idnumber是分頁 ID

activate_tab​

啟用分頁並聚焦其所在的視窗。

參數型別必填說明
tab_idnumber是分頁 ID

檔案系統(OPFS)​

opfs_write​

將檔案寫入工作區。

參數型別必填說明
pathstring是檔案路徑
contentstring是檔案內容(支援二進位 data URL)

opfs_read​

從工作區讀取檔案。預設會自動偵測檔案類型:文字檔回傳其內容,二進位檔回傳 blob URL。

參數型別必填說明
pathstring是檔案路徑
modestring否"text" / "blob" / "auto"(預設)— 強制指定回傳模式
offsetnumber否起始行號(從 1 開始),僅文字模式
limitnumber否要讀取的行數,僅文字模式(文字超過 200 行時需要分頁)

opfs_list​

列出目錄內容。

參數型別必填說明
pathstring否目錄路徑(預設為根目錄)

opfs_delete​

刪除檔案或目錄。

參數型別必填說明
pathstring是檔案/目錄路徑

使用者互動​

ask_user​

向使用者提問,支援自由輸入或結構化選擇。

參數型別必填說明
questionstring是問題
optionsstring[]否選項清單(提供時變為多選題)
multipleboolean否是否允許多選(預設 false)

逾時: 5 分鐘無回應後回傳 { answer: null, reason: "timeout" }。

回傳值:

{ "answer": "使用者的回答文字" }

execute_script​

在頁面或沙箱中執行 JavaScript 程式碼。

參數型別必填說明
codestring是JavaScript 程式碼
targetstring是"page" 或 "sandbox"
tab_idnumber否target 為 page 時要導向的分頁(預設為目前活動分頁);沙箱模式忽略

執行環境比較:

環境DOM頁面 JS擴充套件 blob URL最適用於
target: "page"(始終為 MAIN 世界)是是否讀取/操作 DOM、呼叫頁面函數、讀取頁面變數
target: "sandbox"否否否純計算

page 模式始終在頁面的 MAIN 世界中執行,與頁面共享 window — 因此無法存取擴充套件自身的 blob URL(例如 opfs_read 在 blob 模式下回傳的位址)。需要處理 blob URL 時請改用 SkillScript。

子代理​

agent​

產生獨立的子代理來處理複雜的子任務。

參數型別必填說明
promptstring是子任務描述
descriptionstring否簡短標籤(幾個字,用於 UI 顯示)
typestring否子代理類型(見下表),預設 "general"
tab_idnumber否傳給子代理的分頁 ID;子代理將在該分頁上操作

子代理類型:

類型說明可用工具
researcher資訊檢索(唯讀)web_search、web_fetch、頁面內容讀取
page_operator瀏覽器自動化分頁管理、DOM 操作、頁面互動
general通用(預設)所有工具

特點:

  • 子代理有自己獨立的對話上下文
  • 無法使用 ask_user 或 agent(防止遞迴)
  • 子代理的事件透過 sub_agent_event 傳遞給父對話

任務管理​

這組工具管理對話中的暫時任務清單(在記憶體中,不會持久化)。

create_task​

參數型別必填說明
subjectstring是任務標題
descriptionstring否詳細描述

update_task​

參數型別必填說明
task_idstring是任務 ID
statusstring否"pending" / "in_progress" / "completed"
subjectstring否新標題
descriptionstring否新描述

list_tasks​

無參數;回傳所有任務的簡要清單。

任務管理工具主要供 AI 在處理複雜多步驟任務時追蹤自身進度;任務資料不會持久化。