$ show aipotheosis-labs/aci
ACI.dev is an open-source platform that provides a unified tool-calling interface for AI agents, enabling them to interact with over 600 third-party services via REST APIs or custom connectors. The backend is built with FastAPI, PostgreSQL (with pgvector for semantic search), SQLAlchemy, and Alembic for migrations, while the frontend is a Next.js 15 application with Shadcn UI, TanStack Query, and Zustand. The platform includes a full OAuth2 flow for service authentication, encrypted credential storage using AWS KMS, Stripe-based subscription billing, and a CLI for administrative tasks. It is designed as a multi-tenant SaaS with per-project quotas, agent management, and a playground for testing function calls. Architecturally, the system is modular: apps are defined as JSON schemas (app.json and functions.json) in a standardized format, and a generic execution engine dispatches calls to REST endpoints or local connector modules. The codebase demonstrates strong separation of concerns with CRUD modules, dependency injection, and middleware for rate limiting and logging. It also includes an evaluation pipeline for measuring search relevance (using synthetic intents and metrics like MRR), and a vector-based search for app and function discovery. While primarily an application, the repository contains research-oriented components such as the evaluation pipeline and embedding-based search, reflecting a hybrid nature focused on improving AI agent tool selection. The code is well-maintained and actively developed, with comprehensive test coverage (though some tests are skipped or TODO). The integration system is extensible, and several components (e.g., OAuth2 manager, encrypted SQL types, generic data table UI) are well-crafted and reusable. However, the codebase shows some technical debt in the form of hardcoded configurations, in-memory rate limiting, and app-specific OAuth2 overrides. Overall, it is a professional-grade platform with a high level of craftsmanship, suitable for production use and further extension.
The LLM identified 3 files worth highlighting for reuse:
Handles OAuth2 authorization URL generation, token exchange, and automatic token refresh for linked third-party accounts. Supports app-specific overrides (e.g., Slack, Reddit) and integrates with the security credentials manager. This is a reusable, self-contained module that can be extracted to manage OAuth2 flows in any multi-tenant API integration platform.
Defines custom SQLAlchemy types (EncryptedSecurityScheme, EncryptedSecurityCredentials, etc.) that transparently encrypt and decrypt sensitive data at the database column level using AWS KMS. This pattern isolates encryption logic from business code and can be reused in any project requiring encrypted storage of credentials or secrets.
A generic, reusable data table component built on TanStack Table with sorting, filtering, pagination, column visibility, row selection, and global search. It is self-contained, uses Shadcn UI primitives, and can be extracted into any React project with minimal changes. Demonstrates clean separation of concerns and handles complex table interactions gracefully.