模型 / 資料集
aipotheosis-labs/aci avatar
aipotheosis-labs/aci

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.」建置,聚焦實際場景的開源實作,提供可重用的工具鏈與整合方式。

4,889 個 Star484 個 ForkPythonApache-2.0

秒懂

它是什麼?
根據 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 的實際輸出、錯誤訊息與設定檔,再決定是否接入正式流程。

官方來源

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

社群筆記