388| `extraArgs` | `Record<string, string \| null>` | `{}` | 其他參數 |388| `extraArgs` | `Record<string, string \| null>` | `{}` | 其他參數 |
389| `fallbackModel` | `string` | `undefined` | 主模型失敗時使用的模型 |389| `fallbackModel` | `string` | `undefined` | 主模型失敗時使用的模型 |
390| `forkSession` | `boolean` | `false` | 使用 `resume` 恢復時,分叉到新會話 ID 而不是繼續原始會話 |390| `forkSession` | `boolean` | `false` | 使用 `resume` 恢復時,分叉到新會話 ID 而不是繼續原始會話 |
391| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | 事件的 Hook 回調 |391| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | 事件的 hooks 回調 |
392| `includeHookEvents` | `boolean` | `false` | 將 hooks 生命週期事件包括在消息流中,作為 [`SDKHookStartedMessage`](#sdkhookstartedmessage)、[`SDKHookProgressMessage`](#sdkhookprogressmessage) 和 [`SDKHookResponseMessage`](#sdkhookresponsemessage) |
392| `includePartialMessages` | `boolean` | `false` | 包括部分消息事件 |393| `includePartialMessages` | `boolean` | `false` | 包括部分消息事件 |
393| `maxBudgetUsd` | `number` | `undefined` | 當客戶端成本估計達到此 USD 值時停止查詢。與 `total_cost_usd` 的相同估計進行比較;見 [跟蹤成本和使用情況](/zh-TW/agent-sdk/cost-tracking) 了解準確性注意事項 |394| `maxBudgetUsd` | `number` | `undefined` | 當客戶端成本估計達到此 USD 值時停止查詢。與 `total_cost_usd` 的相同估計進行比較;見 [跟蹤成本和使用情況](/zh-TW/agent-sdk/cost-tracking) 了解準確性注意事項 |
394| `maxThinkingTokens` | `number` | `undefined` | *已棄用:* 改用 `thinking`。思考過程的最大令牌數 |395| `maxThinkingTokens` | `number` | `undefined` | *已棄用:* 改用 `thinking`。思考過程的最大令牌數 |
401| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | 會話的權限模式 |402| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | 會話的權限模式 |
402| `permissionPromptToolName` | `string` | `undefined` | 權限提示的 MCP 工具名稱 |403| `permissionPromptToolName` | `string` | `undefined` | 權限提示的 MCP 工具名稱 |
403| `persistSession` | `boolean` | `true` | 當為 `false` 時,禁用會話持久化到磁盤。會話之後無法恢復 |404| `persistSession` | `boolean` | `true` | 當為 `false` 時,禁用會話持久化到磁盤。會話之後無法恢復 |
404| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | 從本地路徑加載自定義插件。見 [Plugins](/zh-TW/agent-sdk/plugins) 了解詳情 |405| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | 從本地路徑加載自定義 plugins。見 [Plugins](/zh-TW/agent-sdk/plugins) 了解詳情 |
405| `promptSuggestions` | `boolean` | `false` | 啟用提示建議。在每個轉數後發出 `prompt_suggestion` 消息,帶有預測的下一個用戶提示 |406| `promptSuggestions` | `boolean` | `false` | 啟用提示建議。在每個轉數後發出 `prompt_suggestion` 消息,帶有預測的下一個用戶提示 |
406| `resume` | `string` | `undefined` | 要恢復的會話 ID |407| `resume` | `string` | `undefined` | 要恢復的會話 ID |
407| `resumeSessionAt` | `string` | `undefined` | 在特定消息 UUID 處恢復會話 |408| `resumeSessionAt` | `string` | `undefined` | 在特定消息 UUID 處恢復會話 |
410| `sessionStore` | [`SessionStore`](/zh-TW/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | 將會話記錄鏡像到外部後端,以便任何主機都可以恢復它們。見 [將會話持久化到外部存儲](/zh-TW/agent-sdk/session-storage) |411| `sessionStore` | [`SessionStore`](/zh-TW/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | 將會話記錄鏡像到外部後端,以便任何主機都可以恢復它們。見 [將會話持久化到外部存儲](/zh-TW/agent-sdk/session-storage) |
411| `settings` | `string \| Settings` | `undefined` | 內聯 [設置](/zh-TW/settings) 對象或設置文件的路徑。填充 [優先級順序](/zh-TW/settings#settings-precedence) 中的標誌設置層。使用 [`applyFlagSettings()`](#applyflagsettings) 在運行時更改 |412| `settings` | `string \| Settings` | `undefined` | 內聯 [設置](/zh-TW/settings) 對象或設置文件的路徑。填充 [優先級順序](/zh-TW/settings#settings-precedence) 中的標誌設置層。使用 [`applyFlagSettings()`](#applyflagsettings) 在運行時更改 |
412| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI 默認值(所有源) | 控制加載哪些文件系統設置。傳遞 `[]` 以禁用用戶、項目和本地設置。無論如何都會加載託管策略設置。見 [使用 Claude Code 功能](/zh-TW/agent-sdk/claude-code-features#what-settingsources-does-not-control) |413| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI 默認值(所有源) | 控制加載哪些文件系統設置。傳遞 `[]` 以禁用用戶、項目和本地設置。無論如何都會加載託管策略設置。見 [使用 Claude Code 功能](/zh-TW/agent-sdk/claude-code-features#what-settingsources-does-not-control) |
413| `skills` | `string[] \| 'all'` | `undefined` | 會話可用的技能。傳遞 `'all'` 以啟用每個發現的技能,或傳遞技能名稱列表。設置後,SDK 會自動啟用 Skill 工具,無需在 `allowedTools` 中列出。見 [Skills](/zh-TW/agent-sdk/skills) |414| `skills` | `string[] \| 'all'` | `undefined` | 會話可用的 skills。傳遞 `'all'` 以啟用每個發現的 skill,或傳遞 skill 名稱列表。設置後,SDK 會自動啟用 Skill 工具,無需在 `allowedTools` 中列出。見 [Skills](/zh-TW/agent-sdk/skills) |
414| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | 用於生成 Claude Code 進程的自定義函數。用於在 VM、容器或遠程環境中運行 Claude Code |415| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | 用於生成 Claude Code 進程的自定義函數。用於在 VM、容器或遠程環境中運行 Claude Code |
415| `stderr` | `(data: string) => void` | `undefined` | stderr 輸出的回調 |416| `stderr` | `(data: string) => void` | `undefined` | stderr 輸出的回調 |
416| `strictMcpConfig` | `boolean` | `false` | 強制執行嚴格的 MCP 驗證 |417| `strictMcpConfig` | `boolean` | `false` | 強制執行嚴格的 MCP 驗證 |
588| `prompt` | 是 | 代理的系統提示 |589| `prompt` | 是 | 代理的系統提示 |
589| `model` | 否 | 此代理的模型覆蓋。接受別名如 `'sonnet'`、`'opus'`、`'haiku'`、`'inherit'` 或完整模型 ID。如果省略或 `'inherit'`,使用主模型 |590| `model` | 否 | 此代理的模型覆蓋。接受別名如 `'sonnet'`、`'opus'`、`'haiku'`、`'inherit'` 或完整模型 ID。如果省略或 `'inherit'`,使用主模型 |
590| `mcpServers` | 否 | 此代理可用的 MCP 服務器規範 |591| `mcpServers` | 否 | 此代理可用的 MCP 服務器規範 |
591| `skills` | 否 | 要預加載到代理上下文中的技能名稱數組 |592| `skills` | 否 | 要預加載到代理上下文中的 skill 名稱數組 |
592| `initialPrompt` | 否 | 當此代理作為主線程代理運行時,自動提交為第一個用戶轉數 |593| `initialPrompt` | 否 | 當此代理作為主線程代理運行時,自動提交為第一個用戶轉數 |
593| `maxTurns` | 否 | 最大代理轉數(API 往返),然後停止 |594| `maxTurns` | 否 | 最大代理轉數(API 往返),然後停止 |
594| `background` | 否 | 當調用時,將此代理作為非阻塞後台任務運行 |595| `background` | 否 | 當調用時,將此代理作為非阻塞後台任務運行 |
861 862
862### `SdkPluginConfig`863### `SdkPluginConfig`
863 864
864SDK 中加載插件的配置。865SDK 中加載 plugins 的配置。
865 866
866```typescript theme={null}867```typescript theme={null}
867type SdkPluginConfig = {868type SdkPluginConfig = {
871```872```
872 873
873| 字段 | 類型 | 描述 |874| 字段 | 類型 | 描述 |
874| :----- | :-------- | :----------------------- |875| :----- | :-------- | :----------------------------- |
875| `type` | `'local'` | 必須是 `'local'`(目前僅支持本地插件) |876| `type` | `'local'` | 必須是 `'local'`(目前僅支持本地 plugins) |
876| `path` | `string` | 插件目錄的絕對或相對路徑 |877| `path` | `string` | 插件目錄的絕對或相對路徑 |
877 878
878**示例:**879**示例:**
884];885];
885```886```
886 887
887有關創建和使用插件的完整信息,見 [Plugins](/zh-TW/agent-sdk/plugins)。888有關創建和使用 plugins 的完整信息,見 [Plugins](/zh-TW/agent-sdk/plugins)。
888 889
889## 消息類型890## 消息類型
890 891
1596 | ReadMcpResourceInput1597 | ReadMcpResourceInput
1597 | SubscribeMcpResourceInput1598 | SubscribeMcpResourceInput
1598 | SubscribePollingInput1599 | SubscribePollingInput
1600 | TaskCreateInput
1601 | TaskGetInput
1602 | TaskListInput
1599 | TaskStopInput1603 | TaskStopInput
1604 | TaskUpdateInput
1600 | TodoWriteInput1605 | TodoWriteInput
1601 | UnsubscribeMcpResourceInput1606 | UnsubscribeMcpResourceInput
1602 | UnsubscribePollingInput1607 | UnsubscribePollingInput
1850**工具名稱:** `TaskCreate`1855**工具名稱:** `TaskCreate`
1851 1856
1852```typescript theme={null}1857```typescript theme={null}
1853// 尚未從 SDK 導出;在本地定義。
1854type TaskCreateInput = {1858type TaskCreateInput = {
1855 subject: string;1859 subject: string;
1856 description: string;1860 description: string;
1866**工具名稱:** `TaskUpdate`1870**工具名稱:** `TaskUpdate`
1867 1871
1868```typescript theme={null}1872```typescript theme={null}
1869// 尚未從 SDK 導出;在本地定義。
1870type TaskUpdateInput = {1873type TaskUpdateInput = {
1871 taskId: string;1874 taskId: string;
1872 status?: "pending" | "in_progress" | "completed" | "deleted";1875 status?: "pending" | "in_progress" | "completed" | "deleted";
1887**工具名稱:** `TaskGet`1890**工具名稱:** `TaskGet`
1888 1891
1889```typescript theme={null}1892```typescript theme={null}
1890// 尚未從 SDK 導出;在本地定義。
1891type TaskGetInput = {1893type TaskGetInput = {
1892 taskId: string;1894 taskId: string;
1893};1895};
1900**工具名稱:** `TaskList`1902**工具名稱:** `TaskList`
1901 1903
1902```typescript theme={null}1904```typescript theme={null}
1903// 尚未從 SDK 導出;在本地定義。
1904type TaskListInput = {};1905type TaskListInput = {};
1905```1906```
1906 1907
1983 | MonitorOutput1984 | MonitorOutput
1984 | NotebookEditOutput1985 | NotebookEditOutput
1985 | ReadMcpResourceOutput1986 | ReadMcpResourceOutput
1987 | TaskCreateOutput
1988 | TaskGetOutput
1989 | TaskListOutput
1986 | TaskStopOutput1990 | TaskStopOutput
1991 | TaskUpdateOutput
1987 | TodoWriteOutput1992 | TodoWriteOutput
1988 | WebFetchOutput1993 | WebFetchOutput
1989 | WebSearchOutput;1994 | WebSearchOutput;
2347**工具名稱:** `TaskCreate`2352**工具名稱:** `TaskCreate`
2348 2353
2349```typescript theme={null}2354```typescript theme={null}
2350// Not yet exported from the SDK; define locally.
2351type TaskCreateOutput = {2355type TaskCreateOutput = {
2352 task: {2356 task: {
2353 id: string;2357 id: string;
2363**工具名稱:** `TaskUpdate`2367**工具名稱:** `TaskUpdate`
2364 2368
2365```typescript theme={null}2369```typescript theme={null}
2366// Not yet exported from the SDK; define locally.
2367type TaskUpdateOutput = {2370type TaskUpdateOutput = {
2368 success: boolean;2371 success: boolean;
2369 taskId: string;2372 taskId: string;
2383**工具名稱:** `TaskGet`2386**工具名稱:** `TaskGet`
2384 2387
2385```typescript theme={null}2388```typescript theme={null}
2386// Not yet exported from the SDK; define locally.
2387type TaskGetOutput = {2389type TaskGetOutput = {
2388 task: {2390 task: {
2389 id: string;2391 id: string;
2403**工具名稱:** `TaskList`2405**工具名稱:** `TaskList`
2404 2406
2405```typescript theme={null}2407```typescript theme={null}
2406// Not yet exported from the SDK; define locally.
2407type TaskListOutput = {2408type TaskListOutput = {
2408 tasks: Array<{2409 tasks: Array<{
2409 id: string;2410 id: string;