ACI.dev 後端倉庫:伺服器、整合與本機開發
此專案圍繞「ACI.dev is the open source tool-calling platform that hooks up 600+ tools into any agentic IDE or custom AI agent through direct function calling or a unified MCP server. The birthplace of VibeOps.」建置,聚焦實際場景的開源實作,提供可重用的工具鏈與整合方式。
秒懂
- 它是什麼?
- 根據 README 整理 ACI.dev 後端的組成、本機開發流程、資料庫遷移、驗證與計費整合,以及評估管線。 本文聚焦其核心介面、部署邊界、版本訊號與實際核驗方式。
- 適合誰用?
- README 清楚描述了後端元件與本機開發流程,但沒有提供生產部署指南、效能基準或安全保證。Apache 2.0 授權允許廣泛重用,但不包含保固。
- 可以商用嗎?
- 可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 110 天前。
- 用什麼語言寫的?
- 主要是 Python(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。
開源專案深度解析
倉庫涵蓋的內容
README 開頭將 ACI.dev 後端描述為提供伺服器基礎設施、API 端點、資料庫模型和整合庫的元件,支援超過 600 個工具整合,並提到多租戶驗證和細粒度權限。倉庫元資料補充說 ACI.dev 是一個開源工具呼叫平台,可以透過直接函式呼叫或統一的 MCP 伺服器連接各種 agentic IDE 或自訂 agent,但 README 本身沒有展開說明連接方式。該倉庫只包含後端,前端僅透過指向單獨 README 的方式被提及。
aci 第 1 章的這個邊界需要在實際專案中單獨檢查。先以 README 明列的 aci、main 分支與目前素材記錄的版本訊號建立測試目錄,逐項對照輸入、輸出和錯誤處理。這樣能分辨文件承諾、範例行為與自己加入的整合程式,不會把倉庫統計或描述文字誤當成測試結果。
對 aipotheosis-labs/aci 第 1 章而言,最有價值的觀察是功能是否在既有依賴與目標平台上保持可追蹤。請保留實際命令的終端輸出、涉及的檔案路徑和失敗步驟;若 README 沒有說明某個預設值,就標記為未說明,回到 aipotheosis-labs/aci 的原始碼、Release 與 issue 查證,而不是自行補出保證。
程式碼結構與主要元件
README 列出四個元件:處理 API 請求、驗證和工具執行的 FastAPI 伺服器;使用 PostgreSQL 和 pgvector 進行向量相似性搜尋的資料庫;用於本機測試和開發的命令列介面;以及共享程式碼和工具模組。README 沒有提供檔案樹或行數統計。pgvector 的使用表明向量搜尋是設計的一部分,但 README 沒有說明儲存或查詢的是什麼向量,這些細節需要檢視程式碼才能確認。
aci 第 2 章的這個邊界需要在實際專案中單獨檢查。先以 README 明列的 aci、main 分支與目前素材記錄的版本訊號建立測試目錄,逐項對照輸入、輸出和錯誤處理。這樣能分辨文件承諾、範例行為與自己加入的整合程式,不會把倉庫統計或描述文字誤當成測試結果。
對 aipotheosis-labs/aci 第 2 章而言,最有價值的觀察是功能是否在既有依賴與目標平台上保持可追蹤。請保留實際命令的終端輸出、涉及的檔案路徑和失敗步驟;若 README 沒有說明某個預設值,就標記為未說明,回到 aipotheosis-labs/aci 的原始碼、Release 與 issue 查證,而不是自行補出保證。
本機開發流程
開發環境要求 Python 3.12 或更高版本、Docker 和 Docker Compose,以及 uv 套件管理器。複製倉庫後,文件給出的步驟包括 uv sync、pre-commit install、把 .env.example 複製為 .env.local,然後執行 docker compose up --build。這會啟動伺服器、PostgreSQL、用於模擬 AWS 服務的 LocalStack,以及一個用於執行 pytest、CLI 命令或腳本的 runner 容器。預設種子腳本會建立一個專案、一個 agent、一個 API 金鑰,以及三個範例應用:Brave Search、Hacker News 和帶模擬 OAuth2 憑證的 Gmail。README 還提到,如果要匯入全部應用,需要手動建立金鑰檔案,或者使用 --all --mock 旗標。本機 API 文件位於 /v1/notforhuman-docs。程式碼風格由 ruff、mypy 和 pre-commit 鉤子管理。
aci 第 3 章的這個邊界需要在實際專案中單獨檢查。先以 README 明列的 aci、main 分支與目前素材記錄的版本訊號建立測試目錄,逐項對照輸入、輸出和錯誤處理。這樣能分辨文件承諾、範例行為與自己加入的整合程式,不會把倉庫統計或描述文字誤當成測試結果。
對 aipotheosis-labs/aci 第 3 章而言,最有價值的觀察是功能是否在既有依賴與目標平台上保持可追蹤。請保留實際命令的終端輸出、涉及的檔案路徑和失敗步驟;若 README 沒有說明某個預設值,就標記為未說明,回到 aipotheosis-labs/aci 的原始碼、Release 與 issue 查證,而不是自行補出保證。
資料庫遷移與測試
修改資料庫模型時,先用 alembic check 偵測差異,再用 alembic revision --autogenerate 產生遷移檔案,隨後需要人工檢查產生的檔案。README 特別要求檢查 pgvector 匯入、索引建立或刪除、向量擴充設定以及其他資料庫相關操作。遷移用 alembic upgrade head 套用,用 downgrade -1 回退。測試在 test-runner 容器中透過 pytest 執行。README 沒有說明測試數量或期望的覆蓋率。
aci 第 4 章的這個邊界需要在實際專案中單獨檢查。先以 README 明列的 aci、main 分支與目前素材記錄的版本訊號建立測試目錄,逐項對照輸入、輸出和錯誤處理。這樣能分辨文件承諾、範例行為與自己加入的整合程式,不會把倉庫統計或描述文字誤當成測試結果。
對 aipotheosis-labs/aci 第 4 章而言,最有價值的觀察是功能是否在既有依賴與目標平台上保持可追蹤。請保留實際命令的終端輸出、涉及的檔案路徑和失敗步驟;若 README 沒有說明某個預設值,就標記為未說明,回到 aipotheosis-labs/aci 的原始碼、Release 與 issue 查證,而不是自行補出保證。
驗證、計費與管理員工具
PropelAuth 的設定只針對開發入口功能的開發者,需要替換 .env.local 中的佔位值,執行 ngrok 將本機伺服器暴露到公網,設定 PropelAuth 的 webhook,並在 compose.yml 中註解掉模擬服務。Stripe webhook 設定用於計費功能開發,透過 Stripe CLI 將事件轉送到本機端點。管理員 CLI 被描述為內部工具,用於管理應用、函式、使用者等,說明輸出中包含 create-agent、upsert-app、fuzzy-test-function-execution 等命令。這些整合都是本機開發用途,不是生產部署方案。
aci 第 5 章的這個邊界需要在實際專案中單獨檢查。先以 README 明列的 aci、main 分支與目前素材記錄的版本訊號建立測試目錄,逐項對照輸入、輸出和錯誤處理。這樣能分辨文件承諾、範例行為與自己加入的整合程式,不會把倉庫統計或描述文字誤當成測試結果。
對 aipotheosis-labs/aci 第 5 章而言,最有價值的觀察是功能是否在既有依賴與目標平台上保持可追蹤。請保留實際命令的終端輸出、涉及的檔案路徑和失敗步驟;若 README 沒有說明某個預設值,就標記為未說明,回到 aipotheosis-labs/aci 的原始碼、Release 與 issue 查證,而不是自行補出保證。
評估管線
倉庫包含一個用於函式搜尋或工具執行的評估管線。README 描述了三種模式:generate-and-evaluate、generate-only 和 evaluate-only。需要設定四個環境變數,分別指向伺服器 URL、API 金鑰、OpenAI 金鑰和 Weights & Biases 金鑰。結果會記錄到 Weights & Biases 的公開專案。管線可以限制產生樣本數和評估樣本數。前提是先用 --all --mock 種子腳本匯入所有應用和模擬憑證。README 沒有報告任何評估結果或準確率數字。
aci 第 6 章的這個邊界需要在實際專案中單獨檢查。先以 README 明列的 aci、main 分支與目前素材記錄的版本訊號建立測試目錄,逐項對照輸入、輸出和錯誤處理。這樣能分辨文件承諾、範例行為與自己加入的整合程式,不會把倉庫統計或描述文字誤當成測試結果。
對 aipotheosis-labs/aci 第 6 章而言,最有價值的觀察是功能是否在既有依賴與目標平台上保持可追蹤。請保留實際命令的終端輸出、涉及的檔案路徑和失敗步驟;若 README 沒有說明某個預設值,就標記為未說明,回到 aipotheosis-labs/aci 的原始碼、Release 與 issue 查證,而不是自行補出保證。
授權與 README 未涉及的內容
專案使用 Apache License 2.0。該授權授予永久的、全球性的、非獨佔的、免費的版權授權和專利授權,但如果發起專利訴訟,授權會終止。授權不包含保固或支援承諾。README 也沒有給出效能基準、生產部署說明或安全保證。倉庫元資料在快照時顯示 4,825 個 star 和 465 個 fork,但這些數字不代表品質或維護狀態。貢獻指引被指向單獨的 CONTRIBUTING.md 檔案。
aci 第 7 章的這個邊界需要在實際專案中單獨檢查。先以 README 明列的 aci、main 分支與目前素材記錄的版本訊號建立測試目錄,逐項對照輸入、輸出和錯誤處理。這樣能分辨文件承諾、範例行為與自己加入的整合程式,不會把倉庫統計或描述文字誤當成測試結果。
對 aipotheosis-labs/aci 第 7 章而言,最有價值的觀察是功能是否在既有依賴與目標平台上保持可追蹤。請保留實際命令的終端輸出、涉及的檔案路徑和失敗步驟;若 README 沒有說明某個預設值,就標記為未說明,回到 aipotheosis-labs/aci 的原始碼、Release 與 issue 查證,而不是自行補出保證。
編輯結論
README 清楚描述了後端元件與本機開發流程,但沒有提供生產部署指南、效能基準或安全保證。Apache 2.0 授權允許廣泛重用,但不包含保固。 適合已能提供相容執行環境、願意依 aipotheosis-labs/aci README 逐項核對的人;不適合把文件摘要當成生產承諾的團隊。先在隔離目錄依專案自己的入口跑最小案例,檢查 aci 的實際輸出、錯誤訊息與設定檔,再決定是否接入正式流程。
社群筆記