573在 Claude Tag 頻道工作階段中,Claude 作為組織的[共用身分](/docs/zh-TW/cloud-environments#set-the-environment-a-claude-tag-channel-uses)而不是任何成員工作,因此不要依賴 `user.*` 屬性來識別誰標記了 Claude。573在 Claude Tag 頻道工作階段中,Claude 作為組織的[共用身分](/docs/zh-TW/cloud-environments#set-the-environment-a-claude-tag-channel-uses)而不是任何成員工作,因此不要依賴 `user.*` 屬性來識別誰標記了 Claude。
574 574
575<h2 id="available-metrics-and-events">575<h2 id="available-metrics-and-events">
576 可用的指標和事件576 可用的指標與事件
577</h2>577</h2>
578 578
579<h3 id="standard-attributes">579<h3 id="standard-attributes">
580 標準屬性580 標準屬性
581</h3>581</h3>
582 582
583所有指標和事件都共享這些標準屬性:583所有指標與事件皆共用以下標準屬性:
584 584
585| 屬性 | 描述 | 控制方式 |585| 屬性 | 說明 | 控制方式 |
586| - | - | - |586| - | - | - |
587| `session.id` | 唯一的工作階段識別碼 | `OTEL_METRICS_INCLUDE_SESSION_ID`(預設值:true) |587| `session.id` | 唯一的工作階段識別碼 | `OTEL_METRICS_INCLUDE_SESSION_ID`(預設:true) |
588| `ccr.session.id` | 雲端工作階段識別碼,即 `CLAUDE_CODE_REMOTE_SESSION_ID` 的值,在[雲端環境](/docs/zh-TW/cloud-environments)中執行的工作階段上 | `OTEL_METRICS_INCLUDE_SESSION_ID`(預設值:true) |588| `ccr.session.id` | 雲端工作階段識別碼,即 `CLAUDE_CODE_REMOTE_SESSION_ID` 的值,出現在於[雲端環境](/docs/zh-TW/cloud-environments)中執行的工作階段 | `OTEL_METRICS_INCLUDE_SESSION_ID`(預設:true) |
589| `app.version` | 目前的 Claude Code 版本 | `OTEL_METRICS_INCLUDE_VERSION`(預設值:false) |589| `app.version` | 目前的 Claude Code 版本 | `OTEL_METRICS_INCLUDE_VERSION`(預設:false) |
590| `app.entrypoint` | 工作階段的啟動方式,例如 `cli`、`sdk-cli`、`sdk-ts`、`sdk-py`、`claude-vscode` 或 Claude Tag 工作階段的 `claude-in-slack` | `OTEL_METRICS_INCLUDE_ENTRYPOINT`(預設值:false) |590| `app.entrypoint` | 工作階段的啟動方式,例如 `cli`、`sdk-cli`、`sdk-ts`、`sdk-py`、`claude-vscode`,或 Claude Tag 工作階段的 `claude-in-slack` | `OTEL_METRICS_INCLUDE_ENTRYPOINT`(預設:false) |
591| `organization.id` | 組織 UUID(已驗證時) | 可用時始終包含 |591| `organization.id` | 組織 UUID(已通過身分驗證時) | 可用時一律包含 |
592| `user.account_uuid` | 帳戶 UUID(已驗證時) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID`(預設值:true) |592| `user.account_uuid` | 帳戶 UUID(已通過身分驗證時) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID`(預設:true) |
593| `user.account_id` | 帳戶 ID,採用與 Anthropic 管理員 API 相符的標記格式(已驗證時),例如 `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID`(預設值:true) |593| `user.account_id` | 符合 Anthropic 管理 API 標記格式的帳戶 ID(已通過身分驗證時),例如 `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID`(預設:true) |
594| `user.id` | 在首次執行時產生並保存在 `~/.claude.json` 中的隨機匿名識別碼。它不包含任何個人資訊,也不是從您的 Claude 帳戶衍生的。刪除該檔案會在下次執行時產生新的無關值。 | 始終包含 |594| `user.id` | 首次執行時產生並保存在 `~/.claude.json` 中的隨機匿名識別碼。不包含任何個人資訊,也不是由您的 Claude 帳戶衍生而來。刪除該檔案後,下次執行時會產生一個不相關的新值。 | 一律包含 |
595| `user.email` | 使用者電子郵件地址,來自您的登入或在[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)中來自工作階段自己的認證 | 可用時始終包含 |595| `user.email` | 使用者電子郵件地址,來自您的登入資訊,或在[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)中來自該工作階段本身的憑證 | 可用時一律包含 |
596| `terminal.type` | 終端機類型,例如 `iTerm.app`、`vscode`、`cursor` 或 `tmux` | 偵測到時始終包含 |596| `terminal.type` | 終端機類型,例如 `iTerm.app`、`vscode`、`cursor` 或 `tmux` | 偵測到時一律包含 |
597| 來自 `OTEL_RESOURCE_ATTRIBUTES` 的鍵 | 您設定的自訂屬性,例如 `department` 或 `team.id`。請參閱[多團隊組織支援](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES`(預設值:true) |597| 來自 `OTEL_RESOURCE_ATTRIBUTES` 的鍵 | 您設定的自訂屬性,例如 `department` 或 `team.id`。請參閱[多團隊組織支援](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES`(預設:true) |
598| `vcs.repository.url.full`、`vcs.owner.name`、`vcs.repository.name`、`vcs.provider.name` | 工作階段儲存庫的身份,衍生自其 `origin` 遠端。請參閱[儲存庫屬性](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY`(預設值:false)。需要 Claude Code v2.1.269 或更新版本 |598| `vcs.repository.url.full`、`vcs.owner.name`、`vcs.repository.name`、`vcs.provider.name` | 工作階段儲存庫的身分,由其 `origin` 遠端衍生而來。請參閱[儲存庫屬性](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY`(預設:false)。需要 Claude Code v2.1.269 或更新版本 |
599 599
600在工作階段通過 `/login` 登入到[Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)時,CLI 會使用已驗證的身份戳記匯出:`user.id` 是 IdP 主體,`user.email` 是已登入的電子郵件,`user.groups` 以逗號分隔的字串形式攜帶 IdP 群組成員資格。每個匯出還攜帶 `identity.source: gateway-oidc`。閘道身份最後應用,因此通過 `OTEL_RESOURCE_ATTRIBUTES` 設定的 `user.*` 和 `identity.*` 鍵在這些工作階段上被忽略。600在透過 `/login` 登入 [Claude apps 閘道](/docs/zh-TW/claude-apps-gateway)的工作階段中,CLI 會以經過身分驗證的身分標記匯出資料:`user.id` 為 IdP subject,`user.email` 為登入的電子郵件,而 `user.groups` 則以逗號分隔的字串承載 IdP 群組成員資格。每次匯出也會帶有 `identity.source: gateway-oidc`。閘道身分會最後套用,因此在這些工作階段中,透過 `OTEL_RESOURCE_ATTRIBUTES` 設定的 `user.*` 與 `identity.*` 鍵會被忽略。
601 601
602對於通過閘道連線的 Claude Desktop 和 Cowork 工作階段上的身份屬性,請參閱[閘道 `telemetry` 參考](/docs/zh-TW/claude-apps-gateway-config#telemetry)。602<Note>
603 603 Claude Code 在開發人員登入之前記錄的事件不會帶有閘道身分。當 Claude Code 在未登入閘道的狀態下開啟工作階段時(例如在[閘道結束登入](/docs/zh-TW/errors#cloud-gateway-session-expired)之後),登入前記錄的啟動事件會帶有匿名的 `user.id`,且沒有 `identity.source`。這些事件包括 [`managed_settings_resolved`](#managed-settings-resolved-event)、[`plugin_loaded`](#plugin-loaded-event) 與 [`mcp_server_connection`](#mcp-server-connection-event)。
604事件另外包括以下屬性。這些永遠不會附加到指標,因為它們會導致無限的基數:604</Note>
605 605
606* `prompt.id`:UUID,將使用者提示與所有後續事件關聯到下一個提示。請參閱[事件相關屬性](#event-correlation-attributes)。606關於透過閘道連線的 Claude Desktop 與 Cowork 工作階段上的身分屬性,請參閱[閘道 `telemetry` 參考](/docs/zh-TW/claude-apps-gateway-config#telemetry)。
607* `workspace.host_paths`:在桌面應用程式中選擇的主機工作區目錄,作為字串陣列607
608* `workflow.run_id`:執行識別碼,前綴為 `wf_`,在屬於[工作流程](/docs/zh-TW/workflows)工具執行的代理程式發出的 API 和工具事件上。按一個 `workflow.run_id` 篩選事件會重建該執行的 API 請求和工具結果。識別碼涵蓋工作流程指令碼產生的代理程式以及這些代理程式依次產生的任何代理程式,例如技能呼叫。它與工作流程工具結果中報告的執行識別碼相符。在所有其他事件上不存在。需要 Claude Code v2.1.202 或更新版本608事件還會額外包含以下屬性。這些屬性永遠不會附加到指標上,因為它們會導致無上限的基數:
609* `workflow.name`:工作流程的名稱,其指令碼的 `meta.name`,與 `workflow.run_id` 一起發出。當執行未修改的內建指令碼時,內建工作流程名稱會逐字出現。使用者撰寫的名稱(包括內建指令碼的編輯副本)會被替換為 `custom`,除非設定了 `OTEL_LOG_TOOL_DETAILS=1`。需要 Claude Code v2.1.202 或更新版本609
610* `prompt.id`:將使用者提示詞與其後直到下一個提示詞之前的所有事件相關聯的 UUID。請參閱[事件關聯屬性](#event-correlation-attributes)。
611* `workspace.host_paths`:在桌面應用程式中選取的主機工作區目錄,以字串陣列表示
612* `workflow.run_id`:執行識別碼,前綴為 `wf_`,出現在隸屬於 [Workflow](/docs/zh-TW/workflows) 工具執行的 agent 所發出的 API 與工具事件上。以單一 `workflow.run_id` 篩選事件,即可重建該次執行的 API 請求與工具結果。此識別碼涵蓋工作流程腳本所產生的 agent,以及這些 agent 再產生的任何 agent,例如 skill 呼叫。它與 Workflow 工具結果中回報的執行識別碼相符。在所有其他事件上皆不存在。需要 Claude Code v2.1.202 或更新版本
613* `workflow.name`:工作流程名稱,即其腳本的 `meta.name`,與 `workflow.run_id` 一同發出。當執行的是未經修改的內建腳本時,內建工作流程名稱會原樣出現。使用者撰寫的名稱(包括內建腳本的編輯副本)會被替換為 `custom`,除非設定了 `OTEL_LOG_TOOL_DETAILS=1`。需要 Claude Code v2.1.202 或更新版本
610 614
611<h4 id="repository-attributes">615<h4 id="repository-attributes">
612 儲存庫屬性616 儲存庫屬性
613</h4>617</h4>
614 618
615設定 `OTEL_METRICS_INCLUDE_REPOSITORY=true` 以使用工作階段儲存庫的身份標記指標和事件,以便共享收集器可以按儲存庫歸因使用情況。需要 Claude Code v2.1.269 或更新版本。619設定 `OTEL_METRICS_INCLUDE_REPOSITORY=true`,即可以工作階段儲存庫的身分標記指標與事件,讓共用的收集器能按儲存庫歸屬使用量。需要 Claude Code v2.1.269 或更新版本。
616 620
617Claude Code 每個工作階段從儲存庫的 `origin` 遠端衍生這些屬性一次。當儲存庫的 HTTPS 和 SSH 遠端命名相同的主機和相同的路徑時(如在 GitHub、GitLab 和 Bitbucket Cloud 上所做的那樣),兩者都會產生相同的值:621Claude Code 會在每個工作階段中從儲存庫的 `origin` 遠端衍生這些屬性一次。當儲存庫的 HTTPS 與 SSH 遠端指向相同的主機與相同的路徑時(如 GitHub、GitLab 與 Bitbucket Cloud),兩者會產生相同的值:
618 622
619| 屬性 | 值 |623| 屬性 | 值 |
620| - | - |624| - | - |
621| `vcs.repository.url.full` | 儲存庫的瀏覽器 URL,不含 `.git`,例如 `https://github.com/example-org/example-repo` |625| `vcs.repository.url.full` | 儲存庫的瀏覽器 URL,不含 `.git`,例如 `https://github.com/example-org/example-repo` |
622| `vcs.owner.name` | 所有者或群組路徑,例如 `example-org`;當遠端路徑只有一個段時省略 |626| `vcs.owner.name` | 擁有者或群組路徑,例如 `example-org`;當遠端路徑只有單一區段時會省略 |
623| `vcs.repository.name` | 裸儲存庫名稱,例如 `example-repo` |627| `vcs.repository.name` | 純儲存庫名稱,例如 `example-repo` |
624| `vcs.provider.name` | 當 Claude Code 將遠端的主機或 URL 形狀識別為其中之一時為 `github`、`gitlab`、`bitbucket` 或 `gitea`;否則省略 |628| `vcs.provider.name` | 當 Claude Code 將遠端的主機或 URL 形式辨識為下列提供者之一時,為 `github`、`gitlab`、`bitbucket` 或 `gitea`;否則省略 |
625 629
626值是小寫的,遠端 URL 中的認證、查詢字串和片段永遠不會出現在其中。當工作階段沒有 `origin` 遠端、遠端不是 URL 形狀或唯一的封閉儲存庫是您的主目錄時,屬性會被省略。630值會轉為小寫,且遠端 URL 中的憑證、查詢字串與片段永遠不會出現在其中。當工作階段沒有 `origin` 遠端、遠端不是 URL 形式,或唯一包含的儲存庫是您的家目錄時,這些屬性會被省略。
627 631
628要從[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)取得這些屬性,請在其[雲端環境](/docs/zh-TW/cloud-environments#set-environment-variables)上設定遙測變數,包括 `OTEL_METRICS_INCLUDE_REPOSITORY`。還要在環境的[網路存取](/docs/zh-TW/cloud-environments#network-access)中允許您的收集器的網域。632若要從[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)取得這些屬性,請在其[雲端環境](/docs/zh-TW/cloud-environments#set-environment-variables)上設定遙測變數,包括 `OTEL_METRICS_INCLUDE_REPOSITORY`。同時也請在該環境的[網路存取](/docs/zh-TW/cloud-environments#network-access)中允許您收集器的網域。
629 633
630您在 [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) 中宣告的 `vcs.*` 鍵會替換該鍵的衍生值。如果您宣告 `vcs.repository.url.full`,Claude Code 永遠不會讀取遠端,只會報告您宣告的鍵。634您在 [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) 中宣告的 `vcs.*` 鍵會取代該鍵的衍生值。若您宣告了 `vcs.repository.url.full`,Claude Code 將永遠不會讀取遠端,且只會回報您宣告的鍵。
631 635
632如果一個儲存庫的 HTTPS 和 SSH 複製報告不同的值,例如在自託管安裝上,其 HTTPS 複製 URL 攜帶 SSH URL 缺少的路徑前綴,請在 `OTEL_RESOURCE_ATTRIBUTES` 中宣告 `vcs.repository.url.full` 以及您想要報告的每個其他 `vcs.*` 鍵。然後每個複製都會報告您宣告的身份。636若同一儲存庫的 HTTPS 與 SSH 複製回報不同的值(例如在自行託管的安裝中,HTTPS 複製 URL 帶有 SSH URL 所沒有的路徑前綴),請在 `OTEL_RESOURCE_ATTRIBUTES` 中宣告 `vcs.repository.url.full`,以及您希望回報的所有其他 `vcs.*` 鍵。如此一來,每個複製都會回報您宣告的身分。
633 637
634屬性只流向您自己的匯出器;Anthropic 的遙測會丟棄每個 `vcs.*` 鍵。638這些屬性只會流向您自己的匯出器;Anthropic 的遙測會捨棄所有 `vcs.*` 鍵。
635 639
636<h3 id="metrics">640<h3 id="metrics">
637 指標641 指標
638</h3>642</h3>
639 643
640Claude Code 匯出以下指標。「單位」欄顯示附加到每個指標的 OpenTelemetry 單位字串;計數指標不攜帶任何單位。644Claude Code 會匯出以下指標。「單位」欄顯示附加到每個指標的 OpenTelemetry 單位字串;計數類指標不帶單位。
641 645
642| 指標名稱 | 描述 | 單位 |646| 指標名稱 | 說明 | 單位 |
643| - | - | - |647| - | - | - |
644| `claude_code.session.count` | 啟動的 CLI 工作階段計數 | 無 |648| `claude_code.session.count` | 已啟動的 CLI 工作階段計數 | 無 |
645| `claude_code.lines_of_code.count` | 修改的程式碼行計數 | 無 |649| `claude_code.lines_of_code.count` | 已修改的程式碼行數計數 | 無 |
646| `claude_code.pull_request.count` | 建立的提取請求數 | 無 |650| `claude_code.pull_request.count` | 已建立的 pull request 數量 | 無 |
647| `claude_code.commit.count` | 建立的 git 提交數 | 無 |651| `claude_code.commit.count` | 已建立的 git 提交數量 | 無 |
648| `claude_code.cost.usage` | Claude Code 工作階段的成本 | USD |652| `claude_code.cost.usage` | Claude Code 工作階段的成本 | USD |
649| `claude_code.token.usage` | 使用的權杖數 | tokens |653| `claude_code.token.usage` | 已使用的 token 數量 | tokens |
650| `claude_code.code_edit_tool.decision` | 程式碼編輯工具權限決定計數 | 無 |654| `claude_code.code_edit_tool.decision` | 程式碼編輯工具權限決定的計數 | 無 |
651| `claude_code.active_time.total` | 總活躍時間 | s |655| `claude_code.active_time.total` | 總活躍時間 | s |
652 656
653當 `prometheus` 是 `OTEL_METRICS_EXPORTER` 中列出的唯一匯出器時,Claude Code 會從匯出的指標中省略 `USD`、`tokens` 和 `s` 單位,以便抓取保持有效的 Prometheus 文字格式。指標名稱不會改變,結合匯出器的配置(例如 `otlp,prometheus`)會保留單位。在 v2.1.216 之前,Prometheus 抓取包含一些抓取器拒絕的 OpenMetrics 專用 `# UNIT` 行。657當 `prometheus` 是 `OTEL_METRICS_EXPORTER` 中列出的唯一匯出器時,Claude Code 會從匯出的指標中省略 `USD`、`tokens` 與 `s` 單位,使抓取結果保持為有效的 Prometheus 文字格式。指標名稱不會改變,而結合多個匯出器的設定(例如 `otlp,prometheus`)會保留單位。在 v2.1.216 之前,Prometheus 抓取結果包含僅適用於 OpenMetrics 的 `# UNIT` 行,部分抓取器會拒絕這些行。
654 658
655<h3 id="metric-details">659<h3 id="metric-details">
656 指標詳細資訊660 指標詳細資訊
657</h3>661</h3>
658 662
659每個指標都包括上面列出的標準屬性。具有額外上下文特定屬性的指標如下所述。663每個指標都包含上方列出的標準屬性。帶有額外情境特定屬性的指標會在下方註明。
660 664
661<h4 id="session-counter">665<h4 id="session-counter">
662 工作階段計數器666 工作階段計數器
667**屬性**:671**屬性**:
668 672
669* 所有[標準屬性](#standard-attributes)673* 所有[標準屬性](#standard-attributes)
670* `start_type`:工作階段的啟動方式。`"fresh"`、`"resume"`、`"continue"` 或 `"agents_view"` 之一。`"agents_view"` 值識別 `claude agents` 儀表板程序,這是使用者啟動的本地 UI 而不是對話工作階段。在此值上篩選以在您的儀表板中將 UI 程序啟動與對話工作階段分開。674* `start_type`:工作階段的啟動方式。為 `"fresh"`、`"resume"`、`"continue"` 或 `"agents_view"` 之一。`"agents_view"` 值代表 `claude agents` 儀表板程序,這是使用者啟動的本機 UI,而非對話工作階段。在您的儀表板中篩選此值,即可將 UI 程序啟動與對話工作階段區分開來。
671 675
672<h4 id="lines-of-code-counter">676<h4 id="lines-of-code-counter">
673 程式碼行計數器677 程式碼行數計數器
674</h4>678</h4>
675 679
676當新增或移除程式碼時遞增。680在新增或移除程式碼時遞增。
677 681
678**屬性**:682**屬性**:
679 683
680* 所有[標準屬性](#standard-attributes)684* 所有[標準屬性](#standard-attributes)
681* `type`:(`"added"`、`"removed"`)685* `type`:(`"added"`、`"removed"`)
682* `model`:進行變更的模型的模型識別碼(例如,"claude-sonnet-5")686* `model`:進行變更之模型的模型識別碼(例如 "claude-sonnet-5")
683 687
684<h4 id="pull-request-counter">688<h4 id="pull-request-counter">
685 提取請求計數器689 Pull request 計數器
686</h4>690</h4>
687 691
688當 Claude Code 通過 shell 命令或 MCP 工具建立提取請求或合併請求時遞增。692當 Claude Code 透過 shell 命令或 MCP 工具建立 pull request 或 merge request 時遞增。
689 693
690**屬性**:694**屬性**:
691 695
695 提交計數器699 提交計數器
696</h4>700</h4>
697 701
698通過 Claude Code 建立 git 提交時遞增。702透過 Claude Code 建立 git 提交時遞增。
699 703
700**屬性**:704**屬性**:
701 705
705 成本計數器709 成本計數器
706</h4>710</h4>
707 711
708在每個 API 請求後遞增。712在每次 API 請求之後遞增。
709 713
710`agent.name`、`skill.name`、`plugin.name`、`mcp_server.name` 和 `mcp_tool.name` 屬性預設會將某些名稱編輯為 `"custom"` 或 `"third-party"` 佔位符。如果您設定 `OTEL_LOG_TOOL_DETAILS=1`,它們會改為攜帶真實名稱。在 v2.1.273 之前,成本和權杖計數器以及 `api_request`、`api_error` 和 `api_refusal` 事件即使設定了 `OTEL_LOG_TOOL_DETAILS=1` 也攜帶編輯的值。714`agent.name`、`skill.name`、`plugin.name`、`mcp_server.name` 與 `mcp_tool.name` 屬性預設都會將部分名稱遮蔽為 `"custom"` 或 `"third-party"` 預留值。若您設定了 `OTEL_LOG_TOOL_DETAILS=1`,它們會改為帶有實際名稱。在 v2.1.273 之前,即使設定了 `OTEL_LOG_TOOL_DETAILS=1`,成本與 token 計數器以及 `api_request`、`api_error` 與 `api_refusal` 事件仍帶有遮蔽後的值。
711 715
712**屬性**:716**屬性**:
713 717
714* 所有[標準屬性](#standard-attributes)718* 所有[標準屬性](#standard-attributes)
715* `model`:模型識別碼(例如,"claude-sonnet-5")719* `model`:模型識別碼(例如 "claude-sonnet-5")
716* `query_source`:發出請求的子系統的類別。`"main"`、`"subagent"` 或 `"auxiliary"` 之一720* `query_source`:發出請求之子系統的類別。為 `"main"`、`"subagent"` 或 `"auxiliary"` 之一
717* `speed`:當請求使用快速模式時為 `"fast"`。否則不存在721* `speed`:當請求使用快速模式時為 `"fast"`。否則不存在
718* `effort`:應用於請求的[努力級別](/docs/zh-TW/model-config#adjust-effort-level):`"low"`、`"medium"`、`"high"`、`"xhigh"` 或 `"max"`。當 Claude Code 不發送努力級別時不存在,例如在不支援努力的模型上。722* `effort`:套用於請求的 [effort 等級](/docs/zh-TW/model-config#adjust-effort-level):`"low"`、`"medium"`、`"high"`、`"xhigh"` 或 `"max"`。當 Claude Code 未傳送 effort 等級時不存在,例如在不支援 effort 的模型上。
719* `agent.name`:發出請求的子代理程式類型。內建代理程式名稱和來自官方市場外掛程式的代理程式會逐字出現。其他使用者定義的代理程式名稱會被替換為 `"custom"`。當請求不是由命名的子代理程式類型發出時不存在。723* `agent.name`:發出請求的 subagent 類型。內建 agent 名稱以及來自官方市集外掛的 agent 會原樣出現。其他使用者定義的 agent 名稱會被替換為 `"custom"`。當請求並非由具名的 subagent 類型發出時不存在。
720* `skill.name`:對請求有效的技能,由技能工具或 `/` 命令設定,或由產生的子代理程式繼承。內建、捆綁、使用者定義和官方市場外掛程式技能名稱會逐字出現。第三方外掛程式技能名稱會被替換為 `"third-party"`。當沒有技能有效時不存在。724* `skill.name`:該請求作用中的 skill,由 Skill 工具或 `/` 命令設定,或由產生的 subagent 繼承。內建、隨附、使用者定義及官方市集外掛的 skill 名稱會原樣出現。第三方外掛的 skill 名稱會被替換為 `"third-party"`。當沒有作用中的 skill 時不存在。
721* `plugin.name`:當活躍的技能或子代理程式由外掛程式提供時的擁有外掛程式。官方市場外掛程式名稱會逐字出現。第三方外掛程式名稱會被替換為 `"third-party"`。當技能和子代理程式都沒有擁有外掛程式時不存在。725* `plugin.name`:當作用中的 skill 或 subagent 由外掛提供時,為其所屬外掛。官方市集外掛名稱會原樣出現。第三方外掛名稱會被替換為 `"third-party"`。當 skill 與 subagent 皆沒有所屬外掛時不存在。
722* `marketplace.name`:擁有外掛程式的安裝來源市場。即使設定了 `OTEL_LOG_TOOL_DETAILS=1`,也只針對官方市場外掛程式發出。否則不存在。726* `marketplace.name`:所屬外掛的安裝來源市集。即使設定了 `OTEL_LOG_TOOL_DETAILS=1`,也只會針對官方市集外掛發出。否則不存在。
723* `mcp_server.name`:此請求消費其工具結果的 MCP 伺服器。內建、claude.ai 代理和官方登錄伺服器名稱會逐字出現。使用者配置的伺服器名稱會被替換為 `"custom"`。當請求未消費 MCP 工具結果時不存在。在 v2.1.222 之前,Claude Code 在每個 MCP 工具呼叫後的請求上設定此屬性,而不僅在消費工具結果的請求上,因此聚合它的儀表板在您升級後會顯示下降。727* `mcp_server.name`:此請求所使用之工具結果所屬的 MCP 伺服器。內建、經由 claude.ai 代理及官方登錄檔的伺服器名稱會原樣出現。使用者設定的伺服器名稱會被替換為 `"custom"`。當請求未使用任何 MCP 工具結果時不存在。在 v2.1.222 之前,Claude Code 會在 MCP 工具呼叫之後的每個請求上設定此屬性,而不僅限於使用工具結果的請求,因此彙總此屬性的儀表板在您升級後會出現下降。
724* `mcp_tool.name`:此請求消費其結果的 MCP 工具,具有與 `mcp_server.name` 相同的編輯和版本行為。當請求未消費 MCP 工具結果時不存在。728* `mcp_tool.name`:此請求所使用之結果所屬的 MCP 工具,其遮蔽與版本行為與 `mcp_server.name` 相同。當請求未使用任何 MCP 工具結果時不存在。
725 729
726<h4 id="token-counter">730<h4 id="token-counter">
727 權杖計數器731 Token 計數器
728</h4>732</h4>
729 733
730在每個 API 請求後遞增。734在每次 API 請求之後遞增。
731 735
732**屬性**:736**屬性**:
733 737
734* 所有[標準屬性](#standard-attributes)738* 所有[標準屬性](#standard-attributes)
735* `type`:(`"input"`、`"output"`、`"cacheRead"`、`"cacheCreation"`)。`"input"` 類型不包含從提示詞快取讀取或寫入的 token,這些會計入 `"cacheRead"` 與 `"cacheCreation"`739* `type`:(`"input"`、`"output"`、`"cacheRead"`、`"cacheCreation"`)。`"input"` 類型不包含從提示詞快取讀取或寫入的 token,這些會計入 `"cacheRead"` 與 `"cacheCreation"`
736* `model`:模型識別碼(例如,"claude-sonnet-5")740* `model`:模型識別碼(例如 "claude-sonnet-5")
737* `query_source`:發出請求的子系統的類別。`"main"`、`"subagent"` 或 `"auxiliary"` 之一741* `query_source`:發出請求之子系統的類別。為 `"main"`、`"subagent"` 或 `"auxiliary"` 之一
738* `speed`:當請求使用快速模式時為 `"fast"`。否則不存在742* `speed`:當請求使用快速模式時為 `"fast"`。否則不存在
739* `effort`:應用於請求的[努力級別](/docs/zh-TW/model-config#adjust-effort-level)。請參閱[成本計數器](#cost-counter)以了解詳細資訊。743* `effort`:套用於請求的 [effort 等級](/docs/zh-TW/model-config#adjust-effort-level)。詳細資訊請參閱[成本計數器](#cost-counter)。
740* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`:請求的技能、外掛程式、代理程式和 MCP 歸因。請參閱[成本計數器](#cost-counter)以了解定義和編輯行為。744* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`:請求的 skill、外掛、agent 與 MCP 歸屬。定義與遮蔽行為請參閱[成本計數器](#cost-counter)。
741 745
742<h4 id="code-edit-tool-decision-counter">746<h4 id="code-edit-tool-decision-counter">
743 程式碼編輯工具決定計數器747 程式碼編輯工具決定計數器
744</h4>748</h4>
745 749
746當使用者接受或拒絕 Edit、Write 或 NotebookEdit 工具使用時遞增。750當使用者接受或拒絕 Edit、Write 或 NotebookEdit 工具的使用時遞增。
747 751
748**屬性**:752**屬性**:
749 753
750* 所有[標準屬性](#standard-attributes)754* 所有[標準屬性](#standard-attributes)
751* `tool_name`:工具名稱(`"Edit"`、`"Write"`、`"NotebookEdit"`)755* `tool_name`:工具名稱(`"Edit"`、`"Write"`、`"NotebookEdit"`)
752* `decision`:使用者決定(`"accept"`、`"reject"`)756* `decision`:使用者決定(`"accept"`、`"reject"`)
753* `source`:決定來自何處。`"config"`、`"hook"`、`"user_permanent"`、`"user_temporary"`、`"user_abort"` 或 `"user_reject"` 之一。請參閱[工具決定事件](#tool-decision-event)以了解每個值的含義。757* `source`:決定的來源。為 `"config"`、`"hook"`、`"user_permanent"`、`"user_temporary"`、`"user_abort"` 或 `"user_reject"` 之一。各值的意義請參閱[工具決定事件](#tool-decision-event)。
754* `language`:編輯檔案的程式設計語言,例如 `"TypeScript"`、`"Python"`、`"JavaScript"` 或 `"Markdown"`。對於無法識別的副檔名傳回 `"unknown"`。758* `language`:所編輯檔案的程式語言,例如 `"TypeScript"`、`"Python"`、`"JavaScript"` 或 `"Markdown"`。對於無法辨識的副檔名會回傳 `"unknown"`。
755 759
756<h4 id="active-time-counter">760<h4 id="active-time-counter">
757 活躍時間計數器761 活躍時間計數器
758</h4>762</h4>
759 763
760追蹤實際花費在主動使用 Claude Code 上的時間,不包括閒置時間。此指標在使用者互動期間(例如輸入和閱讀回應)以及 CLI 處理期間(例如工具執行和 AI 回應產生)遞增。764追蹤實際主動使用 Claude Code 所花費的時間,不包括閒置時間。此指標會在使用者互動期間(例如輸入與閱讀回應)以及 CLI 處理期間(例如工具執行與 AI 回應產生)遞增。
761 765
762**屬性**:766**屬性**:
763 767
764* 所有[標準屬性](#standard-attributes)768* 所有[標準屬性](#standard-attributes)
765* `type`:`"user"` 用於鍵盤互動,`"cli"` 用於工具執行和 AI 回應769* `type`:鍵盤互動為 `"user"`,工具執行與 AI 回應為 `"cli"`
766 770
767<h3 id="events">771<h3 id="events">
768 事件772 事件
769</h3>773</h3>
770 774
771Claude Code 通過 OpenTelemetry 日誌/事件匯出以下事件(當配置了 `OTEL_LOGS_EXPORTER` 時):775Claude Code 會透過 OpenTelemetry logs/events 匯出以下事件(當設定了 `OTEL_LOGS_EXPORTER` 時):
772 776
773<h4 id="event-correlation-attributes">777<h4 id="event-correlation-attributes">
774 事件相關屬性778 事件關聯屬性
775</h4>779</h4>
776 780
777當使用者提交提示時,Claude Code 可能會進行多個 API 呼叫並執行多個工具。`prompt.id` 屬性讓您將所有這些事件與觸發它們的單個提示聯繫起來。781當使用者提交提示詞時,Claude Code 可能會進行多次 API 呼叫並執行數個工具。`prompt.id` 屬性可讓您將所有這些事件連結回觸發它們的單一提示詞。
778 782
779| 屬性 | 描述 |783| 屬性 | 說明 |
780| - | - |784| - | - |
781| `prompt.id` | UUID v4 識別碼,連結處理單個使用者提示時產生的所有事件 |785| `prompt.id` | UUID v4 識別碼,連結處理單一使用者提示詞期間產生的所有事件 |
782| `event.sequence` | 用於排序事件的 0 基計數器,按 Claude Code 程序而不是按工作階段計數 |786| `event.sequence` | 從 0 開始的計數器,用於排序事件,以每個 Claude Code 程序而非每個工作階段計數 |
783| `message.uuid` | 消息的 UUID,如工作階段文字記錄中保存的那樣,`~/.claude/projects/*/*.jsonl` 檔案。存在於 `assistant_response`、`api_response_body` 和 `user_prompt` 上,除了命令分派,它可以產生零個或多個消息。在 `assistant_response` 和 `api_response_body` 上,這是回應的最終文字記錄項目,下一個回合的 `parentUuid` 從其鏈接。需要 Claude Code v2.1.214 或更新版本,或在 `api_response_body` 上需要 v2.1.274 或更新版本 |787| `message.uuid` | 保存在工作階段逐字稿(`~/.claude/projects/*/*.jsonl` 檔案)中的訊息 UUID。出現在 `assistant_response`、`api_response_body` 上,以及 `user_prompt` 上(命令分派除外,因為命令分派可能產生零或多則訊息)。在 `assistant_response` 與 `api_response_body` 上,這是回應的最後一筆逐字稿項目,下一個回合的 `parentUuid` 會從此項目串接。需要 Claude Code v2.1.214 或更新版本,在 `api_response_body` 上則需要 v2.1.274 或更新版本 |
784| `request_id` | 伺服器指派的 API 請求 ID,從 `request-id` 回應標頭讀取,例如 `req_011...`。在沒有 `request-id` 標頭的回應上,如在 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 上,該值來自 `x-amzn-requestid` 標頭。存在於 `api_request`、`api_error`、`api_refusal`、`assistant_response` 和 `api_response_body` 上,當回應攜帶任一標頭時。與 `llm_request` 追蹤跨度上的相同屬性相符。`x-amzn-requestid` 來源需要 Claude Code v2.1.282 或更新版本 |788| `request_id` | 伺服器指派的 API 請求 ID,從 `request-id` 回應標頭讀取,例如 `req_011...`。在沒有 `request-id` 標頭的回應上(如 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)),此值改為來自 `x-amzn-requestid` 標頭。當回應帶有任一標頭時,出現在 `api_request`、`api_error`、`api_refusal`、`assistant_response` 與 `api_response_body` 上。與 `llm_request` 追蹤 span 上的同名屬性相符。`x-amzn-requestid` 來源需要 Claude Code v2.1.282 或更新版本 |
785| `client_request_id` | 作為 `x-client-request-id` 請求標頭發送的用戶端產生的 UUID。存在於第一方 API 連線上的 `api_request` 和 `api_error` 上;在第三方提供者後端上不存在,以及當請求通過非串流回退重試時。將請求與其回應配對,並對於永遠不會產生伺服器 `request_id` 的失敗(例如逾時)保持可用。與 `llm_request` 追蹤跨度上的相同屬性相符。需要 Claude Code v2.1.214 或更新版本 |789| `client_request_id` | 用戶端產生的 UUID,作為 `x-client-request-id` 請求標頭傳送。在第一方 API 連線上出現於 `api_request` 與 `api_error`;在第三方提供者後端上,以及請求透過非串流備援重試時則不存在。可將請求與其回應配對,且對於從未產生伺服器 `request_id` 的失敗(例如逾時)仍然可用。與 `llm_request` 追蹤 span 上的同名屬性相符。需要 Claude Code v2.1.214 或更新版本 |
786 790
787要追蹤由單個提示觸發的所有活動,請按特定 `prompt.id` 值篩選您的事件。這會傳回 user\_prompt 事件、任何 api\_request 事件以及處理該提示時發生的任何 tool\_result 事件。791若要追蹤由單一提示詞觸發的所有活動,請以特定的 `prompt.id` 值篩選您的事件。這會傳回處理該提示詞期間發生的 user\_prompt 事件、任何 api\_request 事件以及任何 tool\_result 事件。
788 792
789`event.sequence` 在每次 Claude Code 程序啟動時從 0 開始,並在該程序的生命週期內計數。它在 `/clear` 中繼續計數,這會指派新的 `session.id`。如果您[在不分叉的情況下恢復工作階段](/docs/zh-TW/how-claude-code-works#resume-or-fork-sessions),工作階段會保留其 `session.id` 但從恢復它的程序中取得其 `event.sequence` 值,因此在一個工作階段內,較晚的事件可以攜帶比較早的事件更低的值,或重複一個。要排序工作階段的事件,請按 `event.timestamp` 排序,並使用 `event.sequence` 排序共享時間戳記的事件。793`event.sequence` 在每次 Claude Code 程序啟動時從 0 開始,並在該程序的整個生命週期中遞增。它在 `/clear`(會指派新的 `session.id`)之後仍會持續計數。若您[在不分叉的情況下繼續工作階段](/docs/zh-TW/how-claude-code-works#resume-or-fork-sessions),工作階段會保留其 `session.id`,但其 `event.sequence` 值會取自繼續該工作階段的程序,因此在同一工作階段中,較晚的事件可能帶有比較早事件更低的值,或重複某個值。若要排序工作階段的事件,請依 `event.timestamp` 排序,並使用 `event.sequence` 排序具有相同時間戳記的事件。
790 794
791對於消息級別的重建,每個事件類別都攜帶與工作階段文字記錄中的欄位相符的鍵。文字記錄項目格式是[Claude Code 內部的](/docs/zh-TW/sessions#where-transcripts-are-stored),在版本之間變化,因此在這些欄位上聯接的管道可能在任何版本上中斷;將聯接視為版本特定的而不是穩定的合約:795為了進行訊息層級的重建,每個事件類別都帶有一個與工作階段逐字稿中欄位相符的鍵。逐字稿項目格式是 [Claude Code 內部使用的](/docs/zh-TW/sessions#where-transcripts-are-stored),且會在版本之間變更,因此依這些欄位進行聯結的管線可能會在任何版本發行時中斷;請將這些聯結視為特定版本的行為,而非穩定的約定:
792 796
793* `message.uuid` 在 `user_prompt`、`assistant_response` 和 `api_response_body` 上797* `user_prompt`、`assistant_response` 與 `api_response_body` 上的 `message.uuid`
794* `request_id` 在 API 事件上,在文字記錄的助手項目上保存為 `requestId`798* API 事件上的 `request_id`,在逐字稿的助理項目中保存為 `requestId`
795* `tool_use_id` 在 `tool_result` 和 `tool_decision` 事件上799* `tool_result` 與 `tool_decision` 事件上的 `tool_use_id`
796 800
797<h4 id="user-prompt-event">801<h4 id="user-prompt-event">
798 使用者提示事件802 使用者提示詞事件
799</h4>803</h4>
800 804
801於提示詞送出時記錄,包括 Claude Code 自行開始的回合。805在提交提示詞時記錄,包括 Claude Code 自行開始的回合。
802 806
803**事件名稱**:`claude_code.user_prompt`807**事件名稱**:`claude_code.user_prompt`
804 808
807* 所有[標準屬性](#standard-attributes)811* 所有[標準屬性](#standard-attributes)
808* `event.name`:`"user_prompt"`812* `event.name`:`"user_prompt"`
809* `event.timestamp`:ISO 8601 時間戳記813* `event.timestamp`:ISO 8601 時間戳記
810* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述814* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
811* `prompt_length`:提示的長度815* `prompt_length`:提示詞長度
812* `prompt`:提示內容。預設情況下編輯。設定 `OTEL_LOG_USER_PROMPTS=1` 以包含它816* `prompt`:提示詞內容。預設會遮蔽。設定 `OTEL_LOG_USER_PROMPTS=1` 即可包含
813* `prompt_text`:與 `prompt` 相同的值,在相同條件下遮蔽。將帶點屬性名稱儲存為巢狀物件的後端,會將 `prompt.id` 讀取為名為 `prompt` 之物件內的 `id`,因而可能遺失提示詞字串。在這類後端上請改讀取 `prompt_text`。需要 Claude Code v2.1.287 或更新版本817* `prompt_text`:與 `prompt` 相同的值,並在相同條件下遮蔽。將帶點的屬性名稱儲存為巢狀物件的後端,會將 `prompt.id` 讀取為名為 `prompt` 之物件內的 `id`,因而可能遺失提示詞字串。在這種情況下,請改為讀取 `prompt_text`。需要 Claude Code v2.1.287 或更新版本
814* `message.uuid`:結果使用者消息的 UUID,與保存的文字記錄項目相符。在命令分派上不存在,它可以產生零個或多個消息。需要 Claude Code v2.1.214 或更新版本818* `message.uuid`:產生之使用者訊息的 UUID,與保存的逐字稿項目相符。在命令分派上不存在,因為命令分派可能產生零或多則訊息。需要 Claude Code v2.1.214 或更新版本
815* `command_name`:當提示呼叫命令時的命令名稱。內建和捆綁命令名稱(例如 `compact` 或 `debug`)按原樣發出;別名(例如 `reset`)按輸入方式發出而不是規範名稱。自訂、外掛程式和 MCP 命令名稱會摺疊為 `custom` 或 `mcp`,除非設定了 `OTEL_LOG_TOOL_DETAILS=1`819* `command_name`:當提示詞呼叫命令時的命令名稱。內建與隨附的命令名稱(例如 `compact` 或 `debug`)會原樣發出;別名(例如 `reset`)會依輸入的形式發出,而非標準名稱。自訂、外掛與 MCP 命令名稱會收斂為 `custom` 或 `mcp`,除非設定了 `OTEL_LOG_TOOL_DETAILS=1`
816* `command_source`:命令存在時的來源:`builtin`、`custom` 或 `mcp`。外掛程式提供的命令報告為 `custom`820* `command_source`:存在時為命令的來源:`builtin`、`custom` 或 `mcp`。外掛提供的命令會回報為 `custom`
817 821
818<h4 id="assistant-response-event">822<h4 id="assistant-response-event">
819 助手回應事件823 助理回應事件
820</h4>824</h4>
821 825
822在每次從模型傳回文字內容的 API 請求之後記錄。只包含回應中的文字區塊;思考區塊與工具使用區塊不包含在內。826在每次從模型傳回文字內容的 API 請求之後記錄。僅包含回應的文字區塊;思考區塊與工具使用區塊會被排除。
823 827
824**事件名稱**:`claude_code.assistant_response`828**事件名稱**:`claude_code.assistant_response`
825 829
828* 所有[標準屬性](#standard-attributes)832* 所有[標準屬性](#standard-attributes)
829* `event.name`:`"assistant_response"`833* `event.name`:`"assistant_response"`
830* `event.timestamp`:ISO 8601 時間戳記834* `event.timestamp`:ISO 8601 時間戳記
831* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述835* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
832* `response_length`:回應文字的長度(以字元為單位)836* `response_length`:回應文字的長度(字元數)
833* `response`:回應文字,在內容限制處截斷(預設為 60 KB)。預設情況下編輯為 `<REDACTED>`。設定 `OTEL_LOG_ASSISTANT_RESPONSES=1` 以包含它。當 `OTEL_LOG_ASSISTANT_RESPONSES` 未設定時,`OTEL_LOG_USER_PROMPTS` 會控制它,因此設定 `OTEL_LOG_ASSISTANT_RESPONSES=0` 以在啟用提示記錄時保持回應編輯837* `response`:回應文字,在內容上限(預設 60 KB)處截斷。預設會遮蔽為 `<REDACTED>`。設定 `OTEL_LOG_ASSISTANT_RESPONSES=1` 即可包含。當 `OTEL_LOG_ASSISTANT_RESPONSES` 未設定時,改由 `OTEL_LOG_USER_PROMPTS` 控制,因此若要在開啟提示詞日誌記錄的同時保持回應遮蔽,請設定 `OTEL_LOG_ASSISTANT_RESPONSES=0`
834* `model`:模型識別碼(例如,"claude-sonnet-5")838* `model`:模型識別碼(例如 "claude-sonnet-5")
835* `request_id`:API 請求 ID,在[事件相關屬性](#event-correlation-attributes)下描述839* `request_id`:API 請求 ID,說明請參閱[事件關聯屬性](#event-correlation-attributes)
836* `message.uuid`:回應最終文字記錄項目的 UUID。API 回應每個內容區塊保存為一個文字記錄項目;這是最後一個,下一個回合的 `parentUuid` 從其鏈接。需要 Claude Code v2.1.214 或更新版本840* `message.uuid`:回應之最後一筆逐字稿項目的 UUID。API 回應會依每個內容區塊保存為一筆逐字稿項目;此為最後一筆,下一個回合的 `parentUuid` 會從此項目串接。需要 Claude Code v2.1.214 或更新版本
837* `query_source`:發出請求的子系統,例如 `"repl_main_thread"`、`"compact"` 或子代理程式名稱841* `query_source`:發出請求的子系統,例如 `"repl_main_thread"`、`"compact"` 或 subagent 名稱
838 842
839<h4 id="tool-result-event">843<h4 id="tool-result-event">
840 工具結果事件844 工具結果事件
841</h4>845</h4>
842 846
843當工具完成執行時記錄。如果工具呼叫被拒絕,則不發出;請參閱[工具決定事件](#tool-decision-event)以了解拒絕。847在工具完成執行時記錄。若工具呼叫遭拒絕則不會發出;關於拒絕,請參閱[工具決定事件](#tool-decision-event)。
844 848
845**事件名稱**:`claude_code.tool_result`849**事件名稱**:`claude_code.tool_result`
846 850
849* 所有[標準屬性](#standard-attributes)853* 所有[標準屬性](#standard-attributes)
850* `event.name`:`"tool_result"`854* `event.name`:`"tool_result"`
851* `event.timestamp`:ISO 8601 時間戳記855* `event.timestamp`:ISO 8601 時間戳記
852* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述856* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
853* `tool_name`:工具的名稱857* `tool_name`:工具名稱
854* `tool_use_id`:此工具呼叫的唯一識別碼。與傳遞給鉤子的 `tool_use_id` 相符,允許 OTel 事件和鉤子捕獲資料之間的相關性。858* `tool_use_id`:此次工具呼叫的唯一識別碼。與傳遞給 hook 的 `tool_use_id` 相符,可讓 OTel 事件與 hook 擷取的資料相互關聯。
855* `success`:`"true"` 或 `"false"`859* `success`:`"true"` 或 `"false"`
856* `duration_ms`:執行時間(以毫秒為單位)860* `duration_ms`:執行時間(毫秒)
857* `error_type`:工具失敗時的錯誤類別字串,例如 `"Error:ENOENT"` 或 `"ShellError"`861* `error_type`:工具失敗時的錯誤類別字串,例如 `"Error:ENOENT"` 或 `"ShellError"`
858* `error`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):工具失敗時的完整錯誤消息862* `error`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):工具失敗時的完整錯誤訊息
859* `decision_type`:始終 `"accept"`,因為此事件僅在工具執行後發出。拒絕的呼叫不會產生工具結果863* `decision_type`:一律為 `"accept"`,因為此事件只會在工具執行後發出。遭拒絕的呼叫不會產生工具結果
860* `decision_source`:權限決定來自何處。`"config"`、`"hook"`、`"user_permanent"` 或 `"user_temporary"` 之一。請參閱[工具決定事件](#tool-decision-event)以了解每個值的含義。僅拒絕的來源 `"user_abort"` 和 `"user_reject"` 永遠不會出現在此事件上。864* `decision_source`:權限決定的來源。為 `"config"`、`"hook"`、`"user_permanent"` 或 `"user_temporary"` 之一。各值的意義請參閱[工具決定事件](#tool-decision-event)。僅適用於拒絕的來源 `"user_abort"` 與 `"user_reject"` 永遠不會出現在此事件上。
861* `tool_input_size_bytes`:JSON 序列化工具輸入的大小(以位元組為單位)865* `tool_input_size_bytes`:JSON 序列化後之工具輸入的大小(位元組)
862* `tool_result_size_bytes`:工具結果的大小(以位元組為單位)866* `tool_result_size_bytes`:工具結果的大小(位元組)
863* `mcp_server_scope`:MCP 伺服器範圍識別碼(用於 MCP 工具)867* `mcp_server_scope`:MCP 伺服器範圍識別碼(適用於 MCP 工具)
864* `vcs.ref.head.revision`、`vcs.ref.head.name`、`vcs.ref.head.type`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):由 Bash 或 PowerShell 工具執行的成功 `git commit` 執行的提交身份。`vcs.ref.head.revision` 是提交 SHA,`vcs.ref.head.name` 是提交所在的分支,`vcs.ref.head.type` 是 `branch`。當提交在分離的 HEAD 上進行時,名稱和類型會被省略。需要 Claude Code v2.1.269 或更新版本868* `vcs.ref.head.revision`、`vcs.ref.head.name`、`vcs.ref.head.type`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):由 Bash 或 PowerShell 工具執行之成功 `git commit` 的提交身分。`vcs.ref.head.revision` 為提交 SHA,`vcs.ref.head.name` 為提交所在的分支,而 `vcs.ref.head.type` 為 `branch`。當提交是在 detached HEAD 上進行時,名稱與類型會被省略。需要 Claude Code v2.1.269 或更新版本
865* `tool_parameters`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):包含工具特定參數的 JSON 字串。對於 Claude Desktop 的內建伺服器,在 Claude Desktop 擁有的工作階段中,即使關閉標誌,`mcp_server_name`/`mcp_tool_name` 對也會包含,與[工具決定事件](#tool-decision-event)相同的主機撰寫例外,需要 Claude Code v2.1.214 或更新版本。參數因工具而異:869* `tool_parameters`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):包含工具特定參數的 JSON 字串。對於 Claude Desktop 的內建伺服器,在 Claude Desktop 擁有的工作階段中,即使旗標關閉也會包含 `mcp_server_name`/`mcp_tool_name` 配對,這與[工具決定事件](#tool-decision-event)中由主機定義的例外相同,需要 Claude Code v2.1.214 或更新版本。參數依工具而異:
866 * 對於 Bash 工具:包括 `bash_command`、`full_command`、`timeout`、`description` 和 `dangerouslyDisableSandbox`,以及當 `git commit` 命令成功時的 `git_commit_id` 和 `git_branch`。當提交是工作階段工作目錄的 HEAD 時,`git_commit_id` 是完整提交 SHA,否則是 git 的縮寫 SHA。`git_branch` 是提交所在的分支,在分離的 HEAD 上省略870 * 對於 Bash 工具:包含 `bash_command`、`full_command`、`timeout`、`description` 與 `dangerouslyDisableSandbox`,以及當 `git commit` 命令成功時的 `git_commit_id` 與 `git_branch`。當提交是工作階段工作目錄的 HEAD 時,`git_commit_id` 為完整的提交 SHA,否則為 git 的縮寫 SHA。`git_branch` 為提交所在的分支,在 detached HEAD 上會被省略
867 * 對於桌面應用程式的工作區 Bash 工具,它也將 `tool_name` 報告為 `Bash`:只包括 `bash_command`、`full_command` 和 `timeout`871 * 對於桌面應用程式的工作區 Bash 工具(其 `tool_name` 也回報為 `Bash`):僅包含 `bash_command`、`full_command` 與 `timeout`
868 * 對於 MCP 工具:包括 `mcp_server_name`、`mcp_tool_name`872 * 對於 MCP 工具:包含 `mcp_server_name`、`mcp_tool_name`
869 * 對於技能工具:包括 `skill_name`873 * 對於 Skill 工具:包含 `skill_name`
870 * 對於代理程式工具或舊版任務工具:包括 `subagent_type`874 * 對於 Agent 工具或舊版 Task 工具:包含 `subagent_type`
871* `tool_input`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):JSON 序列化工具引數。超過 512 個字元的個別值會被截斷,完整有效負載限制為約 4 K 字元。適用於所有工具,包括 MCP 工具。875* `tool_input`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):JSON 序列化後的工具引數。超過 512 個字元的個別值會被截斷,且完整 payload 的上限約為 4 K 個字元。適用於所有工具,包括 MCP 工具。
872 876
873<h4 id="api-request-event">877<h4 id="api-request-event">
874 API 請求事件878 API 請求事件
875</h4>879</h4>
876 880
877為每個 API 請求到 Claude 記錄。881針對每個傳送給 Claude 的 API 請求記錄。
878 882
879**事件名稱**:`claude_code.api_request`883**事件名稱**:`claude_code.api_request`
880 884
883* 所有[標準屬性](#standard-attributes)887* 所有[標準屬性](#standard-attributes)
884* `event.name`:`"api_request"`888* `event.name`:`"api_request"`
885* `event.timestamp`:ISO 8601 時間戳記889* `event.timestamp`:ISO 8601 時間戳記
886* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述890* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
887* `model`:使用的模型(例如,"claude-sonnet-5")891* `model`:使用的模型(例如 "claude-sonnet-5")
888* `cost_usd`:以美元計的估計成本892* `cost_usd`:預估成本(USD)
889* `cost_usd_micros`:以美元百萬分之一計的估計成本,作為整數發出893* `cost_usd_micros`:以百萬分之一美元為單位的預估成本,以整數發出
890* `duration_ms`:請求持續時間(以毫秒為單位)894* `duration_ms`:請求持續時間(毫秒)
891* `input_tokens`:輸入 token 數量,不包含從提示詞快取讀取或寫入的 token895* `input_tokens`:輸入 token 數量,不包括從提示詞快取讀取或寫入的 token
892* `output_tokens`:輸出權杖數896* `output_tokens`:輸出 token 數量
893* `cache_read_tokens`:從快取讀取的權杖數897* `cache_read_tokens`:從快取讀取的 token 數量
894* `cache_creation_tokens`:用於快取建立的權杖數898* `cache_creation_tokens`:用於建立快取的 token 數量
895* `request_id`:API 請求 ID,例如 `"req_011..."`,在[事件相關屬性](#event-correlation-attributes)下描述。899* `request_id`:API 請求 ID,例如 `"req_011..."`,說明請參閱[事件關聯屬性](#event-correlation-attributes)。
896* `client_request_id`:作為 `x-client-request-id` 請求標頭發送的用戶端產生的 UUID;請參閱[事件相關屬性](#event-correlation-attributes)表以了解何時存在。需要 Claude Code v2.1.214 或更新版本900* `client_request_id`:用戶端產生的 UUID,作為 `x-client-request-id` 請求標頭傳送;其出現時機請參閱[事件關聯屬性](#event-correlation-attributes)表格。需要 Claude Code v2.1.214 或更新版本
897* `speed`:`"fast"` 或 `"normal"`,指示快速模式是否有效901* `speed`:`"fast"` 或 `"normal"`,表示快速模式是否啟用
898* `query_source`:發出請求的子系統,例如 `"repl_main_thread"`、`"compact"` 或子代理程式名稱902* `query_source`:發出請求的子系統,例如 `"repl_main_thread"`、`"compact"` 或 subagent 名稱
899* `effort`:應用於請求的[努力級別](/docs/zh-TW/model-config#adjust-effort-level):`"low"`、`"medium"`、`"high"`、`"xhigh"` 或 `"max"`。當 Claude Code 不發送努力級別時不存在,例如在不支援努力的模型上。903* `effort`:套用於請求的 [effort 等級](/docs/zh-TW/model-config#adjust-effort-level):`"low"`、`"medium"`、`"high"`、`"xhigh"` 或 `"max"`。當 Claude Code 未傳送 effort 等級時不存在,例如在不支援 effort 的模型上。
900* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`:請求的技能、外掛程式、代理程式和 MCP 歸因。請參閱[成本計數器](#cost-counter)以了解定義和編輯行為。904* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`:請求的 skill、外掛、agent 與 MCP 歸屬。定義與遮蔽行為請參閱[成本計數器](#cost-counter)。
901 905
902<h4 id="api-error-event">906<h4 id="api-error-event">
903 API 錯誤事件907 API 錯誤事件
904</h4>908</h4>
905 909
906當 API 請求到 Claude 失敗時記錄。910當傳送給 Claude 的 API 請求失敗時記錄。
907 911
908**事件名稱**:`claude_code.api_error`912**事件名稱**:`claude_code.api_error`
909 913
912* 所有[標準屬性](#standard-attributes)916* 所有[標準屬性](#standard-attributes)
913* `event.name`:`"api_error"`917* `event.name`:`"api_error"`
914* `event.timestamp`:ISO 8601 時間戳記918* `event.timestamp`:ISO 8601 時間戳記
915* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述919* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
916* `model`:使用的模型(例如,"claude-sonnet-5")920* `model`:使用的模型(例如 "claude-sonnet-5")
917* `error`:錯誤消息921* `error`:錯誤訊息
918* `status_code`:HTTP 狀態碼作為數字。對於非 HTTP 錯誤(例如連線失敗)不存在。922* `status_code`:以數字表示的 HTTP 狀態碼。對於非 HTTP 錯誤(例如連線失敗)不存在。
919* `duration_ms`:請求持續時間(以毫秒為單位)923* `duration_ms`:請求持續時間(毫秒)
920* `attempt`:進行的嘗試總數,包括初始請求(`1` 表示未發生重試)924* `attempt`:已進行的嘗試次數,包括初始請求。[偵測重試耗盡](#detect-retry-exhaustion)說明計數何時會重新開始
921* `request_id`:API 請求 ID,例如 `"req_011..."`,在[事件相關屬性](#event-correlation-attributes)下描述。925* `request_id`:API 請求 ID,例如 `"req_011..."`,說明請參閱[事件關聯屬性](#event-correlation-attributes)。
922* `client_request_id`:作為 `x-client-request-id` 請求標頭發送的用戶端產生的 UUID。即使在失敗(例如逾時或連線錯誤)永遠不會產生伺服器 `request_id` 時也可用;請參閱[事件相關屬性](#event-correlation-attributes)表以了解何時存在。需要 Claude Code v2.1.214 或更新版本926* `client_request_id`:用戶端產生的 UUID,作為 `x-client-request-id` 請求標頭傳送。即使逾時或連線錯誤等失敗從未產生伺服器 `request_id`,此值仍然可用;其出現時機請參閱[事件關聯屬性](#event-correlation-attributes)表格。需要 Claude Code v2.1.214 或更新版本
923* `speed`:`"fast"` 或 `"normal"`,指示快速模式是否有效927* `speed`:`"fast"` 或 `"normal"`,表示快速模式是否啟用
924* `query_source`:發出請求的子系統,例如 `"repl_main_thread"`、`"compact"` 或子代理程式名稱928* `query_source`:發出請求的子系統,例如 `"repl_main_thread"`、`"compact"` 或 subagent 名稱
925* `effort`:應用於請求的[努力級別](/docs/zh-TW/model-config#adjust-effort-level)。當 Claude Code 不發送努力級別時不存在,例如在不支援努力的模型上。929* `effort`:套用於請求的 [effort 等級](/docs/zh-TW/model-config#adjust-effort-level)。當 Claude Code 未傳送 effort 等級時不存在,例如在不支援 effort 的模型上。
926* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`:請求的技能、外掛程式、代理程式和 MCP 歸因。請參閱[成本計數器](#cost-counter)以了解定義和編輯行為。930* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`:請求的 skill、外掛、agent 與 MCP 歸屬。定義與遮蔽行為請參閱[成本計數器](#cost-counter)。
927 931
928<h4 id="api-refusal-event">932<h4 id="api-refusal-event">
929 API 拒絕事件933 API 拒絕事件
930</h4>934</h4>
931 935
932當 API 請求傳回 `stop_reason: "refusal"` 時記錄。拒絕到達成功回應串流上,而不是作為 HTTP 錯誤,因此 `api_error` 事件不會為它們觸發。此事件讓您追蹤拒絕頻率並按與 `api_request` 和 `api_error` 相同的屬性分組拒絕。936當 API 請求傳回 `stop_reason: "refusal"` 時記錄。拒絕會出現在成功的回應串流中,而非以 HTTP 錯誤的形式出現,因此 `api_error` 事件不會因拒絕而觸發。此事件可讓您追蹤拒絕頻率,並依與 `api_request` 及 `api_error` 相同的屬性將拒絕分組。
933 937
934**事件名稱**:`claude_code.api_refusal`938**事件名稱**:`claude_code.api_refusal`
935 939
938* 所有[標準屬性](#standard-attributes)942* 所有[標準屬性](#standard-attributes)
939* `event.name`:`"api_refusal"`943* `event.name`:`"api_refusal"`
940* `event.timestamp`:ISO 8601 時間戳記944* `event.timestamp`:ISO 8601 時間戳記
941* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述945* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
942* `model`:來自請求的模型識別碼946* `model`:請求中的模型識別碼
943* `request_id`:API 請求 ID,例如 `"req_011..."`,在[事件相關屬性](#event-correlation-attributes)下描述。947* `request_id`:API 請求 ID,例如 `"req_011..."`,說明請參閱[事件關聯屬性](#event-correlation-attributes)。
944* `query_source`:發出請求的子系統,例如 `"repl_main_thread"`、`"compact"` 或子代理程式名稱。請參閱 [`api_request`](#api-request-event) 以了解定義。948* `query_source`:發出請求的子系統,例如 `"repl_main_thread"`、`"compact"` 或 subagent 名稱。定義請參閱 [`api_request`](#api-request-event)。
945* `speed`:當[快速模式](/docs/zh-TW/fast-mode)有效時為 `"fast"`,或 `"normal"`949* `speed`:當[快速模式](/docs/zh-TW/fast-mode)啟用時為 `"fast"`,否則為 `"normal"`
946* `attempt`:重試嘗試編號。第一次嘗試是 `1`。950* `attempt`:重試嘗試的編號。第一次嘗試為 `1`。
947* `effort`:應用於請求的[努力級別](/docs/zh-TW/model-config#adjust-effort-level)。當 Claude Code 不發送努力級別時不存在,例如在不支援努力的模型上。951* `effort`:套用於請求的 [effort 等級](/docs/zh-TW/model-config#adjust-effort-level)。當 Claude Code 未傳送 effort 等級時不存在,例如在不支援 effort 的模型上。
948* `server_fallback_hop`:當 API 的伺服器端模型回退已在不同模型上重試此拒絕時為 `true`,因此使用者沒有看到此特定拒絕。當請求以拒絕結束時為 `false`。單個回合可以發出 `true` 跳躍事件和稍後的 `false` 最終事件,當回退模型也拒絕時。952* `server_fallback_hop`:當 API 的伺服器端模型備援已在不同的模型上重試此拒絕,因此使用者並未看到此特定拒絕時為 `true`。當請求以拒絕結束時為 `false`。當備援模型也拒絕時,單一回合可能會同時發出一個 `true` 的跳轉事件以及之後一個 `false` 的最終事件。
949* `has_category`:當 API 回應攜帶 `stop_details.category` 為 `"cyber"`、`"bio"`、`"frontier_llm"` 或 `"reasoning_extraction"` 時為 `true`。當回應未攜帶類別或值在該集合外時為 `false`。當 `server_fallback_hop` 為 `true` 時不存在,因為跳躍不攜帶 `stop_details`。953* `has_category`:當 API 回應帶有值為 `"cyber"`、`"bio"`、`"frontier_llm"` 或 `"reasoning_extraction"` 的 `stop_details.category` 時為 `true`。當回應未帶有類別或帶有該集合以外的值時為 `false`。當 `server_fallback_hop` 為 `true` 時不存在,因為跳轉區塊不帶有 `stop_details`。
950* `has_explanation`:當 API 回應攜帶 `stop_details.explanation` 時為 `true`,否則為 `false`。當 `server_fallback_hop` 為 `true` 時不存在。954* `has_explanation`:當 API 回應帶有 `stop_details.explanation` 時為 `true`,否則為 `false`。當 `server_fallback_hop` 為 `true` 時不存在。
951* `category`:來自 API 回應的 `stop_details.category` 值。`"cyber"`、`"bio"`、`"frontier_llm"` 或 `"reasoning_extraction"` 之一。僅當設定了 `OTEL_LOG_TOOL_DETAILS=1` 且 `has_category` 為 `true` 時存在。955* `category`:API 回應中的 `stop_details.category` 值。為 `"cyber"`、`"bio"`、`"frontier_llm"` 或 `"reasoning_extraction"` 之一。僅在設定了 `OTEL_LOG_TOOL_DETAILS=1` 且 `has_category` 為 `true` 時存在。
952* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`:請求的技能、外掛程式、代理程式和 MCP 歸因。請參閱[成本計數器](#cost-counter)以了解定義和編輯行為。956* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`:請求的 skill、外掛、agent 與 MCP 歸屬。定義與遮蔽行為請參閱[成本計數器](#cost-counter)。
953 957
954<h4 id="api-request-body-event">958<h4 id="api-request-body-event">
955 API 請求本體事件959 API 請求主體事件
956</h4>960</h4>
957 961
958當設定了 `OTEL_LOG_RAW_API_BODIES` 時,為每個 API 請求嘗試記錄。每個嘗試發出一個事件,因此使用調整參數重試時每個都會產生自己的事件。962當設定了 `OTEL_LOG_RAW_API_BODIES` 時,針對每次 API 請求嘗試記錄。每次嘗試發出一個事件,因此以調整後參數進行的重試各自會產生自己的事件。
959 963
960**事件名稱**:`claude_code.api_request_body`964**事件名稱**:`claude_code.api_request_body`
961 965
964* 所有[標準屬性](#standard-attributes)968* 所有[標準屬性](#standard-attributes)
965* `event.name`:`"api_request_body"`969* `event.name`:`"api_request_body"`
966* `event.timestamp`:ISO 8601 時間戳記970* `event.timestamp`:ISO 8601 時間戳記
967* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述971* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
968* `body`:JSON 序列化的 Messages API 請求參數,例如系統提示、消息和工具,在內容限制處截斷(預設為 60 KB)。先前助手回合中的擴展思考內容被編輯。僅在內聯模式下發出(`OTEL_LOG_RAW_API_BODIES=1`)。972* `body`:JSON 序列化後的 Messages API 請求參數,例如系統提示詞、訊息與工具,在內容上限(預設 60 KB)處截斷。先前助理回合中的延伸思考內容會被遮蔽。僅在內嵌模式(`OTEL_LOG_RAW_API_BODIES=1`)下發出。
969* `body_ref`:包含未截斷本體的 `<dir>/<uuid>.request.json` 檔案的絕對路徑。僅在檔案模式下發出(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)。973* `body_ref`:指向包含未截斷主體之 `<dir>/<uuid>.request.json` 檔案的絕對路徑。僅在檔案模式(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)下發出。
970* `body_length`:未截斷本體長度。當 `OTEL_LOG_RAW_API_BODIES=file:<dir>` 時為 UTF-8 位元組,或當 `=1` 時為 UTF-16 程式碼單位974* `body_length`:未截斷的主體長度。當 `OTEL_LOG_RAW_API_BODIES=file:<dir>` 時為 UTF-8 位元組,當 `=1` 時為 UTF-16 程式碼單元
971* `body_truncated`:當發生內聯截斷時為 `"true"`。在檔案模式下不存在,以及當未發生截斷時不存在。975* `body_truncated`:發生內嵌截斷時為 `"true"`。在檔案模式下以及未發生截斷時不存在。
972* `model`:來自請求參數的模型識別碼976* `model`:請求參數中的模型識別碼
973* `query_source`:發出請求的子系統(例如,`"compact"`)977* `query_source`:發出請求的子系統(例如 `"compact"`)
974* `request_body_id`:識別此嘗試請求本體的 UUID。成功的嘗試的 [`api_response_body` 事件](#api-response-body-event)攜帶相同的值,因此您可以將回應與產生它的確切請求配對。需要 Claude Code v2.1.274 或更新版本978* `request_body_id`:識別此嘗試之請求主體的 UUID。成功之嘗試的 [`api_response_body` 事件](#api-response-body-event)帶有相同的值,因此您可以將回應與產生它的確切請求配對。需要 Claude Code v2.1.274 或更新版本
975 979
976<h4 id="api-response-body-event">980<h4 id="api-response-body-event">
977 API 回應本體事件981 API 回應主體事件
978</h4>982</h4>
979 983
980當設定了 `OTEL_LOG_RAW_API_BODIES` 時,為每個成功的 API 回應記錄。984當設定了 `OTEL_LOG_RAW_API_BODIES` 時,針對每個成功的 API 回應記錄。
981 985
982在檔案模式下(`OTEL_LOG_RAW_API_BODIES=file:<dir>`),Claude Code 還會為每個成功的回應將一行 JSON 附加到 `<dir>/index.jsonl`,包含欄位 `timestamp`、`session_id`、`query_source`、`model`、`request_id`、`message_id`、`message_uuid`、`request_file` 和 `response_file`。讀取它以找到給定文字記錄消息後面的請求和回應檔案,而無需查詢您的遙測後端。索引檔案需要 Claude Code v2.1.274 或更新版本。986在檔案模式(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)下,Claude Code 也會針對每個成功的回應,將一行 JSON 附加到 `<dir>/index.jsonl`,其欄位為 `timestamp`、`session_id`、`query_source`、`model`、`request_id`、`message_id`、`message_uuid`、`request_file` 與 `response_file`。讀取此檔案即可找出特定逐字稿訊息背後的請求與回應檔案,而無需查詢您的遙測後端。索引檔案需要 Claude Code v2.1.274 或更新版本。
983 987
984**事件名稱**:`claude_code.api_response_body`988**事件名稱**:`claude_code.api_response_body`
985 989
988* 所有[標準屬性](#standard-attributes)992* 所有[標準屬性](#standard-attributes)
989* `event.name`:`"api_response_body"`993* `event.name`:`"api_response_body"`
990* `event.timestamp`:ISO 8601 時間戳記994* `event.timestamp`:ISO 8601 時間戳記
991* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述995* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
992* `body`:JSON 序列化的 Messages API 回應,包括 id、內容區塊、使用情況和停止原因,在內容限制處截斷(預設為 60 KB)。擴展思考內容被編輯。僅在內聯模式下發出(`OTEL_LOG_RAW_API_BODIES=1`)。996* `body`:JSON 序列化後的 Messages API 回應,包括 id、內容區塊、使用量與停止原因,在內容上限(預設 60 KB)處截斷。延伸思考內容會被遮蔽。僅在內嵌模式(`OTEL_LOG_RAW_API_BODIES=1`)下發出。
993* `body_ref`:包含未截斷本體的 `<dir>/<request_id>.response.json` 檔案的絕對路徑。僅在檔案模式下發出(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)。997* `body_ref`:指向包含未截斷主體之 `<dir>/<request_id>.response.json` 檔案的絕對路徑。僅在檔案模式(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)下發出。
994* `body_length`:未截斷本體長度。當 `OTEL_LOG_RAW_API_BODIES=file:<dir>` 時為 UTF-8 位元組,或當 `=1` 時為 UTF-16 程式碼單位998* `body_length`:未截斷的主體長度。當 `OTEL_LOG_RAW_API_BODIES=file:<dir>` 時為 UTF-8 位元組,當 `=1` 時為 UTF-16 程式碼單元
995* `body_truncated`:當發生內聯截斷時為 `"true"`。在檔案模式下不存在,以及當未發生截斷時不存在。999* `body_truncated`:發生內嵌截斷時為 `"true"`。在檔案模式下以及未發生截斷時不存在。
996* `model`:模型識別碼1000* `model`:模型識別碼
997* `query_source`:發出請求的子系統1001* `query_source`:發出請求的子系統
998* `request_id`:API 請求 ID,例如 `"req_011..."`,在[事件相關屬性](#event-correlation-attributes)下描述。1002* `request_id`:API 請求 ID,例如 `"req_011..."`,說明請參閱[事件關聯屬性](#event-correlation-attributes)。
999* `request_body_id`:此回應回答的 [`api_request_body` 事件](#api-request-body-event)的 `request_body_id`。需要 Claude Code v2.1.274 或更新版本1003* `request_body_id`:此回應所回覆之 [`api_request_body` 事件](#api-request-body-event)的 `request_body_id`。需要 Claude Code v2.1.274 或更新版本
1000* `message.id`:API 指派給回應的消息 ID,回應本體的 `id` 欄位。需要 Claude Code v2.1.274 或更新版本1004* `message.id`:API 指派給回應的訊息 ID,即回應主體的 `id` 欄位。需要 Claude Code v2.1.274 或更新版本
1001* `message.uuid`:回應最終文字記錄項目的 UUID。與 `request_body_id` 一起,它將文字記錄消息連結到其後面的請求和回應本體。需要 Claude Code v2.1.274 或更新版本1005* `message.uuid`:回應之最後一筆逐字稿項目的 UUID。與 `request_body_id` 搭配,可將逐字稿訊息連結到其背後的請求與回應主體。需要 Claude Code v2.1.274 或更新版本
1002 1006
1003<h4 id="tool-decision-event">1007<h4 id="tool-decision-event">
1004 工具決定事件1008 工具決定事件
1005</h4>1009</h4>
1006 1010
1007當進行工具權限決定時記錄(接受/拒絕)。1011在做出工具權限決定(接受/拒絕)時記錄。
1008 1012
1009**事件名稱**:`claude_code.tool_decision`1013**事件名稱**:`claude_code.tool_decision`
1010 1014
1013* 所有[標準屬性](#standard-attributes)1017* 所有[標準屬性](#standard-attributes)
1014* `event.name`:`"tool_decision"`1018* `event.name`:`"tool_decision"`
1015* `event.timestamp`:ISO 8601 時間戳記1019* `event.timestamp`:ISO 8601 時間戳記
1016* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1020* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1017* `tool_name`:工具的名稱(例如,"Read"、"Edit"、"Write"、"NotebookEdit")1021* `tool_name`:工具名稱(例如 "Read"、"Edit"、"Write"、"NotebookEdit")
1018* `tool_use_id`:此工具呼叫的唯一識別碼。與傳遞給鉤子的 `tool_use_id` 相符,允許 OTel 事件和鉤子捕獲資料之間的相關性。1022* `tool_use_id`:此次工具呼叫的唯一識別碼。與傳遞給 hook 的 `tool_use_id` 相符,可讓 OTel 事件與 hook 擷取的資料相互關聯。
1019* `decision`:`"accept"` 或 `"reject"`1023* `decision`:`"accept"` 或 `"reject"`
1020* `tool_source`:始終存在。工具的來源,作為 CLI 撰寫值的封閉集合。需要 Claude Code v2.1.214 或更新版本1024* `tool_source`:一律存在。工具的來源,為 CLI 定義之值的封閉集合。需要 Claude Code v2.1.214 或更新版本
1021 * `"builtin"`:CLI 自己的工具1025 * `"builtin"`:CLI 本身的工具
1022 * `"mcp"`:一般 MCP 伺服器1026 * `"mcp"`:一般 MCP 伺服器
1023 * `"sdk_host_builtin_mcp"`:內建於 Claude Desktop 本身的進程內伺服器,在 Claude Desktop 擁有的工作階段中。Claude Desktop 擁有它從其自己的進入點之一啟動的工作階段,`claude-desktop`、`claude-desktop-3p` 或 `local-agent`,當該工作階段不是嵌套子項時;嵌套工作階段(包括 Claude Code 本身產生的工作階段)將這些伺服器報告為 `"mcp"`1027 * `"sdk_host_builtin_mcp"`:內建於 Claude Desktop 本身的處理程序內伺服器,位於 Claude Desktop 擁有的工作階段中。當 Claude Desktop 從其自身的進入點 `claude-desktop`、`claude-desktop-3p` 或 `local-agent` 之一啟動工作階段,且該工作階段不是巢狀子工作階段時,Claude Desktop 即擁有該工作階段;巢狀工作階段(包括 Claude Code 本身產生的工作階段)會將這些伺服器回報為 `"mcp"`
1024* `source`:決定來自何處:1028* `source`:決定的來源:
1025 * `"config"`:自動決定而不提示,基於專案設定、使用者個人設定中的允許或拒絕規則、企業管理原則、`--allowedTools` 或 `--disallowedTools` 標誌、活躍權限模式、來自同一互動 CLI 工作階段中較早提示的工作階段範圍授予,或因為工具本質上是安全的。事件不指示這些來源中的哪一個相符。Claude Code 也會在權限提示請求本身失敗時報告 `"config"`,例如當代理程式 SDK 的 [`canUseTool`](/docs/zh-TW/agent-sdk/typescript#canusetool) 回呼或 [`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 工具傳回無效結果時,或當輸入串流在請求待處理時關閉時。在 v2.1.216 之前,Claude Code 將這些失敗報告為 `"user_reject"`。1029 * `"config"`:未經提示而自動決定,依據為專案設定、使用者個人設定中的允許或拒絕規則、企業受管政策、`--allowedTools` 或 `--disallowedTools` 旗標、作用中的權限模式、同一互動式 CLI 工作階段中先前提示所給予的工作階段範圍授權,或因為該工具本身即為安全。此事件不會指出是哪一個來源相符。當權限提示請求本身失敗時,Claude Code 也會回報 `"config"`,例如 Agent SDK 的 [`canUseTool`](/docs/zh-TW/agent-sdk/typescript#canusetool) 回呼或 [`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 工具傳回無效結果時,或在請求等待期間輸入串流關閉時。在 v2.1.216 之前,Claude Code 會將這些失敗回報為 `"user_reject"`。
1026 * `"hook"`:`PreToolUse` 或 `PermissionRequest` 鉤子傳回決定。1030 * `"hook"`:`PreToolUse` 或 `PermissionRequest` hook 傳回了此決定。
1027 * `"user_permanent"`:當使用者在權限提示處選擇「是,不要再問...」時發出,這會將允許規則儲存到其個人設定。在互動 CLI 中,這僅針對該選擇本身發出;稍後與儲存規則相符的呼叫發出 `"config"`。在代理程式 SDK 或非互動 `-p` 工作階段中,初始選擇和稍後規則相符都發出 `"user_permanent"`。視為接受。1031 * `"user_permanent"`:當使用者在權限提示中選擇「Yes, and don't ask again for ...」時發出,這會將允許規則儲存到其個人設定中。在互動式 CLI 中,僅針對該選擇本身發出;之後符合已儲存規則的呼叫會改為發出 `"config"`。在 Agent SDK 或非互動式 `-p` 工作階段中,初始選擇與之後的規則比對都會發出 `"user_permanent"`。視為接受。
1028 * `"user_temporary"`:當使用者在權限提示處選擇「是」進行一次性核准時發出,或在檔案編輯或讀取提示上選擇授予工作階段其餘部分存取權限的選項時發出。在互動 CLI 中,這僅針對選擇本身發出;稍後由該工作階段範圍授予允許的呼叫發出 `"config"`。在代理程式 SDK 或非互動 `-p` 工作階段中,選擇和稍後相符都發出 `"user_temporary"`。視為接受。1032 * `"user_temporary"`:當使用者在權限提示中選擇「Yes」進行一次性核准,或在檔案編輯或讀取提示中選擇授予工作階段剩餘時間存取權的選項時發出。在互動式 CLI 中,僅針對該選擇本身發出;之後因該工作階段範圍授權而允許的呼叫會改為發出 `"config"`。在 Agent SDK 或非互動式 `-p` 工作階段中,該選擇與之後的比對都會發出 `"user_temporary"`。視為接受。
1029 * `"user_abort"`:當使用者在不回答的情況下關閉權限提示時發出。在代理程式 SDK 和非互動 `-p` 工作階段中,這包括在 `canUseTool` 或 `--permission-prompt-tool` 權限請求待處理時中斷回合;在 v2.1.216 之前,Claude Code 將該中斷報告為 `"user_reject"`。視為拒絕。1033 * `"user_abort"`:當使用者未回答即關閉權限提示時發出。在 Agent SDK 與非互動式 `-p` 工作階段中,這包括在 `canUseTool` 或 `--permission-prompt-tool` 權限請求等待期間中斷回合;在 v2.1.216 之前,Claude Code 會將該中斷回報為 `"user_reject"`。視為拒絕。
1030 * `"user_reject"`:當使用者在提示時選擇「否」時發出。在互動 CLI 中,這僅針對該選擇本身發出;與使用者個人設定中的拒絕規則相符的呼叫發出 `"config"`。在代理程式 SDK 或非互動 `-p` 工作階段中,與個人設定中的拒絕規則相符的呼叫發出 `"user_reject"`。視為拒絕。1034 * `"user_reject"`:當使用者在提示時選擇「No」時發出。在互動式 CLI 中,僅針對該選擇本身發出;符合使用者個人設定中拒絕規則的呼叫會改為發出 `"config"`。在 Agent SDK 或非互動式 `-p` 工作階段中,符合個人設定中拒絕規則的呼叫會發出 `"user_reject"`。視為拒絕。
1031* `tool_parameters`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):包含工具特定參數的 JSON 字串。與[工具結果事件](#tool-result-event)相同的形狀,減去執行後欄位,例如 `git_commit_id`。對於接受的呼叫,如果權限決定通過 `updatedInput` 重寫工具輸入,值可能與 `tool_result` 不同。使用此屬性查看當 `decision` 為 `"reject"` 時拒絕了哪個命令。1035* `tool_parameters`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):包含工具特定參數的 JSON 字串。格式與[工具結果事件](#tool-result-event)相同,但不含執行後的欄位,例如 `git_commit_id`。若權限決定透過 `updatedInput` 改寫了工具輸入,已接受呼叫的值可能與 `tool_result` 不同。當 `decision` 為 `"reject"` 時,可使用此屬性查看哪個命令遭到拒絕。
1032 * 對於 `"sdk_host_builtin_mcp"` 工具:即使 `OTEL_LOG_TOOL_DETAILS` 關閉,也會包含 `mcp_server_name` 和 `mcp_tool_name`,因為主應用程式定義這些名稱;沒有它們,對這些內建伺服器之一的拒絕呼叫在預設串流上將無法歸因。對於使用者配置的 MCP 伺服器,事件的 `tool_name` 始終是字面 `"mcp_tool"`,伺服器和工具名稱僅在標誌開啟時出現在 `tool_parameters` 中;引數內容在任何地方都需要標誌。需要 Claude Code v2.1.214 或更新版本1036 * 對於 `"sdk_host_builtin_mcp"` 工具:即使 `OTEL_LOG_TOOL_DETAILS` 關閉,也會包含 `mcp_server_name` 與 `mcp_tool_name`,因為這些名稱是由主機應用程式定義的;若沒有它們,在預設串流上將無法歸屬對這些內建伺服器之一的遭拒呼叫。對於使用者設定的 MCP 伺服器,事件的 `tool_name` 一律為字面值 `"mcp_tool"`,而伺服器與工具名稱僅在旗標開啟時出現在 `tool_parameters` 中;引數內容在任何情況下都需要該旗標。需要 Claude Code v2.1.214 或更新版本
1033 * 對於 Bash 工具:包括 `bash_command`、`full_command`、`timeout`、`description`、`dangerouslyDisableSandbox`。桌面應用程式的工作區 bash 工具也將 `tool_name` 報告為 `Bash`,但只包括 `bash_command`、`full_command` 和 `timeout`1037 * 對於 Bash 工具:包含 `bash_command`、`full_command`、`timeout`、`description`、`dangerouslyDisableSandbox`。桌面應用程式的工作區 bash 工具也會將 `tool_name` 回報為 `Bash`,但僅包含 `bash_command`、`full_command` 與 `timeout`
1034 * 對於 MCP 工具:包括 `mcp_server_name`、`mcp_tool_name`1038 * 對於 MCP 工具:包含 `mcp_server_name`、`mcp_tool_name`
1035 * 對於技能工具:包括 `skill_name`1039 * 對於 Skill 工具:包含 `skill_name`
1036 * 對於代理程式工具或舊版任務工具:包括 `subagent_type`1040 * 對於 Agent 工具或舊版 Task 工具:包含 `subagent_type`
1037 1041
1038<h4 id="permission-mode-changed-event">1042<h4 id="permission-mode-changed-event">
1039 權限模式已變更事件1043 權限模式變更事件
1040</h4>1044</h4>
1041 1045
1042當權限模式變更時記錄,例如從 `Shift+Tab` 循環、退出計畫模式或自動模式閘道檢查。1046在權限模式變更時記錄,例如透過 `Shift+Tab` 循環切換、退出 plan mode,或自動模式閘門檢查。
1043 1047
1044**事件名稱**:`claude_code.permission_mode_changed`1048**事件名稱**:`claude_code.permission_mode_changed`
1045 1049
1048* 所有[標準屬性](#standard-attributes)1052* 所有[標準屬性](#standard-attributes)
1049* `event.name`:`"permission_mode_changed"`1053* `event.name`:`"permission_mode_changed"`
1050* `event.timestamp`:ISO 8601 時間戳記1054* `event.timestamp`:ISO 8601 時間戳記
1051* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1055* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1052* `from_mode`:先前的權限模式,例如 `"default"`、`"plan"`、`"acceptEdits"`、`"auto"` 或 `"bypassPermissions"`1056* `from_mode`:先前的權限模式,例如 `"default"`、`"plan"`、`"acceptEdits"`、`"auto"` 或 `"bypassPermissions"`
1053* `to_mode`:新的權限模式1057* `to_mode`:新的權限模式
1054* `trigger`:導致變更的原因。`"shift_tab"`、`"exit_plan_mode"`、`"auto_gate_denied"` 或 `"auto_opt_in"` 之一。當轉換來自 SDK 或橋接時不存在。1058* `trigger`:造成變更的原因。為 `"shift_tab"`、`"exit_plan_mode"`、`"auto_gate_denied"` 或 `"auto_opt_in"` 之一。當轉換源自 SDK 或 bridge 時不存在
1055 1059
1056<h4 id="auth-event">1060<h4 id="auth-event">
1057 驗證事件1061 身分驗證事件
1058</h4>1062</h4>
1059 1063
1060當 `/login` 或 `/logout` 完成時記錄。1064在 `/login` 或 `/logout` 完成時記錄。
1061 1065
1062**事件名稱**:`claude_code.auth`1066**事件名稱**:`claude_code.auth`
1063 1067
1066* 所有[標準屬性](#standard-attributes)1070* 所有[標準屬性](#standard-attributes)
1067* `event.name`:`"auth"`1071* `event.name`:`"auth"`
1068* `event.timestamp`:ISO 8601 時間戳記1072* `event.timestamp`:ISO 8601 時間戳記
1069* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1073* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1070* `action`:`"login"` 或 `"logout"`1074* `action`:`"login"` 或 `"logout"`
1071* `success`:`"true"` 或 `"false"`1075* `success`:`"true"` 或 `"false"`
1072* `auth_method`:驗證方法,例如 `"oauth"`1076* `auth_method`:身分驗證方式,例如 `"oauth"`
1073* `error_category`:當動作失敗時的分類錯誤類型。永遠不包括原始錯誤消息1077* `error_category`:動作失敗時的錯誤種類分類。永遠不會包含原始錯誤訊息
1074* `status_code`:當動作因 HTTP 錯誤而失敗時的 HTTP 狀態碼作為字串1078* `status_code`:當動作因 HTTP 錯誤而失敗時,以字串表示的 HTTP 狀態碼
1075 1079
1076<h4 id="mcp-server-connection-event">1080<h4 id="mcp-server-connection-event">
1077 MCP 伺服器連線事件1081 MCP 伺服器連線事件
1078</h4>1082</h4>
1079 1083
1080當 MCP 伺服器連線、斷開連線或無法連線時記錄。1084在 MCP 伺服器連線、中斷連線或連線失敗時記錄。
1081 1085
1082**事件名稱**:`claude_code.mcp_server_connection`1086**事件名稱**:`claude_code.mcp_server_connection`
1083 1087
1086* 所有[標準屬性](#standard-attributes)1090* 所有[標準屬性](#standard-attributes)
1087* `event.name`:`"mcp_server_connection"`1091* `event.name`:`"mcp_server_connection"`
1088* `event.timestamp`:ISO 8601 時間戳記1092* `event.timestamp`:ISO 8601 時間戳記
1089* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1093* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1090* `status`:`"connected"`、`"failed"` 或 `"disconnected"`1094* `status`:`"connected"`、`"failed"` 或 `"disconnected"`
1091* `transport_type`:伺服器傳輸,例如 `"stdio"`、`"sse"` 或 `"http"`1095* `transport_type`:伺服器傳輸方式,例如 `"stdio"`、`"sse"` 或 `"http"`
1092* `server_scope`:伺服器配置的範圍,例如 `"user"`、`"project"` 或 `"local"`1096* `server_scope`:伺服器設定所在的範圍,例如 `"user"`、`"project"` 或 `"local"`
1093* `duration_ms`:連線嘗試持續時間(以毫秒為單位)1097* `duration_ms`:連線嘗試的持續時間(毫秒)
1094* `error_code`:連線失敗時的錯誤碼1098* `error_code`:連線失敗時的錯誤代碼
1095* `is_plugin`:當伺服器由外掛程式提供時為 `true`,否則為 `false`1099* `is_plugin`:當伺服器由外掛提供時為 `true`,否則為 `false`
1096* `plugin_id_hash`(當 `is_plugin` 為 `true` 時):外掛程式名稱和市場的穩定雜湊,用於按外掛程式分組事件而不暴露名稱。Claude Code 按[外掛程式載入事件](#plugin-loaded-event)下描述的方式計算它1100* `plugin_id_hash`(當 `is_plugin` 為 `true` 時):外掛名稱與市集的穩定雜湊值,可在不暴露名稱的情況下依外掛將事件分組。Claude Code 的計算方式如[外掛載入事件](#plugin-loaded-event)中所述
1097* `plugin.name`(當 `is_plugin` 為 `true` 時):提供伺服器的外掛程式的名稱。對於第三方外掛程式,此值是字面字串 `"third-party"`,除非 `OTEL_LOG_TOOL_DETAILS=1`;這可防止第三方外掛程式名稱預設出現在日誌中。來自官方 Anthropic 來源的外掛程式始終按名稱識別。`plugin_id_hash` 和 `plugin.name` 屬性流向您自己的監控後端,不會發送給 Anthropic1101* `plugin.name`(當 `is_plugin` 為 `true` 時):提供該伺服器之外掛的名稱。對於第三方外掛,除非設定了 `OTEL_LOG_TOOL_DETAILS=1`,否則此值為字面字串 `"third-party"`;這可預設防止第三方外掛名稱出現在日誌中。來自 Anthropic 官方來源的外掛一律以名稱識別。`plugin_id_hash` 與 `plugin.name` 屬性會流向您自己的監控後端,不會傳送給 Anthropic
1098* `server_name`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):配置的伺服器名稱1102* `server_name`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):設定的伺服器名稱
1099* `error`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):連線失敗時的完整錯誤消息1103* `error`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):連線失敗時的完整錯誤訊息
1100 1104
1101<h4 id="internal-error-event">1105<h4 id="internal-error-event">
1102 內部錯誤事件1106 內部錯誤事件
1103</h4>1107</h4>
1104 1108
1105當 Claude Code 捕獲意外的內部錯誤時記錄。只記錄錯誤類別名稱和 errno 樣式碼。永遠不包括錯誤消息和堆疊追蹤。在針對 Amazon Bedrock、Google Cloud 的代理程式平台或 Microsoft Foundry 執行時,或設定了 `DISABLE_ERROR_REPORTING` 時,不發出此事件。1109當 Claude Code 捕捉到非預期的內部錯誤時記錄。僅記錄錯誤類別名稱與 errno 風格的代碼。永遠不會包含錯誤訊息與堆疊追蹤。在搭配 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 執行時,或設定了 `DISABLE_ERROR_REPORTING` 時,不會發出此事件。
1106 1110
1107**事件名稱**:`claude_code.internal_error`1111**事件名稱**:`claude_code.internal_error`
1108 1112
1111* 所有[標準屬性](#standard-attributes)1115* 所有[標準屬性](#standard-attributes)
1112* `event.name`:`"internal_error"`1116* `event.name`:`"internal_error"`
1113* `event.timestamp`:ISO 8601 時間戳記1117* `event.timestamp`:ISO 8601 時間戳記
1114* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1118* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1115* `error_name`:錯誤類別名稱,例如 `"TypeError"` 或 `"SyntaxError"`1119* `error_name`:錯誤類別名稱,例如 `"TypeError"` 或 `"SyntaxError"`
1116* `error_code`:Node.js errno 碼,例如 `"ENOENT"`(當存在於錯誤上時)1120* `error_code`:錯誤上存在時的 Node.js errno 代碼,例如 `"ENOENT"`
1117 1121
1118<h4 id="plugin-installed-event">1122<h4 id="plugin-installed-event">
1119 外掛程式已安裝事件1123 外掛安裝事件
1120</h4>1124</h4>
1121 1125
1122當外掛程式完成安裝時記錄,來自 `claude plugin install` CLI 命令和互動 `/plugin` UI。1126在外掛完成安裝時記錄,涵蓋 `claude plugin install` CLI 命令與互動式 `/plugin` UI。
1123 1127
1124**事件名稱**:`claude_code.plugin_installed`1128**事件名稱**:`claude_code.plugin_installed`
1125 1129
1128* 所有[標準屬性](#standard-attributes)1132* 所有[標準屬性](#standard-attributes)
1129* `event.name`:`"plugin_installed"`1133* `event.name`:`"plugin_installed"`
1130* `event.timestamp`:ISO 8601 時間戳記1134* `event.timestamp`:ISO 8601 時間戳記
1131* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1135* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1132* `marketplace.is_official`:如果市場是官方 Anthropic 市場,則為 `"true"`,否則為 `"false"`1136* `marketplace.is_official`:若市集為 Anthropic 官方市集則為 `"true"`,否則為 `"false"`
1133* `install.trigger`:`"cli"` 或 `"ui"`1137* `install.trigger`:`"cli"` 或 `"ui"`
1134* `plugin.name`:已安裝外掛程式的名稱。對於第三方市場,僅當 `OTEL_LOG_TOOL_DETAILS=1` 時才包含1138* `plugin.name`:已安裝外掛的名稱。對於第三方市集,僅在 `OTEL_LOG_TOOL_DETAILS=1` 時包含
1135* `plugin.version`:在市場項目中宣告時的外掛程式版本。對於第三方市場,僅當 `OTEL_LOG_TOOL_DETAILS=1` 時才包含1139* `plugin.version`:市集項目中宣告的外掛版本。對於第三方市集,僅在 `OTEL_LOG_TOOL_DETAILS=1` 時包含
1136* `marketplace.name`:外掛程式的安裝來源市場。對於第三方市場,僅當 `OTEL_LOG_TOOL_DETAILS=1` 時才包含1140* `marketplace.name`:外掛的安裝來源市集。對於第三方市集,僅在 `OTEL_LOG_TOOL_DETAILS=1` 時包含
1137 1141
1138<h4 id="plugin-loaded-event">1142<h4 id="plugin-loaded-event">
1139 外掛程式已載入事件1143 外掛載入事件
1140</h4>1144</h4>
1141 1145
1142在工作階段開始時為每個啟用的外掛程式記錄一次。使用此事件來清點您的整個車隊中哪些外掛程式有效,作為記錄安裝動作本身的 `plugin_installed` 的補充。1146在工作階段開始時,針對每個已啟用的外掛記錄一次。可使用此事件盤點整個裝置群中作用中的外掛,作為記錄安裝動作本身之 `plugin_installed` 的補充。
1143 1147
1144**事件名稱**:`claude_code.plugin_loaded`1148**事件名稱**:`claude_code.plugin_loaded`
1145 1149
1148* 所有[標準屬性](#standard-attributes)1152* 所有[標準屬性](#standard-attributes)
1149* `event.name`:`"plugin_loaded"`1153* `event.name`:`"plugin_loaded"`
1150* `event.timestamp`:ISO 8601 時間戳記1154* `event.timestamp`:ISO 8601 時間戳記
1151* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1155* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1152* `plugin.name`:外掛程式的名稱。對於官方市場和內建捆綁之外的外掛程式,該值為 `"third-party"`,除非 `OTEL_LOG_TOOL_DETAILS=1`1156* `plugin.name`:外掛名稱。對於官方市集與內建套件以外的外掛,除非設定了 `OTEL_LOG_TOOL_DETAILS=1`,否則此值為 `"third-party"`
1153* `marketplace.name`:外掛程式的安裝來源市場(已知時)。在與 `plugin.name` 相同的條件下編輯為 `"third-party"`1157* `marketplace.name`:外掛的安裝來源市集(已知時)。在與 `plugin.name` 相同的條件下遮蔽為 `"third-party"`
1154* `plugin.version`:來自外掛程式清單的版本。僅當名稱未編輯且清單宣告版本時才包含1158* `plugin.version`:外掛資訊清單中的版本。僅在名稱未遮蔽且資訊清單宣告了版本時包含
1155* `plugin.scope`:外掛程式的來源類別:`"official"`、`"community"`、`"org"`、`"user-local"` 或 `"default-bundle"`1159* `plugin.scope`:外掛的來源類別:`"official"`、`"community"`、`"org"`、`"user-local"` 或 `"default-bundle"`
1156* `enabled_via`:外掛程式啟用的方式:`"default-enable"`、`"org-policy"`、`"admin-install"`、`"seed-mount"` 或 `"user-install"`。`"admin-install"` 值表示外掛程式在[**組織設定 > 外掛程式和技能**](https://claude.ai/admin-settings/skills?tab=inventory)中為您的組織設定為必需或自動安裝。在 v2.1.246 之前,Claude Code 將這些外掛程式報告為 `"user-install"` 或 `"seed-mount"`1160* `enabled_via`:外掛被啟用的方式:`"default-enable"`、`"org-policy"`、`"admin-install"`、`"seed-mount"` 或 `"user-install"`。`"admin-install"` 值表示該外掛在 [**Organization settings > Plugins & skills**](https://claude.ai/admin-settings/skills?tab=inventory) 中被設定為您組織的必要或自動安裝外掛。在 v2.1.246 之前,Claude Code 會將這些外掛回報為 `"user-install"` 或 `"seed-mount"`
1157* `plugin_id_hash`:外掛程式名稱和市場的確定性雜湊,僅發送到您配置的匯出器。讓您計算整個車隊中載入的不同第三方外掛程式,而無需記錄其名稱。對於[從 claude.ai 同步的外掛程式](/docs/zh-TW/plugins/loading#synced-plugins),Claude Code 使用外掛程式名稱與 claude.ai 為外掛程式報告的市場名稱進行雜湊,或使用 `synced`。在 v2.1.246 之前,Claude Code 在雜湊中未使用 claude.ai 報告的市場名稱1161* `plugin_id_hash`:外掛名稱與市集的確定性雜湊值,僅傳送給您設定的匯出器。可讓您在不記錄名稱的情況下,計算整個裝置群中載入的不同第三方外掛數量。對於[從 claude.ai 同步的外掛](/docs/zh-TW/plugins/loading#synced-plugins),Claude Code 會以 claude.ai 為該外掛回報的市集名稱(否則為 `synced`)與外掛名稱一起計算雜湊。在 v2.1.246 之前,Claude Code 未在雜湊中使用 claude.ai 回報的市集名稱
1158* `has_hooks`:外掛程式是否貢獻鉤子1162* `has_hooks`:外掛是否提供 hook
1159* `has_mcp`:外掛程式是否貢獻 MCP 伺服器1163* `has_mcp`:外掛是否提供 MCP 伺服器
1160* `host_owned_mcp`:當 SDK 主機管理此外掛的 MCP 連線,且 Claude Code 略過讀取外掛的 MCP 伺服器設定時為 `true`,否則為 `false`1164* `host_owned_mcp`:當 SDK 主機管理此外掛的 MCP 連線,且 Claude Code 略過讀取外掛的 MCP 伺服器設定時為 `true`,否則為 `false`
1161* `skill_path_count`:外掛程式宣告的技能目錄數1165* `skill_path_count`:外掛宣告的 skill 目錄數量
1162* `command_path_count`:外掛程式宣告的命令目錄數1166* `command_path_count`:外掛宣告的命令目錄數量
1163* `agent_path_count`:外掛程式宣告的代理程式目錄數1167* `agent_path_count`:外掛宣告的 agent 目錄數量
1164* `safe_mode`:當工作階段以 [`--safe-mode`](/docs/zh-TW/cli-reference) 啟動時為 `"true"`,否則為 `"false"`。在安全模式下,此事件僅報告配置的清單;外掛程式的命令、技能、鉤子和 MCP 伺服器不載入。需要 Claude Code v2.1.169 或更新版本1168* `safe_mode`:當工作階段以 [`--safe-mode`](/docs/zh-TW/cli-reference) 啟動時為 `"true"`,否則為 `"false"`。在安全模式下,此事件僅回報已設定的清單;外掛的命令、skill、hook 與 MCP 伺服器不會載入。需要 Claude Code v2.1.169 或更新版本
1165 1169
1166<h4 id="skill-activated-event">1170<h4 id="skill-activated-event">
1167 技能已啟動事件1171 Skill 啟用事件
1168</h4>1172</h4>
1169 1173
1170當技能被呼叫時記錄,無論 Claude 通過技能工具呼叫它還是您將其作為 `/` 命令執行。1174在 skill 被呼叫時記錄,無論是 Claude 透過 Skill 工具呼叫,或是您以 `/` 命令執行。
1171 1175
1172**事件名稱**:`claude_code.skill_activated`1176**事件名稱**:`claude_code.skill_activated`
1173 1177
1176* 所有[標準屬性](#standard-attributes)1180* 所有[標準屬性](#standard-attributes)
1177* `event.name`:`"skill_activated"`1181* `event.name`:`"skill_activated"`
1178* `event.timestamp`:ISO 8601 時間戳記1182* `event.timestamp`:ISO 8601 時間戳記
1179* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1183* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1180* `skill.name`:技能的名稱。對於使用者定義和第三方外掛程式技能,該值是佔位符 `"custom_skill"`,除非 `OTEL_LOG_TOOL_DETAILS=1`1184* `skill.name`:skill 的名稱。對於使用者定義與第三方外掛的 skill,除非設定了 `OTEL_LOG_TOOL_DETAILS=1`,否則此值為預留值 `"custom_skill"`
1181* `invocation_trigger`:技能的觸發方式(`"user-slash"`、`"claude-proactive"` 或 `"nested-skill"`)1185* `invocation_trigger`:skill 的觸發方式(`"user-slash"`、`"claude-proactive"` 或 `"nested-skill"`)
1182* `skill.source`:技能的載入來源(例如,`"bundled"`、`"userSettings"`、`"projectSettings"`、`"plugin"`)1186* `skill.source`:skill 的載入來源(例如 `"bundled"`、`"userSettings"`、`"projectSettings"`、`"plugin"`)
1183* `skill.kind`:當技能是工作流程技能時為 `"workflow"`。否則不存在1187* `skill.kind`:當 skill 為工作流程 skill 時為 `"workflow"`。否則不存在
1184* `plugin.name`(當 `OTEL_LOG_TOOL_DETAILS=1` 或外掛程式來自官方市場時):當技能由外掛程式提供時的擁有外掛程式的名稱1188* `plugin.name`(當 `OTEL_LOG_TOOL_DETAILS=1` 或外掛來自官方市集時):當 skill 由外掛提供時,為其所屬外掛的名稱
1185* `marketplace.name`(當 `OTEL_LOG_TOOL_DETAILS=1` 或外掛程式來自官方市場時):當技能由外掛程式提供時,擁有外掛程式的安裝來源市場1189* `marketplace.name`(當 `OTEL_LOG_TOOL_DETAILS=1` 或外掛來自官方市集時):當 skill 由外掛提供時,為所屬外掛的安裝來源市集
1186 1190
1187<h4 id="at-mention-event">1191<h4 id="at-mention-event">
1188 @ 提及事件1192 @ 提及事件
1189</h4>1193</h4>
1190 1194
1191當 Claude Code 解析提示中的 `@` 提及時記錄。並非每個提及都發出事件:早期退出路徑,例如權限拒絕、超大檔案、PDF 參考附件和目錄列表失敗,會在不記錄的情況下傳回。1195當 Claude Code 解析提示詞中的 `@` 提及時記錄。並非每個提及都會發出事件:提早結束的路徑(例如權限拒絕、檔案過大、PDF 參考附件與目錄列出失敗)會直接返回而不記錄。
1196
1197每次 Claude Code 讀取提示詞時,最多會記錄 100 個 `mention_type` 為 `"agent"` 的事件,以及 100 個為 `"mcp_resource"` 的事件。超過任一上限的提及仍會被解析,但不會發出事件。
1192 1198
1193**事件名稱**:`claude_code.at_mention`1199**事件名稱**:`claude_code.at_mention`
1194 1200
1197* 所有[標準屬性](#standard-attributes)1203* 所有[標準屬性](#standard-attributes)
1198* `event.name`:`"at_mention"`1204* `event.name`:`"at_mention"`
1199* `event.timestamp`:ISO 8601 時間戳記1205* `event.timestamp`:ISO 8601 時間戳記
1200* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1206* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1201* `mention_type`:提及的類型(`"file"`、`"directory"`、`"agent"`、`"mcp_resource"`、`"peer"`)。`"peer"` 值表示您提及了[您的其他 Claude Code 工作階段之一](/docs/zh-TW/cross-session-messaging)。需要 Claude Code v2.1.232 或更新版本1207* `mention_type`:提及的類型(`"file"`、`"directory"`、`"agent"`、`"mcp_resource"`、`"peer"`)。`"peer"` 值表示您提及了[您的其他 Claude Code 工作階段之一](/docs/zh-TW/cross-session-messaging)。需要 Claude Code v2.1.232 或更新版本
1202* `success`:提及是否成功解析(`"true"` 或 `"false"`)1208* `success`:提及是否成功解析(`"true"` 或 `"false"`)
1203 1209
1204<h4 id="api-retries-exhausted-event">1210<h4 id="api-retries-exhausted-event">
1205 API 重試已耗盡事件1211 API 重試用盡事件
1206</h4>1212</h4>
1207 1213
1208當 API 請求在多次嘗試後失敗時記錄一次。與最終 `api_error` 事件一起發出。1214當 API 請求在多次嘗試後失敗時記錄一次。與最終的 `api_error` 事件一同發出。
1209 1215
1210**事件名稱**:`claude_code.api_retries_exhausted`1216**事件名稱**:`claude_code.api_retries_exhausted`
1211 1217
1214* 所有[標準屬性](#standard-attributes)1220* 所有[標準屬性](#standard-attributes)
1215* `event.name`:`"api_retries_exhausted"`1221* `event.name`:`"api_retries_exhausted"`
1216* `event.timestamp`:ISO 8601 時間戳記1222* `event.timestamp`:ISO 8601 時間戳記
1217* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1223* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1218* `model`:使用的模型1224* `model`:使用的模型
1219* `error`:最終錯誤消息1225* `error`:最終錯誤訊息
1220* `status_code`:HTTP 狀態碼作為數字。對於非 HTTP 錯誤不存在。1226* `status_code`:以數字表示的 HTTP 狀態碼。對於非 HTTP 錯誤不存在。
1221* `total_attempts`:進行的嘗試總數1227* `total_attempts`:嘗試的總次數
1222* `total_retry_duration_ms`:所有嘗試中的總牆上時間1228* `total_retry_duration_ms`:所有嘗試的總實際經過時間
1223* `speed`:`"fast"` 或 `"normal"`1229* `speed`:`"fast"` 或 `"normal"`
1224 1230
1225<h4 id="hook-registered-event">1231<h4 id="hook-registered-event">
1226 鉤子已註冊事件1232 Hook 註冊事件
1227</h4>1233</h4>
1228 1234
1229在工作階段開始時為每個配置的鉤子記錄一次。使用此事件來清點您的整個車隊中哪些鉤子有效,作為每個執行 `hook_execution_start` 和 `hook_execution_complete` 事件的補充。1235在工作階段開始時,針對每個已設定的 hook 記錄一次。可使用此事件盤點整個裝置群中作用中的 hook,作為每次執行之 `hook_execution_start` 與 `hook_execution_complete` 事件的補充。
1230 1236
1231**事件名稱**:`claude_code.hook_registered`1237**事件名稱**:`claude_code.hook_registered`
1232 1238
1235* 所有[標準屬性](#standard-attributes)1241* 所有[標準屬性](#standard-attributes)
1236* `event.name`:`"hook_registered"`1242* `event.name`:`"hook_registered"`
1237* `event.timestamp`:ISO 8601 時間戳記1243* `event.timestamp`:ISO 8601 時間戳記
1238* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1244* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1239* `hook_event`:鉤子事件類型,例如 `"PreToolUse"` 或 `"PostToolUse"`1245* `hook_event`:hook 事件類型,例如 `"PreToolUse"` 或 `"PostToolUse"`
1240* `hook_type`:鉤子實現類型:`"command"`、`"prompt"`、`"mcp_tool"`、`"http"` 或 `"agent"`1246* `hook_type`:hook 實作類型:`"command"`、`"prompt"`、`"mcp_tool"`、`"http"` 或 `"agent"`
1241* `hook_source`:鉤子定義的位置:`"userSettings"`、`"projectSettings"`、`"localSettings"`、`"flagSettings"`、`"policySettings"` 或 `"pluginHook"`1247* `hook_source`:hook 的定義位置:`"userSettings"`、`"projectSettings"`、`"localSettings"`、`"flagSettings"`、`"policySettings"` 或 `"pluginHook"`
1242* `safe_mode`:當工作階段以 [`--safe-mode`](/docs/zh-TW/cli-reference) 啟動時為 `"true"`,否則為 `"false"`。需要 Claude Code v2.1.169 或更新版本1248* `safe_mode`:當工作階段以 [`--safe-mode`](/docs/zh-TW/cli-reference) 啟動時為 `"true"`,否則為 `"false"`。需要 Claude Code v2.1.169 或更新版本
1243* `hook_matcher`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):鉤子配置中的匹配器字串(設定時)1249* `hook_matcher`(當 `OTEL_LOG_TOOL_DETAILS=1` 時):hook 設定中的 matcher 字串(有設定時)
1244* `plugin.name`(當 `hook_source` 為 `"pluginHook"` 時):貢獻外掛程式的名稱。對於官方市場和內建捆綁之外的外掛程式,該值為 `"third-party"`,除非 `OTEL_LOG_TOOL_DETAILS=1`1250* `plugin.name`(當 `hook_source` 為 `"pluginHook"` 時):提供該 hook 之外掛的名稱。對於官方市集與內建套件以外的外掛,除非設定了 `OTEL_LOG_TOOL_DETAILS=1`,否則此值為 `"third-party"`
1245* `plugin_id_hash`(當 `hook_source` 為 `"pluginHook"` 時):外掛程式名稱和市場的確定性雜湊,僅發送到您配置的匯出器。讓您計算不同的貢獻外掛程式而無需記錄其名稱。Claude Code 按[外掛程式載入事件](#plugin-loaded-event)下描述的方式計算它1251* `plugin_id_hash`(當 `hook_source` 為 `"pluginHook"` 時):外掛名稱與市集的確定性雜湊值,僅傳送給您設定的匯出器。可讓您在不記錄名稱的情況下計算提供 hook 的不同外掛數量。Claude Code 的計算方式如[外掛載入事件](#plugin-loaded-event)中所述
1246 1252
1247<h4 id="hook-execution-start-event">1253<h4 id="hook-execution-start-event">
1248 鉤子執行開始事件1254 Hook 執行開始事件
1249</h4>1255</h4>
1250 1256
1251當一個或多個鉤子開始為鉤子事件執行時記錄。1257當一個或多個 hook 開始針對某個 hook 事件執行時記錄。
1252 1258
1253**事件名稱**:`claude_code.hook_execution_start`1259**事件名稱**:`claude_code.hook_execution_start`
1254 1260
1257* 所有[標準屬性](#standard-attributes)1263* 所有[標準屬性](#standard-attributes)
1258* `event.name`:`"hook_execution_start"`1264* `event.name`:`"hook_execution_start"`
1259* `event.timestamp`:ISO 8601 時間戳記1265* `event.timestamp`:ISO 8601 時間戳記
1260* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1266* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1261* `hook_event`:鉤子事件類型,例如 `"PreToolUse"` 或 `"PostToolUse"`1267* `hook_event`:Hook 事件類型,例如 `"PreToolUse"` 或 `"PostToolUse"`
1262* `hook_name`:完整鉤子名稱,包括匹配器,例如 `"PreToolUse:Write"`1268* `hook_name`:包含 matcher 的完整 hook 名稱,例如 `"PreToolUse:Write"`
1263* `num_hooks`:匹配鉤子命令的數量1269* `num_hooks`:相符的 hook 命令數量
1264* `managed_only`:當僅允許管理原則鉤子時為 `"true"`1270* `managed_only`:當僅允許受管政策 hook 時為 `"true"`
1265* `hook_source`:`"policySettings"` 或 `"merged"`1271* `hook_source`:`"policySettings"` 或 `"merged"`
1266* `safe_mode`:當工作階段以 [`--safe-mode`](/docs/zh-TW/cli-reference) 啟動時為 `"true"`,否則為 `"false"`。需要 Claude Code v2.1.169 或更新版本1272* `safe_mode`:當工作階段以 [`--safe-mode`](/docs/zh-TW/cli-reference) 啟動時為 `"true"`,否則為 `"false"`。需要 Claude Code v2.1.169 或更新版本
1267* `hook_definitions`:JSON 序列化的鉤子配置。僅當詳細測試版追蹤和 `OTEL_LOG_TOOL_DETAILS=1` 都啟用時才包含1273* `hook_definitions`:JSON 序列化後的 hook 設定。僅在同時啟用詳細 beta 追蹤與 `OTEL_LOG_TOOL_DETAILS=1` 時包含
1268 1274
1269<h4 id="hook-execution-complete-event">1275<h4 id="hook-execution-complete-event">
1270 鉤子執行完成事件1276 Hook 執行完成事件
1271</h4>1277</h4>
1272 1278
1273當鉤子事件的所有鉤子完成時記錄。1279當某個 hook 事件的所有 hook 都已完成時記錄。
1274 1280
1275**事件名稱**:`claude_code.hook_execution_complete`1281**事件名稱**:`claude_code.hook_execution_complete`
1276 1282
1279* 所有[標準屬性](#standard-attributes)1285* 所有[標準屬性](#standard-attributes)
1280* `event.name`:`"hook_execution_complete"`1286* `event.name`:`"hook_execution_complete"`
1281* `event.timestamp`:ISO 8601 時間戳記1287* `event.timestamp`:ISO 8601 時間戳記
1282* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1288* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1283* `hook_event`:鉤子事件類型1289* `hook_event`:Hook 事件類型
1284* `hook_name`:完整鉤子名稱,包括匹配器1290* `hook_name`:包含 matcher 的完整 hook 名稱
1285* `num_hooks`:匹配鉤子命令的數量1291* `num_hooks`:相符的 hook 命令數量
1286* `num_success`:成功完成的計數1292* `num_success`:成功完成的數量
1287* `num_blocking`:傳回阻止決定的計數1293* `num_blocking`:傳回阻擋決定的數量
1288* `num_non_blocking_error`:在不阻止的情況下失敗的計數1294* `num_non_blocking_error`:失敗但未阻擋的數量
1289* `num_cancelled`:在完成前取消的計數1295* `num_cancelled`:完成前被取消的數量
1290* `total_duration_ms`:所有匹配鉤子的牆上持續時間1296* `total_duration_ms`:所有相符 hook 的實際經過時間
1291* `stdout_chars`:成功的匹配鉤子中的 stdout 總字元數。需要 Claude Code v2.1.280 或更新版本1297* `stdout_chars`:成功之相符 hook 的 stdout 總字元數。需要 Claude Code v2.1.280 或更新版本
1292* `additional_context_chars`:匹配鉤子傳回的 `additionalContext` 的總字元數。需要 Claude Code v2.1.280 或更新版本1298* `additional_context_chars`:相符 hook 傳回之 `additionalContext` 的總字元數。需要 Claude Code v2.1.280 或更新版本
1293* `system_message_chars`:匹配鉤子傳回的 `systemMessage` 的總字元數。需要 Claude Code v2.1.280 或更新版本1299* `system_message_chars`:相符 hook 傳回之 `systemMessage` 的總字元數。需要 Claude Code v2.1.280 或更新版本
1294* `initial_user_message_chars`:匹配鉤子傳回的 `initialUserMessage` 的總字元數。需要 Claude Code v2.1.280 或更新版本1300* `initial_user_message_chars`:相符 hook 傳回之 `initialUserMessage` 的總字元數。需要 Claude Code v2.1.280 或更新版本
1295* `num_outputs_persisted`:超過[10,000 字元上限](/docs/zh-TW/hooks#json-output)的鉤子輸出數,Claude Code 儲存到檔案。需要 Claude Code v2.1.280 或更新版本1301* `num_outputs_persisted`:超過 [10,000 字元上限](/docs/zh-TW/hooks#json-output)而由 Claude Code 儲存至檔案的 hook 輸出數量。需要 Claude Code v2.1.280 或更新版本
1296* `managed_only`:當僅允許管理原則鉤子時為 `"true"`1302* `managed_only`:當僅允許受管政策 hook 時為 `"true"`
1297* `hook_source`:`"policySettings"` 或 `"merged"`1303* `hook_source`:`"policySettings"` 或 `"merged"`
1298* `safe_mode`:當工作階段以 [`--safe-mode`](/docs/zh-TW/cli-reference) 啟動時為 `"true"`,否則為 `"false"`。需要 Claude Code v2.1.169 或更新版本1304* `safe_mode`:當工作階段以 [`--safe-mode`](/docs/zh-TW/cli-reference) 啟動時為 `"true"`,否則為 `"false"`。需要 Claude Code v2.1.169 或更新版本
1299* `hook_definitions`:JSON 序列化的鉤子配置。僅當詳細測試版追蹤和 `OTEL_LOG_TOOL_DETAILS=1` 都啟用時才包含1305* `hook_definitions`:JSON 序列化後的 hook 設定。僅在同時啟用詳細 beta 追蹤與 `OTEL_LOG_TOOL_DETAILS=1` 時包含
1300 1306
1301<h4 id="hook-plugin-metrics-event">1307<h4 id="hook-plugin-metrics-event">
1302 鉤子外掛程式指標事件1308 Hook 外掛指標事件
1303</h4>1309</h4>
1304 1310
1305當官方市場外掛程式鉤子發出每次呼叫指標時記錄。只有從官方 Anthropic 市場安裝的外掛程式才能發出這些。第三方市場外掛程式和使用者配置的鉤子不發出到此事件。使用此事件從您自己的可觀測性堆疊監控外掛程式行為,例如尋找率、成本和持續時間。1311當官方市集外掛的 hook 發出每次呼叫的指標時記錄。只有從 Anthropic 官方市集安裝的外掛才能發出這些指標。第三方市集外掛與使用者設定的 hook 不會發出此事件。可使用此事件從您自己的可觀測性堆疊監控外掛行為,例如發現率、成本與持續時間。
1306 1312
1307**事件名稱**:`claude_code.hook_plugin_metrics`1313**事件名稱**:`claude_code.hook_plugin_metrics`
1308 1314
1311* 所有[標準屬性](#standard-attributes)1317* 所有[標準屬性](#standard-attributes)
1312* `event.name`:`"hook_plugin_metrics"`1318* `event.name`:`"hook_plugin_metrics"`
1313* `event.timestamp`:ISO 8601 時間戳記1319* `event.timestamp`:ISO 8601 時間戳記
1314* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1320* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1315* `plugin_id`:`<name>@<marketplace>` 形式的外掛程式識別碼1321* `plugin_id`:`<name>@<marketplace>` 形式的外掛識別碼
1316* `hook_event`:發出指標的鉤子事件類型1322* `hook_event`:發出指標的 hook 事件類型
1317* 最多 20 個由外掛發出的指標鍵。名稱符合 `^[a-z][a-z0-9_]{0,39}$`。值為布林值或數字。1323* 最多 20 個外掛發出的指標鍵。名稱需符合 `^[a-z][a-z0-9_]{0,39}$`。值為布林值或數字。
1318 1324
1319<h4 id="compaction-event">1325<h4 id="compaction-event">
1320 壓縮事件1326 壓縮事件
1321</h4>1327</h4>
1322 1328
1323當對話壓縮完成時記錄。1329在對話壓縮完成時記錄。
1324 1330
1325**事件名稱**:`claude_code.compaction`1331**事件名稱**:`claude_code.compaction`
1326 1332
1329* 所有[標準屬性](#standard-attributes)1335* 所有[標準屬性](#standard-attributes)
1330* `event.name`:`"compaction"`1336* `event.name`:`"compaction"`
1331* `event.timestamp`:ISO 8601 時間戳記1337* `event.timestamp`:ISO 8601 時間戳記
1332* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1338* `event.sequence`:用於排序事件的每程序計數器,說明請參閱[事件關聯屬性](#event-correlation-attributes)
1333* `trigger`:`"auto"` 或 `"manual"`1339* `trigger`:`"auto"` 或 `"manual"`
1334* `success`:`"true"` 或 `"false"`1340* `success`:`"true"` 或 `"false"`
1335* `duration_ms`:壓縮持續時間1341* `duration_ms`:壓縮持續時間
1336* `pre_tokens`:壓縮前的近似權杖計數1342* `pre_tokens`:壓縮前的約略 token 數量
1337* `post_tokens`:壓縮後的近似權杖計數1343* `post_tokens`:壓縮後的約略 token 數量
1338* `error`:壓縮失敗時的錯誤消息1344* `error`:壓縮失敗時的錯誤訊息
1339* `precompute_reuse`:僅在 `trigger` 為 `"manual"` 時設定。自動壓縮可在上下文視窗填滿之前於背景預先準備摘要,而此屬性記錄 `/compact` 是否重複使用了該預先準備的摘要。`"hit"` 表示已重複使用;`"miss_custom_instructions"`、`"miss_hook"` 與 `"miss_not_ready"` 則說明改為重新計算摘要的原因1345* `precompute_reuse`:僅在 `trigger` 為 `"manual"` 時設定。自動壓縮可在上下文視窗填滿前於背景準備摘要,此屬性記錄 `/compact` 是否重複使用了該預先準備的摘要。`"hit"` 表示已重複使用;`"miss_custom_instructions"`、`"miss_hook"` 與 `"miss_not_ready"` 則說明改為重新計算摘要的原因
1340 1346
1341<h4 id="subagent-completed-event">1347<h4 id="subagent-completed-event">
1342 子代理程式已完成事件1348 Subagent 完成事件
1343</h4>1349</h4>
1344 1350
1345當[子代理程式](/docs/zh-TW/sub-agents)完成並將其結果傳回啟動它的對話時記錄。使用它按子代理程式類型匯總工具使用和執行時間;對於權杖或成本匯總,使用[權杖計數器](#token-counter)和[成本計數器](#cost-counter)篩選到 `query_source` `"subagent"`,因為此事件的 `total_tokens` 僅涵蓋最終請求。`"subagent"` 類別也計算來自基於代理程式的鉤子的請求,它們不發出子代理程式事件。1351在 [subagent](/docs/zh-TW/sub-agents) 完成並將結果傳回啟動它的對話時記錄。可用於依 subagent 類型彙總工具使用情況與執行時間;若要彙總 token 或成本,請使用以 `query_source` `"subagent"` 篩選的 [token 計數器](#token-counter)與[成本計數器](#cost-counter),因為此事件的 `total_tokens` 僅涵蓋最後一個請求。`"subagent"` 類別也會計入來自以 agent 為基礎之 hook 的請求,而這些 hook 不會發出 subagent 事件。
1346 1352
1347**事件名稱**:`claude_code.subagent_completed`1353**事件名稱**:`claude_code.subagent_completed`
1348 1354
1351* 所有[標準屬性](#standard-attributes)1357* 所有[標準屬性](#standard-attributes)
1352* `event.name`:`"subagent_completed"`1358* `event.name`:`"subagent_completed"`
1353* `event.timestamp`:ISO 8601 時間戳記1359* `event.timestamp`:ISO 8601 時間戳記
1354* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1360* `event.sequence`:用於排序事件的每程序計數器,說明請見[事件關聯屬性](#event-correlation-attributes)
1355* `agent_type`:子代理程式類型。內建代理程式名稱和來自官方市場外掛程式的代理程式會逐字出現;其他代理程式名稱會被替換為 `"custom"`,除非設定了 `OTEL_LOG_TOOL_DETAILS=1`1361* `agent_type`:subagent 類型。內建 agent 名稱及來自官方市集外掛的 agent 會原樣顯示;除非設定了 `OTEL_LOG_TOOL_DETAILS=1`,否則其他 agent 名稱會以 `"custom"` 取代
1356* `agent.source`:代理程式定義的來源:`built-in`、`plugin` 或定義自訂代理程式的設定來源,例如 `userSettings` 或 `projectSettings`1362* `agent.source`:agent 定義的來源:`built-in`、`plugin`,或定義自訂 agent 的設定來源,例如 `userSettings` 或 `projectSettings`
1357* `is_built_in`:子代理程式是否為內建代理程式類型1363* `is_built_in`:subagent 是否為內建 agent 類型
1358* `is_async`:子代理程式是否在[背景](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background)中執行1364* `is_async`:subagent 是否在[背景](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background)執行
1359* `total_tokens`:子代理程式最終 API 請求的權杖足跡:該單個請求的輸入、快取建立、快取讀取和輸出權杖,大約是子代理程式在完成時的上下文大小。不是整個執行的總和1365* `total_tokens`:subagent 最後一個 API 請求的 token 用量:該請求的輸入、快取建立、快取讀取與輸出 token,大致等於 subagent 完成時的上下文大小。並非整個執行過程的總和
1360* `total_tool_uses`:子代理程式在整個執行中進行的工具呼叫數1366* `total_tool_uses`:subagent 在整個執行過程中進行的工具呼叫次數
1361* `duration_ms`:執行時間(以毫秒為單位)1367* `duration_ms`:執行時間(毫秒)
1362* `model`:子代理程式被解析為執行的模型1368* `model`:subagent 被解析為使用的模型
1363* `final_model`:產生子代理程式最終回應的模型,在中途切換(例如回退)後與 `model` 不同。需要 Claude Code v2.1.212 或更新版本1369* `final_model`:產生 subagent 最終回應的模型;在執行中途切換(例如備援)之後,此值會與 `model` 不同。需要 Claude Code v2.1.212 或更新版本
1364* `model_swapped`:是否有多個模型為子代理程式的請求提供服務。需要 Claude Code v2.1.212 或更新版本1370* `model_swapped`:是否有多個模型處理過 subagent 的請求。需要 Claude Code v2.1.212 或更新版本
1365* `plugin_id_hash`、`plugin.name`:對於外掛程式提供的代理程式存在。官方市場外掛程式名稱會逐字出現;其他外掛程式名稱會被替換為 `"third-party"`,除非設定了 `OTEL_LOG_TOOL_DETAILS=1`1371* `plugin_id_hash`、`plugin.name`:由外掛提供的 agent 才會出現。官方市集外掛名稱會原樣顯示;除非設定了 `OTEL_LOG_TOOL_DETAILS=1`,否則其他外掛名稱會以 `"third-party"` 取代
1366 1372
1367<h4 id="feedback-survey-event">1373<h4 id="feedback-survey-event">
1368 回饋調查事件1374 意見調查事件
1369</h4>1375</h4>
1370 1376
1371當顯示或回答工作階段品質調查時記錄。請參閱[工作階段品質調查](/docs/zh-TW/data-usage#session-quality-surveys)以了解調查收集的內容以及如何控制它們。1377在顯示或回答工作階段品質調查時記錄。關於調查收集的內容及如何控制,請參閱[工作階段品質調查](/docs/zh-TW/data-usage#session-quality-surveys)。
1372 1378
1373**事件名稱**:`claude_code.feedback_survey`1379**事件名稱**:`claude_code.feedback_survey`
1374 1380
1377* 所有[標準屬性](#standard-attributes)1383* 所有[標準屬性](#standard-attributes)
1378* `event.name`:`"feedback_survey"`1384* `event.name`:`"feedback_survey"`
1379* `event.timestamp`:ISO 8601 時間戳記1385* `event.timestamp`:ISO 8601 時間戳記
1380* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1386* `event.sequence`:用於排序事件的每程序計數器,說明請見[事件關聯屬性](#event-correlation-attributes)
1381* `event_type`:調查生命週期事件,例如 `"appeared"`、`"responded"` 或 `"transcript_prompt_appeared"`1387* `event_type`:調查生命週期事件,例如 `"appeared"`、`"responded"` 或 `"transcript_prompt_appeared"`
1382* `appearance_id`:唯一 ID,連結為一個調查實例發出的事件1388* `appearance_id`:用於連結同一調查實例所發出之事件的唯一 ID
1383* `survey_type`:哪個調查產生事件。`"session"` 是「Claude 做得如何?」評分提示1389* `survey_type`:產生此事件的調查。`"session"` 為「How is Claude doing?」評分提示
1384* `response`:使用者在 `responded` 事件上的選擇1390* `response`:使用者在 `responded` 事件中的選擇
1385* `enabled_via_override`:設定 [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/zh-TW/env-vars) 時為 `true`。以布林值而非字串發出。出現在 `session` 調查事件上。可依此屬性篩選,以確認覆寫已套用至整個機群1391* `enabled_via_override`:設定了 [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/zh-TW/env-vars) 時為 `true`。以 Boolean 而非字串發出。出現在 `session` 調查事件上。可依此屬性篩選,以確認覆寫已套用至整個裝置群
1386 1392
1387<h4 id="retention-sweep-event">1393<h4 id="retention-sweep-event">
1388 保留掃描事件1394 保留清理事件
1389</h4>1395</h4>
1390 1396
1391每次執行保留清理掃描時記錄一次,該掃描刪除[工作階段文字記錄和其他應用程式資料](/docs/zh-TW/claude-directory#cleaned-up-automatically)早於 [`cleanupPeriodDays`](/docs/zh-TW/settings-reference#cleanupperioddays) 設定的資料。Claude Code 在背景中最多每個工作階段執行一次掃描,刪除任何內容的執行仍會發出事件。如果 Claude Code 在過去 24 小時內在同一台機器上的任何工作階段中執行了掃描,它會將此工作階段的掃描延遲至少 10 分鐘,因此更早退出的工作階段不發出任何內容。當您使用 `--bare` 執行 `claude -p` 時,Claude Code 不執行掃描且不發出任何內容。1397保留清理作業每執行一次記錄一次,此作業會刪除早於 [`cleanupPeriodDays`](/docs/zh-TW/settings-reference#cleanupperioddays) 設定的[工作階段逐字稿及其他應用程式資料](/docs/zh-TW/claude-directory#cleaned-up-automatically)。Claude Code 在每個工作階段中最多於背景執行一次清理作業,即使某次執行未刪除任何內容也會發出此事件。若 Claude Code 在過去 24 小時內已於同一台電腦上的任何工作階段執行過清理作業,則會將此工作階段的清理作業延後至少 10 分鐘,因此較早結束的工作階段不會發出任何內容。使用 `--bare` 執行 `claude -p` 時,Claude Code 不會執行清理作業,也不會發出任何內容。
1392 1398
1393與此頁面上的每個 OTel 事件一樣,它僅流向您配置的遙測後端。需要 Claude Code v2.1.227 或更新版本。1399如同本頁上的所有 OTel 事件,此事件只會傳送至您設定的遙測後端。需要 Claude Code v2.1.227 或更新版本。
1394 1400
1395當 Claude Code 無法安全地確定保留期時,它會暫停掃描並發出事件,`result` 設定為 `"skipped"` 和 `skip_reason`。當[管理設定](/docs/zh-TW/server-managed-settings)設定 `cleanupPeriodDays` 時,管理值會固定保留期,掃描即使在較低優先級範圍中的設定檔案損壞或無效時也會執行。當 `managed-settings.json` 本身無法讀取時,Claude Code 仍會暫停掃描,除非[管理層](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)從其他地方(例如伺服器管理設定或損壞檔案旁邊的 `managed-settings.d/` 放置)提供 `cleanupPeriodDays`。刪除計數器屬性僅當 `result` 為 `"complete"` 時存在。1401當 Claude Code 無法安全地判斷保留期間時,會暫停清理作業,並發出 `result` 設為 `"skipped"` 且帶有 `skip_reason` 的事件。當[受管設定](/docs/zh-TW/server-managed-settings)設定了 `cleanupPeriodDays` 時,受管的值會固定保留期間,即使較低優先順序範圍中的設定檔損毀或無效,清理作業仍會執行。當 `managed-settings.json` 本身無法讀取時,除非[受管層級](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)從其他來源(例如伺服器受管設定或位於損毀檔案旁的 `managed-settings.d/` 附加檔案)提供 `cleanupPeriodDays`,否則 Claude Code 仍會暫停清理作業。刪除計數器屬性只有在 `result` 為 `"complete"` 時才會出現。
1396 1402
1397**事件名稱**:`claude_code.retention_sweep`1403**事件名稱**:`claude_code.retention_sweep`
1398 1404
1401* 所有[標準屬性](#standard-attributes)1407* 所有[標準屬性](#standard-attributes)
1402* `event.name`:`"retention_sweep"`1408* `event.name`:`"retention_sweep"`
1403* `event.timestamp`:ISO 8601 時間戳記1409* `event.timestamp`:ISO 8601 時間戳記
1404* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1410* `event.sequence`:用於排序事件的每程序計數器,說明請見[事件關聯屬性](#event-correlation-attributes)
1405* `result`:掃描執行時為 `"complete"`,Claude Code 暫停時為 `"skipped"`1411* `result`:清理作業已執行時為 `"complete"`,Claude Code 暫停時為 `"skipped"`
1406* `period_days`:合併設定中的 `cleanupPeriodDays` 值(以天為單位),或當沒有來源設定時為 `30`。在跳過的事件上,掃描會使用的值,從 Claude Code 可以讀取的設定來源計算1412* `period_days`:合併設定中的 `cleanupPeriodDays` 值(以天為單位),若沒有任何來源設定則為 `30`。在略過的事件中,此值為清理作業原本會使用的值,根據 Claude Code 能夠讀取的設定來源計算而得
1407* `used_default`:當沒有可讀的設定來源設定 `cleanupPeriodDays` 時為 `"true"`,否則為 `"false"`。在完成事件上,`"true"` 表示應用了 30 天預設值1413* `used_default`:沒有任何可讀取的設定來源設定 `cleanupPeriodDays` 時為 `"true"`,否則為 `"false"`。在完成的事件中,`"true"` 表示套用了 30 天的預設值
1408* `skip_reason`:Claude Code 暫停掃描的原因。僅當 `result` 為 `"skipped"` 時存在:1414* `skip_reason`:Claude Code 暫停清理作業的原因。僅在 `result` 為 `"skipped"` 時出現:
1409 * `"user_source_disabled"`:使用者設定被排除,例如通過 [`--setting-sources`](/docs/zh-TW/cli-reference#cli-flags) 標誌或 SDK 的 [`settingSources`](/docs/zh-TW/agent-sdk/typescript#options) 選項,且沒有啟用的來源提供 `cleanupPeriodDays`1415 * `"user_source_disabled"`:使用者設定被排除,例如透過 [`--setting-sources`](/docs/zh-TW/cli-reference#cli-flags) 旗標或 SDK 的 [`settingSources`](/docs/zh-TW/agent-sdk/typescript#options) 選項,且沒有任何已啟用的來源提供 `cleanupPeriodDays`
1410 * `"settings_unknowable"`:設定檔案無法讀取或解析,因此 `cleanupPeriodDays` 或 `desktopSessionCleanupPeriodDays` 可能設定為 Claude Code 無法看到的值1416 * `"settings_unknowable"`:某個設定檔無法讀取或剖析,因此 `cleanupPeriodDays` 或 `desktopSessionCleanupPeriodDays` 可能被設為 Claude Code 看不到的值
1411 * `"settings_invalid_key_set"`:設定有驗證錯誤且 `cleanupPeriodDays` 或 `desktopSessionCleanupPeriodDays` 被明確設定,因此回退到預設值可能會刪除或保留違反該設定的檔案1417 * `"settings_invalid_key_set"`:設定有驗證錯誤,且明確設定了 `cleanupPeriodDays` 或 `desktopSessionCleanupPeriodDays`,因此改用預設值可能會違反該設定而刪除或保留檔案
1412* `transcripts_deleted`:掃描刪除的工作階段文字記錄數,頂級 `~/.claude/projects/*/*.jsonl` 檔案1418* `transcripts_deleted`:清理作業刪除的工作階段逐字稿(即頂層的 `~/.claude/projects/*/*.jsonl` 檔案)數量
1413* `transcripts_exempted_desktop`:超過保留期的文字記錄數,掃描在 [Claude Desktop 和 Cowork 規則](/docs/zh-TW/claude-directory#cleaned-up-automatically)下保留。這些不計入 `files_past_cutoff`。需要 Claude Code v2.1.248 或更新版本1419* `transcripts_exempted_desktop`:已超過保留期間、但清理作業依 [Claude Desktop 與 Cowork 規則](/docs/zh-TW/claude-directory#cleaned-up-automatically)保留的逐字稿數量。這些不計入 `files_past_cutoff`。需要 Claude Code v2.1.248 或更新版本
1414* `session_files_deleted`:工作階段檔案掃描刪除的項目數:文字記錄加上每個工作階段的伴隨檔案,例如邊車、錄製和工具結果1420* `session_files_deleted`:工作階段檔案清理作業刪除的 artifact 數量:逐字稿加上每個工作階段的附屬檔案,例如 sidecar、錄製內容與工具結果
1415* `artifacts_deleted`:掃描跨越的資料目錄中刪除的總項目,包括工作階段檔案。某些掃描將整個移除的目錄樹計為一項,少數清理通過不貢獻計數器,因此將該值視為下限而不是確切的檔案計數1421* `artifacts_deleted`:清理作業在其涵蓋的資料目錄中刪除的項目總數,包括工作階段檔案。部分清理作業會將整個移除的目錄樹計為一個項目,且少數清理流程不會計入此計數器,因此請將此值視為下限,而非精確的檔案數量
1416* `files_retained_fresh`:檢查並保留在原位的檔案,因為它們仍在保留期內。只有每個檔案掃描計算這些,因此該值是下限;非零值是正常的穩定狀態1422* `files_retained_fresh`:已檢查但因仍在保留期間內而保留的檔案。只有逐檔案的清理作業會計入這些檔案,因此此值為下限;非零值為正常的穩定狀態
1417* `files_past_cutoff`:早於保留期但清理未能刪除的檔案,例如因權限錯誤或檔案被開啟佔用。此計數也包括清理在 `skills/synced/` 或 `plugins/synced/` 下找到的每個過時資料夾,無論是否已將該資料夾移至垃圾桶。除了這些資料夾之外,大於零的值表示有檔案超過了設定的保留期仍然存在;零並不能證明沒有這種情況,因為移除整個目錄失敗會改計入 `error_count`1423* `files_past_cutoff`:早於保留期間但清理作業未能刪除的檔案,例如因權限錯誤或檔案被開啟佔用。此計數也包含清理作業在 `skills/synced/` 或 `plugins/synced/` 下找到的每個過時資料夾,無論是否將該資料夾移至垃圾桶。除了這些資料夾之外,大於零的值表示有檔案超過了所設定的保留期間;零並不能證明沒有檔案超過,因為移除整個目錄失敗時會改計入 `error_count`
1418* `error_count`:掃描在列出或刪除檔案時遇到的錯誤數1424* `error_count`:清理作業在列出或刪除檔案時遇到的錯誤數量
1419 1425
1420<h4 id="managed-settings-resolved-event">1426<h4 id="managed-settings-resolved-event">
1421 管理設定已解析事件1427 受管設定解析事件
1422</h4>1428</h4>
1423 1429
1424使用工作階段解析的[管理設定](/docs/zh-TW/managed-settings)記錄:在工作階段開始時一次,當管理設定或[原則協助程式](/docs/zh-TW/managed-settings#compute-the-policy-with-a-helper-program)的狀態在工作階段期間變更時再次,以及當 Claude Code 拒絕啟動或因 `error.type` 屬性列出的原因之一而結束工作階段時。1430隨工作階段所解析的[受管設定](/docs/zh-TW/managed-settings)一併記錄:於工作階段開始時記錄一次,在工作階段期間受管設定或[政策輔助程式](/docs/zh-TW/managed-settings#compute-the-policy-with-a-helper-program)的狀態變更時再次記錄,以及當 Claude Code 因 `error.type` 屬性所列的原因之一而拒絕啟動或結束工作階段時記錄。
1425使用此事件尋找在意外管理來源上執行的機器、原則協助程式失敗的機器以及機器拒絕啟動的原因。1431可使用此事件找出在非預期受管來源上執行的電腦、政策輔助程式失敗的電腦,以及電腦拒絕啟動的原因。
1426需要 Claude Code v2.1.274 或更新版本。1432需要 Claude Code v2.1.274 或更新版本。
1427 1433
1428預設情況下,事件攜帶管理來源和原則協助程式的狀態,但不攜帶設定本身。要新增編輯的 `managed_settings.settings` 屬性和 `managed_settings.resolved_sha256` 摘要,請設定 `OTEL_LOG_MANAGED_SETTINGS=1`:1434根據預設,此事件會包含受管來源與政策輔助程式的狀態,但不包含設定本身。若要加入經過遮蔽的 `managed_settings.settings` 屬性與 `managed_settings.resolved_sha256` 摘要,請設定 `OTEL_LOG_MANAGED_SETTINGS=1`:
1429 1435
1430* 在管理設定、使用者設定或 `--settings` 的 `env` 區塊中設定它,或在您啟動 Claude Code 的環境中設定。專案或本地設定中的值不會啟用它,因為複製的儲存庫可以寫入它們。1436* 在受管設定、使用者設定或 `--settings` 的 `env` 區塊中設定,或在啟動 Claude Code 的環境中設定。在專案或本機設定中設定此值不會啟用它,因為複製的儲存庫可以寫入這些設定。
1431* 伺服器管理設定可以在不顯示[安全核准對話框](/docs/zh-TW/server-managed-settings#security-approval-dialogs)的情況下設定它,因為變數僅將您組織自己的編輯原則新增到您的組織已接收的事件。1437* 伺服器受管設定可以設定此值而不顯示[安全性核准對話方塊](/docs/zh-TW/server-managed-settings#security-approval-dialogs),因為此變數只會將您組織自己經過遮蔽的政策加入您組織已經會收到的事件中。
1432 1438
1433在您尚未[信任](/docs/zh-TW/permissions#what-runs-before-you-trust-a-folder)的資料夾中的互動工作階段中,Claude Code 不匯出拒絕事件。1439在您尚未[信任](/docs/zh-TW/permissions#what-runs-before-you-trust-a-folder)的資料夾中的互動式工作階段,Claude Code 不會匯出拒絕事件。
1434 1440
1435**事件名稱**:`claude_code.managed_settings_resolved`1441**事件名稱**:`claude_code.managed_settings_resolved`
1436 1442
1439* 所有[標準屬性](#standard-attributes)1445* 所有[標準屬性](#standard-attributes)
1440* `event.name`:`"managed_settings_resolved"`1446* `event.name`:`"managed_settings_resolved"`
1441* `event.timestamp`:ISO 8601 時間戳記1447* `event.timestamp`:ISO 8601 時間戳記
1442* `event.sequence`:用於排序事件的每個程序計數器,在[事件相關屬性](#event-correlation-attributes)下描述1448* `event.sequence`:用於排序事件的每程序計數器,說明請見[事件關聯屬性](#event-correlation-attributes)
1443* `managed_settings.trigger`:工作階段啟動事件為 `"startup"`,當管理設定或原則協助程式的狀態在工作階段稍後變更時為 `"change"`,或當管理設定原則停止工作階段時為 `"refused"`。Claude Code 僅在屬性與它發送的最後一個事件不同時發送 `change` 事件,變更的設定值計數即使 `OTEL_LOG_MANAGED_SETTINGS` 關閉1449* `managed_settings.trigger`:工作階段開始事件為 `"startup"`,在工作階段後續受管設定或政策輔助程式狀態變更時為 `"change"`,受管設定政策停止工作階段時為 `"refused"`。只有當某個屬性與上次傳送的事件不同時,Claude Code 才會傳送 `change` 事件;即使 `OTEL_LOG_MANAGED_SETTINGS` 未開啟,設定值的變更也會計入
1444* `error.type`:Claude Code 停止工作階段的原因。僅在 `refused` 事件上存在:1450* `error.type`:Claude Code 停止工作階段的原因。僅出現在 `refused` 事件上:
1445 * `"helper_failed"`:[原則協助程式執行失敗](/docs/zh-TW/settings-reference#helper-failures)1451 * `"helper_failed"`:[政策輔助程式執行失敗](/docs/zh-TW/settings-reference#helper-failures)
1446 * `"policy_invalid"`:管理設定包含停止 Claude Code 啟動的錯誤,或管理來源無法載入,因此 Claude Code 無法檢查組織登入強制執行1452 * `"policy_invalid"`:受管設定包含會阻止 Claude Code 啟動的錯誤,或某個管理來源因讀取被拒以外的原因而載入失敗,導致 Claude Code 無法檢查組織登入或提供者強制規定
1447 * `"provider_not_allowed"`:工作階段會使用 API 提供者,或將提供者的流量發送到管理 [`allowedProviders`](/docs/zh-TW/settings-reference#allowedproviders) 列表不允許的主機。需要 Claude Code v2.1.285 或更新版本1453 * `"provider_not_allowed"`:工作階段會使用受管 [`allowedProviders`](/docs/zh-TW/settings-reference#allowedproviders) 清單不允許的 API 提供者,或將某個提供者的流量傳送至不允許的主機。需要 Claude Code v2.1.285 或更新版本
1448 * `"consent_rejected"`:使用者拒絕了伺服器管理設定的[安全核准對話框](/docs/zh-TW/server-managed-settings#security-approval-dialogs)1454 * `"consent_rejected"`:使用者拒絕了伺服器受管設定的[安全性核准對話方塊](/docs/zh-TW/server-managed-settings#security-approval-dialogs)
1449 * `"force_refresh_failed"`:[`forceRemoteSettingsRefresh`](/docs/zh-TW/settings-reference#forceremotesettingsrefresh) 需要的設定擷取失敗1455 * `"force_refresh_failed"`:[`forceRemoteSettingsRefresh`](/docs/zh-TW/settings-reference#forceremotesettingsrefresh) 所要求的設定擷取失敗
1450 * `"gateway_rejected"`:[Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)以 HTTP 403 回答管理設定載入1456 * `"gateway_rejected"`:[Claude apps 閘道](/docs/zh-TW/claude-apps-gateway)以 HTTP 403 回應受管設定載入
1451 * `"version_below_minimum"`:此版本的 Claude Code 低於 [`requiredMinimumVersion`](/docs/zh-TW/settings-reference#requiredminimumversion) 或高於 [`requiredMaximumVersion`](/docs/zh-TW/settings-reference#requiredmaximumversion)1457 * `"version_below_minimum"`:此版本的 Claude Code 低於 [`requiredMinimumVersion`](/docs/zh-TW/settings-reference#requiredminimumversion) 或高於 [`requiredMaximumVersion`](/docs/zh-TW/settings-reference#requiredmaximumversion)
1452 * `"_OTHER"`:Claude 應用程式閘道管理設定載入因另一個原因失敗1458 * `"_OTHER"`:Claude apps 閘道的受管設定載入因其他原因失敗
1453* `managed_settings.sources`:每個傳遞至少一個[原則鍵](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)的管理來源,優先級最高優先,包括其鍵在 `first-wins` 下不生效的來源。值為 `"remote"`、`"plist"` 或 `"hklm"` 用於 MDM 或 OS 級原則、`"file"` 用於管理設定檔案和放置、`"parent"` 當[嵌入主機](/docs/zh-TW/managed-settings#let-an-embedding-host-add-policy)提供設定時,以及 `"hkcu"` 用於 [Windows HKCU 登錄值](/docs/zh-TW/managed-settings#where-each-mechanism-stores-the-policy)當 Claude Code [讀取它](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)時。僅攜帶控制鍵或 Claude Code 無法讀取的來源不列出。作為字串陣列發出,當沒有管理來源傳遞原則鍵時為空1459* `managed_settings.sources`:所有提供至少一個[政策鍵](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)的受管來源,依優先順序由高至低排列,包括在 `first-wins` 下其鍵未生效的來源。值包括:MDM 或作業系統層級政策的 `"remote"`、`"plist"` 或 `"hklm"`,受管設定檔與附加檔案的 `"file"`,[嵌入主機](/docs/zh-TW/managed-settings#let-an-embedding-host-add-policy)提供設定時的 `"parent"`,以及 Claude Code [讀取](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)[Windows HKCU 登錄值](/docs/zh-TW/managed-settings#where-each-mechanism-stores-the-policy)時的 `"hkcu"`。僅包含控制鍵的來源,或 Claude Code 無法讀取的來源,不會列出。以字串陣列發出,若沒有任何受管來源提供政策鍵則為空陣列
1454* `managed_settings.source_behavior`:Claude Code 讀取的 [`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior) 值,`"first-wins"` 或 `"merge"`。當沒有來源設定鍵時為 `"first-wins"`1460* `managed_settings.source_behavior`:Claude Code 讀取到的 [`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior) 值,為 `"first-wins"` 或 `"merge"`。沒有任何來源設定此鍵時為 `"first-wins"`
1455* `managed_settings.helper.state`:所選 MDM 或檔案來源配置的原則協助程式的狀態:1461* `managed_settings.helper.state`:所選 MDM 或檔案來源所設定之政策輔助程式的狀態:
1456 * `"ok"`:協助程式的輸出用作管理設定1462 * `"ok"`:輔助程式的輸出作為受管設定使用
1457 * `"bad_path"`、`"not_a_file"`、`"exit_nonzero"`、`"timed_out"`、`"oversize"`、`"parse_failed"`、`"envelope_invalid"` 或 `"schema_rejected"`:協助程式的最後一次執行失敗。[協助程式失敗](/docs/zh-TW/settings-reference#helper-failures)描述案例1463 * `"bad_path"`、`"not_a_file"`、`"exit_nonzero"`、`"timed_out"`、`"oversize"`、`"parse_failed"`、`"envelope_invalid"` 或 `"schema_rejected"`:輔助程式最近一次執行失敗。[輔助程式失敗](/docs/zh-TW/settings-reference#helper-failures)說明了各種情況
1458 * `"none"`:未配置協助程式,或配置它的來源不是 MDM 原則或管理設定檔案1464 * `"none"`:未設定輔助程式,或設定它的來源不是 MDM 政策或受管設定檔
1459* `managed_settings.helper.applied`:當協助程式自己的輸出用作管理設定時為 `"output"`,當它不時為 `"none"`1465* `managed_settings.helper.applied`:當輔助程式本身的輸出作為受管設定使用時為 `"output"`,否則為 `"none"`
1460* `managed_settings.helper.entry`:當 Claude Code 選擇 [`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 時為 `"policyHelper"`。當它選擇沒有協助程式時不存在1466* `managed_settings.helper.entry`:Claude Code 選取了 [`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 時為 `"policyHelper"`。未選取任何輔助程式時不會出現
1461* `managed_settings.helper.path`:協助程式的配置 [`path`](/docs/zh-TW/settings-reference#policyhelper-path)。每當 Claude Code 選擇協助程式時存在,無論 `OTEL_LOG_MANAGED_SETTINGS` 是否設定1467* `managed_settings.helper.path`:輔助程式所設定的 [`path`](/docs/zh-TW/settings-reference#policyhelper-path)。只要 Claude Code 選取了輔助程式就會出現,無論是否設定 `OTEL_LOG_MANAGED_SETTINGS`
1462* `managed_settings.resolved_sha256`(當 `OTEL_LOG_MANAGED_SETTINGS=1` 時):編輯前解析的管理設定的 SHA-256,序列化為 JSON,鍵遞迴排序且無空白。具有相同摘要的機器執行相同的原則。Claude Code 僅使用選擇發送摘要,因為短原則可以通過雜湊猜測恢復。當沒有管理設定解析時不存在,以及在 `refused` 事件上不存在1468* `managed_settings.resolved_sha256`(當 `OTEL_LOG_MANAGED_SETTINGS=1` 時):遮蔽前已解析受管設定的 SHA-256,以遞迴排序鍵且不含空白的 JSON 序列化後計算。摘要相同的電腦執行相同的政策。Claude Code 僅在選擇啟用時才傳送摘要,因為較短的政策可以透過雜湊猜測值而被還原。沒有解析任何受管設定時不會出現,在 `refused` 事件上也不會出現
1463* `managed_settings.settings`(當 `OTEL_LOG_MANAGED_SETTINGS=1` 時):解析的管理設定的名稱和形狀作為 JSON 字串,值編輯。在 `refused` 事件上不存在。Claude Code 從其設定架構構建它:1469* `managed_settings.settings`(當 `OTEL_LOG_MANAGED_SETTINGS=1` 時):已解析受管設定的名稱與結構,以 JSON 字串表示,值經過遮蔽。在 `refused` 事件上不會出現。Claude Code 依據其設定 schema 建置此值:
1464 1470
1465 * 架構宣告的設定名稱被匯出,它不宣告的鍵被遺漏1471 * schema 宣告的設定名稱會被匯出,schema 未宣告的鍵則會被省略
1466 * 布林值、數字和架構限制為固定選項集的字串值,例如 `permissions.defaultMode`,按原樣匯出。`sandbox.network.httpProxyPort` 和 `sandbox.network.socksProxyPort` 匯出為 `"[REDACTED]"`1472 * Boolean、數字,以及 schema 限制為固定選項集合的字串值(例如 `permissions.defaultMode`)會原樣匯出。`sandbox.network.httpProxyPort` 與 `sandbox.network.socksProxyPort` 會匯出為 `"[REDACTED]"`
1467 * 每個其他字串,例如 `model`、`apiKeyHelper`、每個 `env` 值、每個 URL 和每個命令,匯出為 `"[REDACTED]"`1473 * 其他所有字串,例如 `model`、`apiKeyHelper`、每個 `env` 值、每個 URL 與每個命令,都會匯出為 `"[REDACTED]"`
1468 * 地圖的項目名稱,例如 `env` 變數名稱和外掛程式 ID,按原樣匯出。架構不鍵入其項目的設定,例如 `vimInsertModeRemaps`,匯出為單個 `"[REDACTED]"`,`sandbox.ignoreViolations` 匯出為其路徑列表的列表,不含命令模式1474 * 對應表的項目名稱,例如 `env` 變數名稱與外掛 ID,會原樣匯出。schema 未定義其項目類型的設定(例如 `vimInsertModeRemaps`)會匯出為單一的 `"[REDACTED]"`,而 `sandbox.ignoreViolations` 會匯出為其路徑清單的清單,不含命令模式
1469 * 列表保留其長度,每個項目按相同規則編輯1475 * 清單會保留其長度,每個項目依相同規則遮蔽
1470 * `permissions.allow`、`permissions.deny` 或 `permissions.ask` 規則匯出為其工具名稱,內容編輯,例如 `Read([REDACTED])`,當工具內建於此版本的 Claude Code 或是 `mcp__` 參考(例如 `mcp__jira__create_issue`)時。任何其他規則匯出為 `"[REDACTED]"`1476 * 當工具內建於此版本的 Claude Code,或為 `mcp__` 參照(例如 `mcp__jira__create_issue`)時,`permissions.allow`、`permissions.deny` 或 `permissions.ask` 規則會匯出為其工具名稱並遮蔽內容,例如 `Read([REDACTED])`。其他任何規則都會匯出為 `"[REDACTED]"`
1471 * 鉤子遵循相同規則,因此固定選項和數字欄位(例如 `type` 和 `timeout`)顯示,而每個命令、URL、`matcher` 和 `if` 條件匯出為 `"[REDACTED]"`1477 * hook 遵循相同規則,因此固定選項與數值欄位(例如 `type` 與 `timeout`)會顯示,而每個命令、URL、`matcher` 與 `if` 條件都會匯出為 `"[REDACTED]"`
1472 1478
1473 例如,具有 `apiKeyHelper`、兩個 `env` 變數和拒絕規則的管理設定匯出為 `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}`.1479 例如,包含 `apiKeyHelper`、兩個 `env` 變數與一條拒絕規則的受管設定會匯出為 `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}`。
1474 1480
1475 Claude Code 在 8 KB UTF-8 處切割值,切割值不是有效的 JSON1481 Claude Code 會在 UTF-8 編碼 8 KB 處截斷此值,截斷後的值不是有效的 JSON
1476* `managed_settings.settings_truncated`(當 `managed_settings.settings` 存在時):當 Claude Code 在 8 KB 處截斷 `managed_settings.settings` 時為 `true`,否則為 `false`。以布林值而非字串發出1482* `managed_settings.settings_truncated`(當 `managed_settings.settings` 存在時):Claude Code 在 8 KB 處截斷 `managed_settings.settings` 時為 `true`,否則為 `false`。以 Boolean 而非字串發出
1477 1483
1478<h2 id="interpret-metrics-and-events-data">1484<h2 id="interpret-metrics-and-events-data">
1479 解釋指標和事件資料1485 解釋指標和事件資料
1528 1534
1529Claude Code 在內部重試失敗的 API 請求,並僅在放棄後才發出單個 `claude_code.api_error` 事件,因此事件本身是該請求的終端訊號。中間重試嘗試不會作為單獨的事件記錄。1535Claude Code 在內部重試失敗的 API 請求,並僅在放棄後才發出單個 `claude_code.api_error` 事件,因此事件本身是該請求的終端訊號。中間重試嘗試不會作為單獨的事件記錄。
1530 1536
1531事件上的 `attempt` 屬性記錄進行的嘗試總次數。`CLAUDE_CODE_MAX_RETRIES` 預設為 10,上限為 15。在 v2.1.199 或更新版本上,您可以設定 `CLAUDE_CODE_RETRY_WATCHDOG` 以提高預設值並移除上限。1537事件上的 `attempt` 屬性記錄嘗試次數。`CLAUDE_CODE_MAX_RETRIES` 預設為 10,上限為 15。在 v2.1.199 或更新版本上,您可以設定 `CLAUDE_CODE_RETRY_WATCHDOG` 以提高預設值並移除上限。
1538
1539當請求在暫時性錯誤上耗盡所有重試時,`attempt` 最多為該有效限制加一:預設為 11。
1532 1540
1533當請求在暫時性錯誤上耗盡所有重試時,`attempt` 等於該有效限制加一:預設為 11,除非設定了看門狗,否則永遠不超過 16。較低的值表示不可重試的錯誤,例如 `400` 回應,或具有自己較小重試預算的原因。例如,Claude Code 最多重試兩次載入 AWS 或 Google Cloud 認證的失敗。1541較低的值仍可能表示重試已用盡:每次 Claude Code 在串流失敗後重新發出請求時,`attempt` 都會從 `1` 重新開始計算。
1534 1542
1535若要區分從一個恢復的工作階段與停滯的工作階段,請按 `session.id` 分組事件,並檢查錯誤後是否存在更晚的 `api_request` 事件。1543若要區分從一個恢復的工作階段與停滯的工作階段,請按 `session.id` 分組事件,並檢查錯誤後是否存在更晚的 `api_request` 事件。
1536 1544
1699 1707
1700您選擇的指標、日誌和追蹤後端決定了您可以執行的分析類型:1708您選擇的指標、日誌和追蹤後端決定了您可以執行的分析類型:
1701 1709
1702<h3 id="for-metrics">1710<span id="for-metrics" />
1703 對於指標1711
1712<h3 id="backends-for-metrics">
1713 指標後端
1704</h3>1714</h3>
1705 1715
1706* **時間序列資料庫**:速率計算、聚合指標1716* **時間序列資料庫**:速率計算、聚合指標
1707* **欄式存儲**:複雜查詢、唯一使用者分析1717* **欄式存儲**:複雜查詢、唯一使用者分析
1708* **功能完整的可觀測性平台**:進階查詢、視覺化、警報1718* **功能完整的可觀測性平台**:進階查詢、視覺化、警報
1709 1719
1710<h3 id="for-events/logs">1720<span id="for-events/logs" />
1711 對於事件/日誌1721
1722<h3 id="backends-for-events-and-logs">
1723 事件和日誌後端
1712</h3>1724</h3>
1713 1725
1714* **日誌聚合系統**:全文搜尋、日誌分析1726* **日誌聚合系統**:全文搜尋、日誌分析
1715* **欄式存儲**:結構化事件分析1727* **欄式存儲**:結構化事件分析
1716* **功能完整的可觀測性平台**:指標和事件之間的關聯1728* **功能完整的可觀測性平台**:指標和事件之間的關聯
1717 1729
1718<h3 id="for-traces">1730<span id="for-traces" />
1719 對於追蹤1731
1732<h3 id="backends-for-traces">
1733 追蹤後端
1720</h3>1734</h3>
1721 1735
1722選擇支援分散式追蹤儲存和跨度關聯的後端:1736選擇支援分散式追蹤儲存和跨度關聯的後端: