3123 工具輸入類型3123 工具輸入類型
3124</h2>3124</h2>
3125 3125
3126所有內建 Claude Code 工具的輸入架構文件。這些類型從 `@anthropic-ai/claude-agent-sdk/sdk-tools` 匯出,可用於類型安全的工具互動。3126所有內建 Claude Code 工具的輸入結構描述文件。這些類型從 `@anthropic-ai/claude-agent-sdk/sdk-tools` 匯出,可用於類型安全的工具互動。
3127 3127
3128<h3 id="toolinputschemas">3128<h3 id="toolinputschemas">
3129 `ToolInputSchemas`3129 `ToolInputSchemas`
3177 Agent3177 Agent
3178</h3>3178</h3>
3179 3179
3180**工具名稱:** `Agent`。先前的名稱 `Task` 仍被接受為別名,[`SDKSystemMessage`](#sdksystemmessage) 初始化訊息中的 `tools` 陣列目前仍將此工具列為 `Task` 以保持向後相容性。3180**工具名稱:** `Agent`。先前的名稱 `Task` 仍被接受為別名,[`SDKSystemMessage`](#sdksystemmessage) 初始化訊息中的 `tools` 陣列目前為了向後相容性將此工具列為 `Task`。
3181 3181
3182<Note>3182<Note>
3183 `mode` 欄位在 Claude Code v2.1.212 或更新版本上已棄用且被忽略。子代理在父工作階段的權限模式或其定義的 [`permissionMode`](#agentdefinition) 中執行,[子代理繼承規則](/docs/zh-TW/agent-sdk/permissions#available-modes) 決定使用哪一個。3183 `mode` 欄位在 Claude Code v2.1.212 或更新版本上已棄用且被忽略。子代理在父工作階段的權限模式或其定義的 [`permissionMode`](#agentdefinition) 中執行,[子代理繼承規則](/docs/zh-TW/agent-sdk/permissions#available-modes) 決定使用哪一個。
3219};3219};
3220```3220```
3221 3221
3222在執行期間向使用者提出澄清問題。詳見[處理核准和使用者輸入](/docs/zh-TW/agent-sdk/user-input#handle-clarifying-questions)以了解使用詳情。3222在執行期間詢問使用者澄清問題。詳見[處理核准和使用者輸入](/docs/zh-TW/agent-sdk/user-input#handle-clarifying-questions)以了解使用詳情。
3223 3223
3224<h3 id="bash">3224<h3 id="bash">
3225 Bash3225 Bash
3237};3237};
3238```3238```
3239 3239
3240執行 Bash 命令,支援選擇性逾時和背景執行。工作目錄在命令之間保持不變,包括多輪工作階段後續執行的命令;shell 狀態(例如匯出的環境變數)則不會保持。如需了解哪些目錄變更會保留,詳見[命令之間保持的內容](/docs/zh-TW/tools-reference#what-persists-between-commands)。如需了解設定前景上限的因素,詳見[逾時和輸出限制](/docs/zh-TW/tools-reference#timeout-and-output-limits)。如需了解背景時間限制,詳見[背景命令](/docs/zh-TW/tools-reference#background-commands)。3240執行 Bash 命令,支援選擇性逾時和背景執行。工作目錄在命令之間保持不變,包括多輪工作階段後續執行的命令;shell 狀態(例如匯出的環境變數)則不會保持。如需了解哪些目錄變更會保留,詳見[命令之間保持的內容](/docs/zh-TW/tools-reference#what-persists-between-commands)。如需了解前景上限的設定方式,詳見[逾時和輸出限制](/docs/zh-TW/tools-reference#timeout-and-output-limits)。如需了解背景命令的時間限制,詳見[背景命令的時間限制](/docs/zh-TW/tools-reference#time-limit-for-background-commands)。
3241 3241
3242<h3 id="monitor">3242<h3 id="monitor">
3243 Monitor3243 Monitor
3257};3257};
3258```3258```
3259 3259
3260執行背景來源並將每個事件傳遞給 Claude,使其能夠做出反應而無需輪詢:`command` 執行指令碼並每行 stdout 發出一個事件,`ws` 開啟 WebSocket 並每個文字框架發出一個事件。提供 `command` 或 `ws` 中的恰好一個。`ws` 來源需要 Claude Code v2.1.195 或更新版本。3260執行背景來源並將每個事件傳遞給 Claude,使其可以做出反應而無需輪詢:`command` 執行指令碼並每行 stdout 發出一個事件,`ws` 開啟 WebSocket 並每個文字框架發出一個事件。恰好提供 `command` 或 `ws` 其中之一。`ws` 來源需要 Claude Code v2.1.195 或更新版本。
3261 3261
3262`timeout_ms` 是監視的截止時間(以毫秒為單位)。預設為 300000,接受最多 3600000 的值。有效截止時間最多為 1800000,即 30 分鐘,因此較大的接受值會縮短到該值。在截止時間時,監視結束,Claude 收到一個通知,以便在仍需要時啟動新的監視。3262`timeout_ms` 是監視的截止時間(毫秒)。預設為 300000,接受最多 3600000 的值。有效截止時間最多為 1800000,即 30 分鐘,因此較大的接受值會縮短至該值。在截止時間時監視結束,Claude 收到一個通知,以便在仍需要時啟動新監視。
3263 3263
3264匯出的類型將 `timeout_ms` 標記為必需,因為架構填入預設值;省略它的呼叫會驗證通過。3264匯出的類型將 `timeout_ms` 標記為必需,因為結構填入預設值;省略它的呼叫會驗證通過。
3265 3265
3266Monitor 執行命令時,遵循與 Bash 相同的權限規則;WebSocket 監視會單獨提示核准。詳見[Monitor 工具參考](/docs/zh-TW/tools-reference#monitor-tool)以了解行為和提供者可用性。3266當 Monitor 執行命令時,它遵循與 Bash 相同的權限規則;WebSocket 監視會單獨提示核准。詳見[Monitor 工具參考](/docs/zh-TW/tools-reference#monitor-tool)以了解行為和提供者可用性。
3267 3267
3268<h3 id="taskoutput">3268<h3 id="taskoutput">
3269 TaskOutput3269 TaskOutput
3270</h3>3270</h3>
3271 3271
3272在 Claude Code v2.1.277 中移除,連同其 `TaskOutputInput` 類型一起移除。先前從執行中或已完成的背景任務中擷取輸出;Claude 改用 `Read` 讀取背景任務的輸出檔案。3272在 Claude Code v2.1.277 中移除,連同其 `TaskOutputInput` 類型一起移除。先前用於擷取執行中或已完成的背景任務的輸出;Claude 改用 `Read` 讀取背景任務的輸出檔案。
3273 3273
3274仍命名 `TaskOutput` 的 `disallowedTools` 項目或拒絕規則會被忽略,不會發出警告。3274`disallowedTools` 項目或仍命名 `TaskOutput` 的拒絕規則會被忽略而不發出警告。
3275 3275
3276<h3 id="edit">3276<h3 id="edit">
3277 Edit3277 Edit
3307 3307
3308從本機檔案系統讀取檔案,包括文字、影片、PDF 和 Jupyter 筆記本。使用 `pages` 指定 PDF 頁面範圍(例如 `"1-5"`)。3308從本機檔案系統讀取檔案,包括文字、影片、PDF 和 Jupyter 筆記本。使用 `pages` 指定 PDF 頁面範圍(例如 `"1-5"`)。
3309 3309
3310對於 PDF,Claude 在 Read 呼叫的 `tool_result` 內容中接收檔案的內容。傳回 `pdf` [輸出](#tool-output-types)的讀取會帶有摘要 `text` 區塊,後面跟著 `document` 區塊。傳回 `parts` 輸出的讀取會帶有摘要 `text` 區塊,後面跟著每個提取頁面的一個區塊:`image` 區塊,或當 Claude Code 無法將其呈現為影片時命名該頁面的 `text` 區塊。在 Agent SDK v0.3.242 之前,Claude Code 在工具結果後作為單獨的 `user` 訊息傳遞檔案的內容。3310對於 PDF,Claude 在 Read 呼叫的 `tool_result` 內容中接收檔案的內容。傳回 `pdf` [輸出](#tool-output-types)的讀取會帶有摘要 `text` 區塊,後面跟著 `document` 區塊。傳回 `parts` 輸出的讀取會帶有摘要 `text` 區塊,後面跟著每個擷取頁面的一個區塊:`image` 區塊,或當 Claude Code 無法將其呈現為影片時命名頁面的 `text` 區塊。在 Agent SDK v0.3.242 之前,Claude Code 在工具結果後將檔案的內容作為單獨的 `user` 訊息傳遞。
3311 3311
3312<h3 id="write">3312<h3 id="write">
3313 Write3313 Write
3449};3449};
3450```3450```
3451 3451
3452執行[動態工作流程](/docs/zh-TW/workflows):在背景中協調許多子代理並傳回一個統一結果的指令碼。Workflow 工具在 Agent SDK v0.3.149 及更新版本中可用。至少需要 `script`、`name` 或 `scriptPath` 中的一個。3452執行[動態工作流程](/docs/zh-TW/workflows):在背景中協調許多子代理並傳回一個統一結果的指令碼。Workflow 工具在 Agent SDK v0.3.149 及更新版本中可用。至少需要 `script`、`name` 或 `scriptPath` 其中之一。
3453 3453
3454| 欄位 | 類型 | 說明 |3454| 欄位 | 類型 | 描述 |
3455| - | - | - |3455| - | - | - |
3456| `script` | `string` | 內嵌工作流程指令碼。必須以 `export const meta = { name, description }` 作為字面值開始,後面跟著使用 `agent()`、`parallel()`、`pipeline()` 和 `phase()` 的指令碼主體。`meta` 中的選擇性 `phases` 陣列在進度檢視中將代理分組到具名階段下 |3456| `script` | `string` | 內嵌工作流程指令碼。必須以 `export const meta = { name, description }` 作為字面值開始,後面跟著使用 `agent()`、`parallel()`、`pipeline()` 和 `phase()` 的指令碼主體。`meta` 中的選擇性 `phases` 陣列在進度檢視中將代理分組到具名階段下 |
3457| `name` | `string` | 內建工作流程的名稱或儲存在 `.claude/workflows/` 中的工作流程名稱。解析為指令碼 |3457| `name` | `string` | 內建工作流程的名稱或儲存在 `.claude/workflows/` 中的工作流程名稱。解析為指令碼 |
3458| `scriptPath` | `string` | 磁碟上工作流程指令碼檔案的路徑。優先於 `script` 和 `name`。Claude Code 保留每次呼叫的指令碼並在結果中傳回路徑,因此您可以編輯該檔案並使用相同的 `scriptPath` 重新呼叫以進行迭代 |3458| `scriptPath` | `string` | 磁碟上工作流程指令碼檔案的路徑。優先於 `script` 和 `name`。Claude Code 保留每次呼叫的指令碼並在結果中傳回路徑,因此您可以編輯該檔案並使用相同的 `scriptPath` 重新呼叫以進行迭代 |
3459| `args` | `unknown` | 輸入值,作為全域 `args` 公開給指令碼,用於參數化的具名工作流程,例如研究問題或檔案路徑清單。將陣列和物件作為實際 JSON 值傳遞,而不是 JSON 編碼的字串 |3459| `args` | `unknown` | 輸入值,作為全域 `args` 公開給指令碼,用於參數化的具名工作流程,例如研究問題或檔案路徑清單。將陣列和物件作為實際 JSON 值傳遞,而不是 JSON 編碼的字串 |
3460| `resumeFromRunId` | `string` | 先前 `Workflow` 呼叫的執行 ID 以繼續。具有未變更輸入的已完成 `agent()` 呼叫通常傳回快取結果;其餘的執行即時。[暫停後繼續](/docs/zh-TW/workflows#resume-after-a-pause)涵蓋哪些已完成的呼叫重新執行。僅限同一工作階段 |3460| `resumeFromRunId` | `string` | 先前 `Workflow` 呼叫的執行 ID 以繼續。具有未變更輸入的已完成 `agent()` 呼叫通常傳回快取結果;其餘的執行即時。[暫停後繼續](/docs/zh-TW/workflows#resume-after-a-pause)涵蓋哪些已完成的呼叫會重新執行。僅限同一工作階段 |
3461| `title` | `string` | 已忽略;指令碼的 `meta` 區塊設定標題 |3461| `title` | `string` | 被忽略;指令碼的 `meta` 區塊設定標題 |
3462| `description` | `string` | 已忽略;指令碼的 `meta` 區塊設定說明 |3462| `description` | `string` | 被忽略;指令碼的 `meta` 區塊設定描述 |
3463 3463
3464<h3 id="todowrite">3464<h3 id="todowrite">
3465 TodoWrite3465 TodoWrite
3577};3577};
3578```3578```
3579 3579
3580退出 Plan Mode。`allowedPrompts` 欄位已棄用且被忽略;Claude Code 仍接受它以便現有呼叫者和文字記錄驗證。在 v2.1.205 之前,它要求基於提示的 Bash 權限以實施計畫。3580退出 Plan Mode。`allowedPrompts` 欄位已棄用且被忽略;Claude Code 仍接受它以便現有呼叫者和文字記錄驗證通過。在 v2.1.205 之前,它要求基於提示的 Bash 權限以實現計畫。
3581 3581
3582<h3 id="listmcpresources">3582<h3 id="listmcpresources">
3583 ListMcpResources3583 ListMcpResources
3648type EnterPlanModeInput = {};3648type EnterPlanModeInput = {};
3649```3649```
3650 3650
3651進入 Plan Mode,其中 Claude 在進行變更前研究並呈現計畫。3651進入 Plan Mode,Claude 在其中研究並在進行變更前提出計畫。
3652 3652
3653<h3 id="croncreate">3653<h3 id="croncreate">
3654 CronCreate3654 CronCreate
3665};3665};
3666```3666```
3667 3667
3668在本機時間的 5 欄位 cron 排程上排程提示執行。將 `recurring` 設定為 `false` 以在下一個符合時單次觸發。工作預設為工作階段範圍,啟動新對話會清除它們,使用 `--resume` 或 `--continue` 繼續會還原尚未過期的工作。詳見[排程任務](/docs/zh-TW/scheduled-tasks)。3668在本機時間的 5 欄位 cron 排程上排程提示執行。將 `recurring` 設定為 `false` 以在下一個符合時單次觸發。工作預設為工作階段範圍,使用 `--resume` 或 `--continue` 繼續時會還原尚未過期的工作。詳見[排程任務](/docs/zh-TW/scheduled-tasks)。
3669 3669
3670將 `durable` 設定為 `true` 以要求持久化到 `.claude/scheduled_tasks.json`,使工作在重新啟動後存活。持久化排程並非在每個工作階段都可用:當不可用時,Claude Code 接受 `durable: true` 但建立工作階段專用工作。讀取輸出的 `durable` 欄位以查看工作是否已持久化。3670將 `durable` 設定為 `true` 以要求持久化至 `.claude/scheduled_tasks.json`,使工作在重新啟動後存活。並非每個工作階段都提供持久排程:當不提供時,Claude Code 接受 `durable: true` 但建立工作為僅工作階段。讀取輸出的 `durable` 欄位以查看工作是否已持久化。
3671 3671
3672<h3 id="crondelete">3672<h3 id="crondelete">
3673 CronDelete3673 CronDelete
3681};3681};
3682```3682```
3683 3683
3684按從 `CronCreate` 傳回的 ID 刪除排程的 cron 工作。3684按 `CronCreate` 傳回的 ID 刪除排程的 cron 工作。
3685 3685
3686<h3 id="cronlist">3686<h3 id="cronlist">
3687 CronList3687 CronList
3693type CronListInput = {};3693type CronListInput = {};
3694```3694```
3695 3695
3696列出排程的 cron 工作:來自 `.claude/scheduled_tasks.json` 的持久化工作和來自目前工作階段的工作階段專用工作。3696列出排程的 cron 工作:來自 `.claude/scheduled_tasks.json` 的持久工作和來自目前工作階段的僅工作階段工作。
3697 3697
3698<h3 id="schedulewakeup">3698<h3 id="schedulewakeup">
3699 ScheduleWakeup3699 ScheduleWakeup
3711};3711};
3712```3712```
3713 3713
3714排程一次性喚醒,在延遲後觸發給定的提示。此工具支援自步調 `/loop` 命令。執行時間將 `delaySeconds` 限制在 60 到 3600 秒之間。除非 `stop` 為 true,否則 `delaySeconds`、`reason`、`prompt` 和 `noop` 欄位為必需。`noop: true` 報告沒有任何變更的喚醒。設定 `stop: true` 以取消待處理的喚醒並結束自步調 `/loop`。`stop` 欄位需要 Claude Code v2.1.202 或更新版本。詳見[工具參考中的 ScheduleWakeup 列](/docs/zh-TW/tools-reference)。3714排程一次性喚醒,在延遲後觸發給定的提示。此工具支援自步調 `/loop` 命令。執行時間將 `delaySeconds` 限制在 60 到 3600 秒之間。除非 `stop` 為 true,否則 `delaySeconds`、`reason`、`prompt` 和 `noop` 欄位為必需。`noop: true` 報告沒有任何變更的喚醒。設定 `stop: true` 會取消待處理的喚醒並結束自步調 `/loop`。`stop` 欄位需要 Claude Code v2.1.202 或更新版本。詳見[工具參考中的 ScheduleWakeup 列](/docs/zh-TW/tools-reference)。
3715 3715
3716<h3 id="remotetrigger">3716<h3 id="remotetrigger">
3717 RemoteTrigger3717 RemoteTrigger
3739};3739};
3740```3740```
3741 3741
3742管理[例行工作](/docs/zh-TW/routines),即在雲端託管的排程和觸發 Claude Code 執行。此工具支援 `/schedule` 命令。`trigger_id` 對於 `get`、`update`、`run` 和 `list_runs` 動作為必需。`body` 對於 `create`、`update` 和 `create_webhook_trigger` 為必需,對於 `run` 為選擇性。3742管理[例行程序](/docs/zh-TW/routines),即在雲端託管的排程和觸發 Claude Code 執行。此工具支援 `/schedule` 命令。`trigger_id` 對於 `get`、`update`、`run` 和 `list_runs` 動作為必需。`body` 對於 `create`、`update` 和 `create_webhook_trigger` 為必需,對於 `run` 為選擇性。
3743 3743
3744`create_webhook_trigger` 將事件來源附加到現有例行工作,例如觸發它的 [GitHub 事件](/docs/zh-TW/routines#add-a-github-trigger)。`body` 命名來源、事件和要觸發的例行工作。需要 Claude Code v2.1.225 或更新版本。3744`create_webhook_trigger` 將事件來源附加到現有例行程序,例如觸發它的 [GitHub 事件](/docs/zh-TW/routines#add-a-github-trigger)。`body` 命名來源、事件和要觸發的例行程序。需要 Claude Code v2.1.225 或更新版本。
3745 3745
3746`list_runs` 列出例行工作的最近執行,`get_run_log` 讀取一個執行的日誌。`session_id` 命名要讀取的執行,來自 `list_runs` 結果,`cursor` 透過任一動作的結果進行分頁。兩個動作都需要 Claude Code v2.1.227 或更新版本。3746`list_runs` 列出例行程序的最近執行,`get_run_log` 讀取一個執行的日誌。`session_id` 命名要讀取的執行(來自 `list_runs` 結果),`cursor` 分頁任一動作的結果。兩個動作都需要 Claude Code v2.1.227 或更新版本。
3747 3747
3748此工具僅在工作階段使用啟用例行工作的計畫的 claude.ai 帳戶進行驗證時可用,當您的組織政策停用[網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web) 時不存在。在 Claude Code v2.1.227 或更新版本上,當所有者[為組織關閉例行工作](/docs/zh-TW/routines#routines-are-disabled-by-your-organizations-policy)時,該工具也不存在。在 v2.1.227 之前,僅關閉例行工作切換的工作階段仍顯示該工具,伺服器拒絕其呼叫。3748此工具僅在工作階段使用啟用例行程序的 claude.ai 帳戶進行驗證時可用,當您的組織政策停用[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)時不存在。在 Claude Code v2.1.227 或更新版本上,當擁有者[為組織關閉例行程序](/docs/zh-TW/routines#routines-are-disabled-by-your-organizations-policy)時,工具也不存在。在 v2.1.227 之前,僅關閉例行程序切換的工作階段仍顯示工具,伺服器拒絕其呼叫。
3749 3749
3750<h3 id="pushnotification">3750<h3 id="pushnotification">
3751 PushNotification3751 PushNotification
3760};3760};
3761```3761```
3762 3762
3763向使用者傳送主動推播通知。將 `message` 保持在 200 個字元以下,因為行動作業系統會截斷較長的文字。詳見[工具參考中的 PushNotification 列](/docs/zh-TW/tools-reference)以了解提供者可用性;推播傳遞透過 Anthropic 託管的基礎設施執行,無法從 Amazon Bedrock、AWS 上的 Claude Platform、Google Cloud 的 Agent Platform 或 Microsoft Foundry 存取。3763向使用者傳送主動推播通知。將 `message` 保持在 200 個字元以下,因為行動作業系統會截斷較長的文字。詳見[工具參考中的 PushNotification 列](/docs/zh-TW/tools-reference)以了解提供者可用性;推播傳遞通過 Anthropic 託管的基礎設施進行,該基礎設施無法從 Amazon Bedrock、AWS 上的 Claude Platform、Google Cloud 的 Agent Platform 或 Microsoft Foundry 存取。
3764 3764
3765<h3 id="repl">3765<h3 id="repl">
3766 REPL3766 REPL
3767</h3>3767</h3>
3768 3768
3769在 v2.1.275 中移除。透過 v2.1.274,實驗性 `REPL` 工具可以透過在 [`env` 選項](#options)中設定 `CLAUDE_CODE_REPL=1` 來開啟。3769在 v2.1.275 中移除。通過 v2.1.274,實驗性 `REPL` 工具可以通過在[`env` 選項](#options)中設定 `CLAUDE_CODE_REPL=1` 來開啟。
3770 3770
3771<h3 id="reportfindings">3771<h3 id="reportfindings">
3772 ReportFindings3772 ReportFindings
3790};3790};
3791```3791```
3792 3792
3793將程式碼審查發現報告為結構化清單,以便 Claude Code 可以呈現它們而不是將其列印為文字。`level` 是審查執行的工作量級別。發現按最嚴重優先排序,每次呼叫最多 32 個,當沒有倖存時陣列為空。需要 Claude Code v2.1.196 或更新版本。3793將程式碼審查發現報告為結構化清單,以便 Claude Code 可以呈現它們而不是將其列印為文字。`level` 是審查執行的工作量級別。發現按最嚴重優先排序,每次呼叫最多 32 個,當沒有發現存活時陣列為空。需要 Claude Code v2.1.196 或更新版本。
3794 3794
3795每個發現包含這些欄位:3795每個發現包含這些欄位:
3796 3796
3797* `file`:發現所在的儲存庫相對路徑。選擇性 `line` 是它錨定到的 1 索引行。3797* `file`:發現所在的儲存庫相對路徑。選擇性 `line` 是它錨定到的 1 索引行。
3798* `summary`:缺陷的單句陳述。`failure_scenario` 描述導致錯誤輸出或當機的具體輸入和狀態。3798* `summary`:缺陷的單句陳述。`failure_scenario` 描述導致錯誤輸出或當機的具體輸入和狀態。
3799* `short_summary`:選擇性的最多 60 個字元的壓縮標籤,用於緊湊顯示。需要 Claude Code v2.1.212 或更新版本。3799* `short_summary`:選擇性壓縮標籤,最多 60 個字元用於緊湊顯示。需要 Claude Code v2.1.212 或更新版本。
3800* `category`:選擇性的發現類型的短 kebab-case slug,例如 `correctness` 或 `test-coverage`。需要 Claude Code v2.1.199 或更新版本。3800* `category`:選擇性短 kebab-case 發現類型的 slug,例如 `correctness` 或 `test-coverage`。需要 Claude Code v2.1.199 或更新版本。
3801* `verdict`:在驗證通過執行時設定;在僅內嵌審查中不存在。3801* `verdict`:在驗證通過執行時設定;在僅內嵌審查上不存在。
3802* `outcome`:僅在應用修復後重新報告時設定。3802* `outcome`:僅在應用修復後重新報告時設定。
3803 3803
3804<h3 id="artifact">3804<h3 id="artifact">
3825};3825};
3826```3826```
3827 3827
3828將本機 `.html` 或 `.md` 檔案發佈為託管成品頁面,或列出使用者的已發佈成品。省略 `action` 或傳遞 `"publish"` 以發佈 `file_path`,這對於發佈動作為必需。每個以下欄位適用於發佈:3828將本機 `.html` 或 `.md` 檔案發佈為託管成品頁面,或列出使用者的已發佈成品。省略 `action` 或傳遞 `"publish"` 以發佈 `file_path`,這對於發佈動作為必需。以下每個欄位適用於發佈:
3829 3829
3830* `icon`:成品瀏覽器標籤圖示的一個短通用詞,例如 `chart` 或 `map`。Claude 在首次發佈時包含它,在更新時省略它,這會保留成品的儲存圖示。3830* `icon`:成品瀏覽器標籤圖示的一個短通用詞,例如 `chart` 或 `map`。Claude 在首次發佈時包含它,在更新時省略它,這保留成品的儲存圖示。
3831* `favicon`:已棄用,Claude 會省略它。3831* `favicon`:已棄用,Claude 省略它。
3832* `title`:當 HTML 檔案沒有 `<title>` 標籤時,在瀏覽器標籤和圖庫中命名已發佈頁面。3832* `title`:在瀏覽器標籤和圖庫中命名已發佈頁面,當 HTML 檔案沒有 `<title>` 標籤時。
3833* `url`:以現有成品為目標以就地更新,而不是建立新的。3833* `url`:目標是現有成品以就地更新,而不是建立新的。
3834 3834
3835`force` 是最後手段的覆蓋,捨棄另一個工作階段發佈的較新版本。發生衝突時,失敗的發佈會傳回較新的內容;Claude 將其變更合併到該內容上,或重新讀取成品,然後再次發佈。僅當使用者明確要求捨棄該版本時才傳遞 `force`。3835`force` 是最後手段覆蓋,丟棄另一個工作階段發佈的較新版本。在衝突時,失敗的發佈傳回較新的內容;Claude 將其變更合併到該內容上,或重新讀取成品,並再次發佈。僅當使用者明確要求丟棄該版本時傳遞 `force`。
3836 3836
3837傳遞 `"list"` 以列舉使用者的已發佈成品;只有 `limit` 和 `scope` 可能伴隨它。`scope` 預設為 `"mine"`,列出使用者擁有的成品;`"shared"` 列出其他人與使用者共享的成品,`"all"` 列出兩者。3837傳遞 `"list"` 以列舉使用者的已發佈成品;僅 `limit` 和 `scope` 可能伴隨它。`scope` 預設為 `"mine"`,列出使用者擁有的成品;`"shared"` 列出其他人與使用者共享的成品,`"all"` 列出兩者。
3838 3838
3839* `capabilities`:已發佈頁面使用的執行時功能,按功能名稱鍵入,例如[頁面可能呼叫的連接器](/docs/zh-TW/artifacts#pull-live-data-with-mcp-connectors)。成品服務驗證宣告並拒絕命名帳戶無法使用的功能或給予無效設定的發佈。傳遞 `{}` 以清除儲存的宣告,並在重新部署時省略欄位以保留它。需要 Agent SDK v0.3.235 或更新版本。3839* `capabilities`:已發佈頁面使用的執行時功能,按功能名稱鍵入,例如[頁面可能呼叫的連接器](/docs/zh-TW/artifacts#pull-live-data-with-mcp-connectors)。成品服務驗證宣告並拒絕命名帳戶無法使用的功能或給予一個無效設定的發佈。傳遞 `{}` 以清除儲存的宣告,在重新部署時省略欄位以保留它。需要 Agent SDK v0.3.235 或更新版本。
3840* `contract`:已發佈頁面執行的執行時版本。省略它以保留成品的目前版本,傳遞 `"latest"` 以升級,或傳遞特定版本以釘選或回滾。需要 Agent SDK v0.3.235 或更新版本。3840* `contract`:已發佈頁面執行的執行時版本。省略它以保留成品的目前版本,傳遞 `"latest"` 以升級,或傳遞特定版本以釘選或回滾。需要 Agent SDK v0.3.235 或更新版本。
3841 3841
3842類型已匯出,但該工具在 Agent SDK 工作階段中預設關閉。發佈還需要[成品可用性表](/docs/zh-TW/artifacts#availability)中的每個條件,使用 API 金鑰驗證的工作階段不符合。3842類型已匯出,但工具在 Agent SDK 工作階段中預設為關閉。發佈也需要[成品可用性表](/docs/zh-TW/artifacts#availability)中的每個條件,使用 API 金鑰驗證的工作階段不符合。
3843 3843
3844<h3 id="projects">3844<h3 id="projects">
3845 Projects3845 Projects
3868 3868
3869* `project_info`:傳回專案中繼資料和文件清單。3869* `project_info`:傳回專案中繼資料和文件清單。
3870* `project_read`:按 `path` 讀取一個文件。3870* `project_read`:按 `path` 讀取一個文件。
3871* `project_search`:使用 `query` 查詢專案的知識庫。`n` 限制點擊數,預設為 5。3871* `project_search`:使用 `query` 查詢專案的知識庫。`n` 限制點擊數並預設為 `5`。
3872* `project_write`:在 `path` 建立或取代文件,來自 `content`(帶有內嵌文字)或 `local_path`(命名工作目錄內的檔案)中的恰好一個。`present_to_user: true` 將寫入的文件標記為使用者需要查看的可交付成果。3872* `project_write`:在 `path` 建立或替換文件,恰好來自 `content`(帶有內嵌文字)或 `local_path`(命名工作目錄內的檔案)其中之一。`present_to_user: true` 將寫入的文件標記為使用者需要查看的可交付成果。
3873* `project_delete`:按 `path` 刪除文件。3873* `project_delete`:按 `path` 刪除文件。
3874 3874
3875<h3 id="readmcpresourcedir">3875<h3 id="readmcpresourcedir">
3885};3885};
3886```3886```
3887 3887
3888列出 MCP 伺服器上目錄資源的直接子項。僅可用於已宣告支援目錄列表的伺服器;列表不是遞迴的。目錄列表並非在每個工作階段都啟用:當關閉時,呼叫傳回空的 `resources` 清單,`error` 欄位報告目錄列表未啟用。3888列出 MCP 伺服器上目錄資源的直接子項。僅可用於已宣告支援目錄列表的伺服器;列表不是遞迴的。並非每個工作階段都啟用目錄列表:當關閉時,呼叫傳回空 `resources` 清單,`error` 欄位報告目錄列表未啟用。
3889 3889
3890<h3 id="refreshmcptools">3890<h3 id="refreshmcptools">
3891 RefreshMcpTools3891 RefreshMcpTools
3899};3899};
3900```3900```
3901 3901
3902重新查詢已連接 MCP 伺服器的工具清單並應用任何變更。類型已匯出,但 Claude Code 僅在您在 [`env` 選項](#options)中設定 `CLAUDE_CODE_ENABLE_REFRESH_MCP_TOOLS=1` 時註冊該工具,並且僅在至少有一個 MCP 伺服器的工作階段中。需要 Claude Code v2.1.211 或更新版本。3902重新查詢已連接 MCP 伺服器的工具清單並應用任何變更。類型已匯出,但 Claude Code 僅在您在[`env` 選項](#options)中設定 `CLAUDE_CODE_ENABLE_REFRESH_MCP_TOOLS=1` 時註冊工具,且僅在至少有一個 MCP 伺服器的工作階段中。需要 Claude Code v2.1.211 或更新版本。
3903 3903
3904<h3 id="showonboardingrolepicker">3904<h3 id="showonboardingrolepicker">
3905 ShowOnboardingRolePicker3905 ShowOnboardingRolePicker
3911type ShowOnboardingRolePickerInput = {};3911type ShowOnboardingRolePickerInput = {};
3912```3912```
3913 3913
3914在 Cowork 上線期間呈現可點擊的角色選擇器晶片列,以便使用者可以選擇其角色並取得相符的外掛程式安裝。不帶任何引數;角色清單由用戶端定義。呼叫會阻止直到使用者回應。3914在 Cowork 上線期間呈現可點擊的角色選擇器晶片列,以便使用者可以選擇其角色並取得相符的外掛程式安裝。不帶引數;角色清單由用戶端定義。呼叫會阻止直到使用者回應。
3915 3915
3916<h3 id="mcpinput">3916<h3 id="mcpinput">
3917 McpInput3917 McpInput
3925};3925};
3926```3926```
3927 3927
3928MCP 工具引數是開放物件:每個伺服器定義自己的參數,因此類型對欄位名稱或值不施加任何限制。請查閱伺服器自己的工具架構以了解特定工具接受的欄位。3928MCP 工具引數是開放物件:每個伺服器定義其自己的參數,因此類型對欄位名稱或值不施加任何限制。請查閱伺服器自己的工具結構以了解特定工具接受的欄位。
3929 3929
3930<h2 id="tool-output-types">3930<h2 id="tool-output-types">
3931 工具輸出類型3931 工具輸出類型
4141 4141
4142`timedOutAfterMs` 是逾時(以毫秒為單位),當命令達到其逾時並移至背景而不是明確從那裡開始時設定。`backgroundCwdHint` 在背景化命令包含目錄變更內建函式(例如 `cd`、`pushd`、`popd` 或 `chdir`)時設定,並注意工作階段工作目錄未變更。兩個欄位都需要 Claude Code v2.1.210 或更新版本。4142`timedOutAfterMs` 是逾時(以毫秒為單位),當命令達到其逾時並移至背景而不是明確從那裡開始時設定。`backgroundCwdHint` 在背景化命令包含目錄變更內建函式(例如 `cd`、`pushd`、`popd` 或 `chdir`)時設定,並注意工作階段工作目錄未變更。兩個欄位都需要 Claude Code v2.1.210 或更新版本。
4143 4143
4144當在前景執行的子代理擁有背景化命令時,該命令[在該子代理的執行結束時結束](/docs/zh-TW/tools-reference#background-commands)。Claude Code 在此類命令上將 `backgroundEndsWithFinalResponse` 設定為 `true`,並在命令存活該輪時省略欄位,如主對話或背景子代理啟動的命令一樣。此欄位需要 Claude Code v2.1.227 或更新版本。4144當在前景執行的子代理擁有背景化命令時,該命令[在該子代理的執行結束時結束](/docs/zh-TW/tools-reference#when-a-background-command-stops)。Claude Code 在此類命令上將 `backgroundEndsWithFinalResponse` 設定為 `true`,並在命令存活該輪時省略欄位,如主對話或背景子代理啟動的命令一樣。此欄位需要 Claude Code v2.1.227 或更新版本。
4145 4145
4146Claude Code 將 `gitOperation.commit.branch` 設定為 git 提交摘要行中命名的分支,並對在分離 HEAD 上進行的提交省略它。此欄位需要 Agent SDK v0.3.227 或更新版本。Claude Code 將 `gh pr reopen` 命令報告為 `reopened` PR 動作,需要 Agent SDK v0.3.234 或更新版本。4146Claude Code 將 `gitOperation.commit.branch` 設定為 git 提交摘要行中命名的分支,並對在分離 HEAD 上進行的提交省略它。此欄位需要 Agent SDK v0.3.227 或更新版本。Claude Code 將 `gh pr reopen` 命令報告為 `reopened` PR 動作,需要 Agent SDK v0.3.234 或更新版本。
4147 4147