acpx:面向有狀態 ACP 工作階段的無頭命令列用戶端
用於有狀態代理客戶端協定 (ACP) 會話的無頭 CLI 用戶端。
秒懂
- 它是什麼?
- 一個 TypeScript 用戶端,為 agent、編排器和開發者提供持久工作階段、一次性執行和機器可讀輸出的統一介面。
- 適合誰用?
- 這篇文章適合需要評估 openclaw/acpx README 所描述工作流程的讀者,不適合把未載明的效能或部署承諾當成既定事實。開始前先依專案自己的命令、輸入檔與設定鍵做一次隔離核對,確認輸出符合你的具體流程,再決定是否納入正式環境。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫在最近一天內有新的提交。
- 用什麼語言寫的?
- 主要是 TypeScript(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
面向 Agent Client Protocol 的命令列用戶端
acpx 是 Agent Client Protocol(ACP)的無頭命令列用戶端,使用 TypeScript 編寫。README 將它的定位描述為:讓 agent、編排器和開發者透過一個結構化介面,在相容 ACP 的編碼 agent 上使用持久工作階段、一次性執行、權限和機器可讀輸出。README 明確提示 acpx 處於 pre-1.0 階段,CLI 和執行時期介面仍會演變。倉庫位於 openclaw/acpx,主頁是 acpx.sh。除了命令列用法,README 沒有提供任何效能基準、安全稽核或生產環境驗證結果,因此這些方面不在這篇文章的範圍內。
openclaw/acpx 的第 1 個核對面向,應以本章提到的 README 介面作為邊界。回到 openclaw/acpx 的 README,逐一查看本章涉及的命令、輸入格式、設定鍵或範例檔案,並把實際輸出與錯誤訊息分開記錄。素材沒有說明的作業系統、效能、相容性或服務承諾,不在本文替它補成結論。
若要做小規模核對,請從 acpx 已列出的入口開始,保留使用的參數與輸出路徑。這樣可以判斷第 1 章所談的功能是否能接入你的流程,也能看出缺少哪一項依賴;一次成功執行仍只代表這組輸入可行,不能推導出 README 未寫出的保證。
在 openclaw/acpx 的實際紀錄中,應特別標記第 1 章的輸入、輸出與失敗訊息。若章節提到設定檔,就檢查該檔案的欄位;若提到命令,就保存完整命令列。這些具體資料比抽象的採用判斷更能說明 acpx 是否適合目前任務。
安裝方式和 Node 版本要求
README 給出的安裝方式是把 npm 套件全域安裝:`npm install -g acpx@latest`。它要求 Node.js 22.13 或更新版本。如果不想全域安裝,可以在命令前加 `npx acpx@latest` 來暫時使用。安裝指南位於 docs/install.md,涵蓋適配器前置條件、更新和原始碼建置。README 沒有給出 acpx 的目前版本號,也沒有說明各作業系統上的具體安裝差異。對於非 npm 的套件管理器,例如 pnpm 或 yarn,README 同樣沒有提及。開發環境使用 pnpm,但安裝步驟只寫了 npm。
openclaw/acpx 的第 2 個核對面向,應以本章提到的 README 介面作為邊界。回到 openclaw/acpx 的 README,逐一查看本章涉及的命令、輸入格式、設定鍵或範例檔案,並把實際輸出與錯誤訊息分開記錄。素材沒有說明的作業系統、效能、相容性或服務承諾,不在本文替它補成結論。
若要做小規模核對,請從 acpx 已列出的入口開始,保留使用的參數與輸出路徑。這樣可以判斷第 2 章所談的功能是否能接入你的流程,也能看出缺少哪一項依賴;一次成功執行仍只代表這組輸入可行,不能推導出 README 未寫出的保證。
在 openclaw/acpx 的實際紀錄中,應特別標記第 2 章的輸入、輸出與失敗訊息。若章節提到設定檔,就檢查該檔案的欄位;若提到命令,就保存完整命令列。這些具體資料比抽象的採用判斷更能說明 acpx 是否適合目前任務。
建立工作階段並傳送提示
快速開始部分假設你已經安裝並認證了要使用的編碼 agent。在專案目錄中,`acpx codex sessions new` 會建立一個工作階段並輸出工作階段 ID;隨後 `acpx codex "find the slowest test and explain why"` 會向該工作階段傳送提示。工作階段限定在目前儲存庫內,並且會跨呼叫持久存在。README 特別指出,明確建立工作階段可以避免自動化意外啟動一段新對話。它還連結到 quickstart 文件,繼續介紹命名工作階段、一次性執行、歷史和 JSON 輸出。如果 agent 尚未認證,README 沒有給出具體的認證命令,而是指向安裝指南和 agent 文件。
openclaw/acpx 的第 3 個核對面向,應以本章提到的 README 介面作為邊界。回到 openclaw/acpx 的 README,逐一查看本章涉及的命令、輸入格式、設定鍵或範例檔案,並把實際輸出與錯誤訊息分開記錄。素材沒有說明的作業系統、效能、相容性或服務承諾,不在本文替它補成結論。
若要做小規模核對,請從 acpx 已列出的入口開始,保留使用的參數與輸出路徑。這樣可以判斷第 3 章所談的功能是否能接入你的流程,也能看出缺少哪一項依賴;一次成功執行仍只代表這組輸入可行,不能推導出 README 未寫出的保證。
在 openclaw/acpx 的實際紀錄中,應特別標記第 3 章的輸入、輸出與失敗訊息。若章節提到設定檔,就檢查該檔案的欄位;若提到命令,就保存完整命令列。這些具體資料比抽象的採用判斷更能說明 acpx 是否適合目前任務。
內建 agent 配置和自訂伺服器
README 列出四個內建啟動配置:`acpx codex`、`acpx claude`、`acpx gemini` 和 `acpx openclaw`,另外還有自訂形式 `acpx --agent '<command>'` 用於連接任意 ACP 伺服器。當適配器本身不處理安裝和認證時,上游 agent 需要先安裝並完成認證。文件連結 docs/agents.md 介紹所有支援的配置,docs/custom-agents.md 介紹註冊表配置。README 沒有說明除了這四個之外是否還有其他預設支援的 agent,也沒有說明自訂伺服器是否需要額外的協定版本協商。
openclaw/acpx 的第 4 個核對面向,應以本章提到的 README 介面作為邊界。回到 openclaw/acpx 的 README,逐一查看本章涉及的命令、輸入格式、設定鍵或範例檔案,並把實際輸出與錯誤訊息分開記錄。素材沒有說明的作業系統、效能、相容性或服務承諾,不在本文替它補成結論。
若要做小規模核對,請從 acpx 已列出的入口開始,保留使用的參數與輸出路徑。這樣可以判斷第 4 章所談的功能是否能接入你的流程,也能看出缺少哪一項依賴;一次成功執行仍只代表這組輸入可行,不能推導出 README 未寫出的保證。
在 openclaw/acpx 的實際紀錄中,應特別標記第 4 章的輸入、輸出與失敗訊息。若章節提到設定檔,就檢查該檔案的欄位;若提到命令,就保存完整命令列。這些具體資料比抽象的採用判斷更能說明 acpx 是否適合目前任務。
工作階段、佇列和無狀態 exec
持久工作階段會在提示之間保留上下文,支援並行的命名工作流程,並且在一輪執行尚未結束時把後續提示排隊。README 展示了帶 `--name backend` 的命名工作階段,以及之後用 `-s backend` 繼續傳送提示。對於不需要儲存工作階段的工作,`acpx codex exec "summarize this repository"` 以無狀態方式執行。工作階段狀態存放在 `~/.acpx/` 下。sessions 指南涵蓋範圍、佇列所有權、重新連線、匯出和匯入、取消以及清理。README 沒有說明工作階段狀態在清理後是否保留,也沒有定義工作階段有效期。exec 與持久工作階段在權限和輸出格式上的差異需要查看輸出格式和權限文件。
openclaw/acpx 的第 5 個核對面向,應以本章提到的 README 介面作為邊界。回到 openclaw/acpx 的 README,逐一查看本章涉及的命令、輸入格式、設定鍵或範例檔案,並把實際輸出與錯誤訊息分開記錄。素材沒有說明的作業系統、效能、相容性或服務承諾,不在本文替它補成結論。
若要做小規模核對,請從 acpx 已列出的入口開始,保留使用的參數與輸出路徑。這樣可以判斷第 5 章所談的功能是否能接入你的流程,也能看出缺少哪一項依賴;一次成功執行仍只代表這組輸入可行,不能推導出 README 未寫出的保證。
在 openclaw/acpx 的實際紀錄中,應特別標記第 5 章的輸入、輸出與失敗訊息。若章節提到設定檔,就檢查該檔案的欄位;若提到命令,就保存完整命令列。這些具體資料比抽象的採用判斷更能說明 acpx 是否適合目前任務。
機器可讀輸出和權限模式
預設輸出是文字。`--format json` 會輸出 NDJSON 格式的 ACP 事件,供自動化使用;`--format quiet` 只列印最後的 assistant 文字。輸出事件保留結構化思考、工具呼叫、diff 和完成狀態,而不是終端轉義序列。權限模式從讀取批准到明確拒絕或全部允許不等。`--cwd` 用來設定工作階段範圍和檔案系統邊界。全域和專案 JSON 配置可以提供預設值,命令列參數優先。README 附有輸出格式、權限、配置和退出碼的文件連結,但沒有說明這些權限模式具體如何配置,也沒有給出所有退出碼的含義。
openclaw/acpx 的第 6 個核對面向,應以本章提到的 README 介面作為邊界。回到 openclaw/acpx 的 README,逐一查看本章涉及的命令、輸入格式、設定鍵或範例檔案,並把實際輸出與錯誤訊息分開記錄。素材沒有說明的作業系統、效能、相容性或服務承諾,不在本文替它補成結論。
若要做小規模核對,請從 acpx 已列出的入口開始,保留使用的參數與輸出路徑。這樣可以判斷第 6 章所談的功能是否能接入你的流程,也能看出缺少哪一項依賴;一次成功執行仍只代表這組輸入可行,不能推導出 README 未寫出的保證。
在 openclaw/acpx 的實際紀錄中,應特別標記第 6 章的輸入、輸出與失敗訊息。若章節提到設定檔,就檢查該檔案的欄位;若提到命令,就保存完整命令列。這些具體資料比抽象的採用判斷更能說明 acpx 是否適合目前任務。
流程、嵌入和文件
對於多步驟工作,`acpx flow run` 執行 TypeScript 工作流程,把 ACP 輪次與確定性操作、決策、計算和檢查點組合在一起。套件還匯出 `acpx/runtime` 和 `acpx/flows`,供需要工作階段和工作流程原語而不想透過子程序呼叫命令的應用程式使用。README 指向 flows 指南、範例、架構筆記、CLI 參考、提示文件、工作階段控制、agent 對比和 ACP 覆蓋路線圖。開發命令是 `pnpm install --frozen-lockfile`、`pnpm run check` 和 `pnpm run check:docs`。許可證是 MIT,README 沒有提供安全保證或保固條款。完整文件也可在 acpx.sh 上取得。
openclaw/acpx 的第 7 個核對面向,應以本章提到的 README 介面作為邊界。回到 openclaw/acpx 的 README,逐一查看本章涉及的命令、輸入格式、設定鍵或範例檔案,並把實際輸出與錯誤訊息分開記錄。素材沒有說明的作業系統、效能、相容性或服務承諾,不在本文替它補成結論。
若要做小規模核對,請從 acpx 已列出的入口開始,保留使用的參數與輸出路徑。這樣可以判斷第 7 章所談的功能是否能接入你的流程,也能看出缺少哪一項依賴;一次成功執行仍只代表這組輸入可行,不能推導出 README 未寫出的保證。
在 openclaw/acpx 的實際紀錄中,應特別標記第 7 章的輸入、輸出與失敗訊息。若章節提到設定檔,就檢查該檔案的欄位;若提到命令,就保存完整命令列。這些具體資料比抽象的採用判斷更能說明 acpx 是否適合目前任務。
編輯結論
這篇文章適合需要評估 openclaw/acpx README 所描述工作流程的讀者,不適合把未載明的效能或部署承諾當成既定事實。開始前先依專案自己的命令、輸入檔與設定鍵做一次隔離核對,確認輸出符合你的具體流程,再決定是否納入正式環境。
社群筆記