命令列工具
agentclientprotocol/agent-client-protocol avatar
agentclientprotocol/agent-client-protocol

Agent Client Protocol:編輯器與智能代理通訊的標準

此專案圍繞「agentclientprotocol/agent-client-protocol」建置,面向真實業務場景,提供可重複使用、可持續維運的開源實作。

4,233 個 Star388 個 ForkRustApache-2.0

秒懂

它是什麼?
Agent Client Protocol (ACP) 定義了一種線格式,使任何程式碼編輯器都能與任何編碼智能代理通訊。 本文聚焦其核心介面、部署邊界、版本訊號與實際核驗方式。
適合誰用?
Agent Client Protocol 為編輯器和 AI 代理提供了標準化的通訊層,擁有獨立的工件與線協定版本管理,並提供了多種語言的官方 SDK。 適合已能提供相容執行環境、願意依 agentclientprotocol/agent-client-protocol README 逐項核對的人;不適合把文件摘要當成生產承諾的團隊。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 Rust(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

什麼是 Agent Client Protocol

Agent Client Protocol (ACP) 標準化了程式碼編輯器與編碼智能代理之間的通訊。程式碼編輯器是用於檢視和編輯原始碼的互動式程式,而編碼智能代理則使用生成式 AI 自主修改程式碼。ACP 定義了交換的訊息格式,包括請求、回應、通知、JSON-RPC 信封以及協定版本協商。這一通用協定允許任何實作了 ACP 的編輯器與任何相容 ACP 的代理協同工作,無論它們內部如何建構。項目的官方網站是 agentclientprotocol.com。

agent-client-protocol 第 1 章的這個邊界需要在實際專案中單獨檢查。先以 README 明列的 agent-client-protocol、main 分支與目前素材記錄的版本訊號建立測試目錄,逐項對照輸入、輸出和錯誤處理。這樣能分辨文件承諾、範例行為與自己加入的整合程式,不會把倉庫統計或描述文字誤當成測試結果。

對 agentclientprotocol/agent-client-protocol 第 1 章而言,最有價值的觀察是功能是否在既有依賴與目標平台上保持可追蹤。請保留實際命令的終端輸出、涉及的檔案路徑和失敗步驟;若 README 沒有說明某個預設值,就標記為未說明,回到 agentclientprotocol/agent-client-protocol 的原始碼、Release 與 issue 查證,而不是自行補出保證。

agentclientprotocol-agent-client-protocol-deep-analysis 第 1 節的具體核對點是 什麼是 Agent Client Protocol。請依文件中的專案名稱、命令、檔案或設定鍵檢查結果,記錄成功與失敗的差異;這個觀察只用來界定本節能力,不延伸成文件沒有承諾的結論。

本倉庫包含的內容

本倉庫包含 Rust crate `agent-client-protocol-schema`,它提供了 ACP 線訊息的 Rust 資料模型,包括請求、回應、通知、JSON-RPC 信封和協定版本類型。另外,生成的 JSON Schema 工件儲存在 `schema/v1` 和 `schema/v2` 目錄中。每當發布新的模式版本時,版本化的 `.json` 檔案會附加到相應的 GitHub Release 上,供 SDK 生成器和自動化工具使用。該 crate 發布在 crates.io 上。對於用 Rust 實作代理或用戶端的開發者,推薦使用更高級的執行時期 crate `agent-client-protocol` 而不是這個低級模式 crate。

agent-client-protocol 第 2 章的這個邊界需要在實際專案中單獨檢查。先以 README 明列的 agent-client-protocol、main 分支與目前素材記錄的版本訊號建立測試目錄,逐項對照輸入、輸出和錯誤處理。這樣能分辨文件承諾、範例行為與自己加入的整合程式,不會把倉庫統計或描述文字誤當成測試結果。

對 agentclientprotocol/agent-client-protocol 第 2 章而言,最有價值的觀察是功能是否在既有依賴與目標平台上保持可追蹤。請保留實際命令的終端輸出、涉及的檔案路徑和失敗步驟;若 README 沒有說明某個預設值,就標記為未說明,回到 agentclientprotocol/agent-client-protocol 的原始碼、Release 與 issue 查證,而不是自行補出保證。

agentclientprotocol-agent-client-protocol-deep-analysis 第 2 節的具體核對點是 本倉庫包含的內容。請依文件中的專案名稱、命令、檔案或設定鍵檢查結果,記錄成功與失敗的差異;這個觀察只用來界定本節能力,不延伸成文件沒有承諾的結論。

版本管理方式

項目明確區分了工件版本管理和線協定版本管理。Rust crate 版本和 JSON Schema 發布版本追蹤模式結構、工件佈局和 Rust API 的變化,它們不直接指示線相容性。ACP 線協定版本透過在 `initialize` 握手時交換 `protocolVersion` 欄位進行協商。當前穩定的協定版本為 1。模式發布可能會重新組織定義或更改命名,而不改變實際傳輸的 JSON 訊息,因此消費者必須使用協商後的 `protocolVersion` 確定線相容性,僅將工件版本用於管理程式碼生成的輸入。

agent-client-protocol 第 3 章的這個邊界需要在實際專案中單獨檢查。先以 README 明列的 agent-client-protocol、main 分支與目前素材記錄的版本訊號建立測試目錄,逐項對照輸入、輸出和錯誤處理。這樣能分辨文件承諾、範例行為與自己加入的整合程式,不會把倉庫統計或描述文字誤當成測試結果。

對 agentclientprotocol/agent-client-protocol 第 3 章而言,最有價值的觀察是功能是否在既有依賴與目標平台上保持可追蹤。請保留實際命令的終端輸出、涉及的檔案路徑和失敗步驟;若 README 沒有說明某個預設值,就標記為未說明,回到 agentclientprotocol/agent-client-protocol 的原始碼、Release 與 issue 查證,而不是自行補出保證。

agentclientprotocol-agent-client-protocol-deep-analysis 第 3 節的具體核對點是 版本管理方式。請依文件中的專案名稱、命令、檔案或設定鍵檢查結果,記錄成功與失敗的差異;這個觀察只用來界定本節能力,不延伸成文件沒有承諾的結論。

官方 SDK 與整合

ACP 項目為五種語言提供了官方 SDK:Kotlin、Java、Python、Rust 和 TypeScript。每個 SDK 倉庫都包含範例程式碼,展示代理和用戶端的使用方法。README 中列出了這些庫的連結:Kotlin 的 `acp-kotlin`、Java 的 `java-sdk`、Python 的 `python-sdk`、Rust 的 `agent-client-protocol` crate 以及 TypeScript 的 `@agentclientprotocol/sdk`。項目網站上還有一個社群庫頁面。JSON Schema 在本倉庫中直接提供,位於 `schema/v1/schema.json`。

agent-client-protocol 第 4 章的這個邊界需要在實際專案中單獨檢查。先以 README 明列的 agent-client-protocol、main 分支與目前素材記錄的版本訊號建立測試目錄,逐項對照輸入、輸出和錯誤處理。這樣能分辨文件承諾、範例行為與自己加入的整合程式,不會把倉庫統計或描述文字誤當成測試結果。

對 agentclientprotocol/agent-client-protocol 第 4 章而言,最有價值的觀察是功能是否在既有依賴與目標平台上保持可追蹤。請保留實際命令的終端輸出、涉及的檔案路徑和失敗步驟;若 README 沒有說明某個預設值,就標記為未說明,回到 agentclientprotocol/agent-client-protocol 的原始碼、Release 與 issue 查證,而不是自行補出保證。

agentclientprotocol-agent-client-protocol-deep-analysis 第 4 節的具體核對點是 官方 SDK 與整合。請依文件中的專案名稱、命令、檔案或設定鍵檢查結果,記錄成功與失敗的差異;這個觀察只用來界定本節能力,不延伸成文件沒有承諾的結論。

許可證與貢獻政策

本倉庫採用 Apache License, Version 2.0 許可。項目不要求貢獻者簽署貢獻者許可協議 (CLA)。相反,貢獻者同意其貢獻將以 Apache 2.0 許可證發布,並確認他們有權提交該工作。README 引用了 CONTRIBUTING.md 檔案,其中描述了提議協定變更的結構化流程。許可證文字授予複製、準備衍生作品、公開展示、表演、再許可和分發該作品的權限。它不提供任何保證或支援。

agent-client-protocol 第 5 章的這個邊界需要在實際專案中單獨檢查。先以 README 明列的 agent-client-protocol、main 分支與目前素材記錄的版本訊號建立測試目錄,逐項對照輸入、輸出和錯誤處理。這樣能分辨文件承諾、範例行為與自己加入的整合程式,不會把倉庫統計或描述文字誤當成測試結果。

對 agentclientprotocol/agent-client-protocol 第 5 章而言,最有價值的觀察是功能是否在既有依賴與目標平台上保持可追蹤。請保留實際命令的終端輸出、涉及的檔案路徑和失敗步驟;若 README 沒有說明某個預設值,就標記為未說明,回到 agentclientprotocol/agent-client-protocol 的原始碼、Release 與 issue 查證,而不是自行補出保證。

agentclientprotocol-agent-client-protocol-deep-analysis 第 5 節的具體核對點是 許可證與貢獻政策。請依文件中的專案名稱、命令、檔案或設定鍵檢查結果,記錄成功與失敗的差異;這個觀察只用來界定本節能力,不延伸成文件沒有承諾的結論。

入門指導

README 中沒有包含詳細的入門指南。對於 Rust 開發者,推薦的起點是 `agent-client-protocol` 執行時期 crate,其中包含代理和用戶端的範例檔案。使用其他語言的開發者應查閱 README 中列出的官方 SDK 倉庫以獲取範例和設定說明。JSON Schema 檔案可與任何支援 JSON Schema 的程式碼生成器一起使用。本倉庫未記錄執行、安裝或設定 ACP 代理或用戶端的具體命令;使用者應參考各個 SDK 的文件或項目網站 agentclientprotocol.com。

agent-client-protocol 第 6 章的這個邊界需要在實際專案中單獨檢查。先以 README 明列的 agent-client-protocol、main 分支與目前素材記錄的版本訊號建立測試目錄,逐項對照輸入、輸出和錯誤處理。這樣能分辨文件承諾、範例行為與自己加入的整合程式,不會把倉庫統計或描述文字誤當成測試結果。

對 agentclientprotocol/agent-client-protocol 第 6 章而言,最有價值的觀察是功能是否在既有依賴與目標平台上保持可追蹤。請保留實際命令的終端輸出、涉及的檔案路徑和失敗步驟;若 README 沒有說明某個預設值,就標記為未說明,回到 agentclientprotocol/agent-client-protocol 的原始碼、Release 與 issue 查證,而不是自行補出保證。

agentclientprotocol-agent-client-protocol-deep-analysis 第 6 節的具體核對點是 入門指導。請依文件中的專案名稱、命令、檔案或設定鍵檢查結果,記錄成功與失敗的差異;這個觀察只用來界定本節能力,不延伸成文件沒有承諾的結論。

編輯結論

Agent Client Protocol 為編輯器和 AI 代理提供了標準化的通訊層,擁有獨立的工件與線協定版本管理,並提供了多種語言的官方 SDK。 適合已能提供相容執行環境、願意依 agentclientprotocol/agent-client-protocol README 逐項核對的人;不適合把文件摘要當成生產承諾的團隊。先在隔離目錄依專案自己的入口跑最小案例,檢查 agent-client-protocol 的實際輸出、錯誤訊息與設定檔,再決定是否接入正式流程。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記