Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

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.

License

Notifications You must be signed in to change notification settings

Autometa-Limited/aci

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

834 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ACI.dev Local Setup

Prerequisites

  • Docker Desktop installed and running
  • Node.js 18+ and npm
  • Python 3.12+

Backend Setup

1. Configure Environment

cd backend
cp .env.example .env.local

Edit .env.local with required values

add this


########################################################

Provide Your Own Values for the following variables.

For local development, you can reuse most of the values from the .env.example file, except for the following:

######################################################## SERVER_OPENAI_API_KEY=<your_openai_api_key> CLI_OPENAI_API_KEY=<your_openai_api_key>

########################################################

Common

######################################################## COMMON_AWS_REGION=us-east-2 COMMON_AWS_ENDPOINT_URL=http://aws:4566 COMMON_KEY_ENCRYPTION_KEY_ARN=arn:aws:kms:us-east-2:000000000000:key/00000000-0000-0000-0000-000000000001 COMMON_API_KEY_HASHING_SECRET=5ef74d594f5edf1f98219ddfeb79056cb9ab8198d11820791c407befc5075166

########################################################

For local use with boto3 lib only

########################################################

For local testing only, AWS credentials are required for boto3 to work, therefore we

must set it, even though the localstack container in local compose setup doesn't

verify it.

On prod we use AWS IAM instead of static credentials. Therefore, we don't need to set

it on prod.

AWS_ACCESS_KEY_ID=dummy AWS_SECRET_ACCESS_KEY=dummy

########################################################

Server

######################################################## SERVER_ENVIRONMENT=local SERVER_SIGNING_KEY=SErq6tYWOXsCQZ0B-ynjAIOxVFyOQX71E8vprZx6Msg SERVER_JWT_ALGORITHM=HS256 SERVER_JWT_ACCESS_TOKEN_EXPIRE_MINUTES=1440 SERVER_DB_SCHEME=postgresql+psycopg SERVER_DB_USER=user SERVER_DB_PASSWORD=password SERVER_DB_HOST=db SERVER_DB_PORT=5432 SERVER_DB_NAME=local_db SERVER_OPENAI_EMBEDDING_MODEL=text-embedding-3-small SERVER_OPENAI_EMBEDDING_DIMENSION=1024

need to set a high rate limit for running tests without triggering the rate limit

SERVER_RATE_LIMIT_IP_PER_SECOND=999 SERVER_RATE_LIMIT_IP_PER_DAY=100000 SERVER_PROJECT_DAILY_QUOTA=100000 SERVER_APPLICATION_LOAD_BALANCER_DNS=127.0.0.1 SERVER_REDIRECT_URI_BASE=http://localhost:8000 SERVER_DEV_PORTAL_URL=http://localhost:3000 SERVER_MAX_PROJECTS_PER_ORG=3 SERVER_MAX_AGENTS_PER_PROJECT=10

LOGFIRE

NOTE: locally we don't want to send logs to logfire, just setting a dummy token

here so that the config.py won't fail

SERVER_LOGFIRE_WRITE_TOKEN=dummy SERVER_LOGFIRE_READ_TOKEN=dummy

PropelAuth

SERVER_PROPELAUTH_AUTH_URL=<your_propel_auth_url> SERVER_PROPELAUTH_API_KEY=<your_propel_auth_api_key> SERVER_SVIX_SIGNING_SECRET=<your_svix_signing_secret>

Stripe

SERVER_STRIPE_SECRET_KEY=dummy SERVER_STRIPE_WEBHOOK_SIGNING_SECRET=dummy

Agentic Apps

SERVER_ANTHROPIC_API_KEY=dummy

Vector DB

SERVER_VECTOR_DB_FULL_URL=dummy

########################################################

Alembic

######################################################## ALEMBIC_DB_SCHEME=postgresql+psycopg ALEMBIC_DB_USER=user ALEMBIC_DB_PASSWORD=password ALEMBIC_DB_HOST=db ALEMBIC_DB_PORT=5432 ALEMBIC_DB_NAME=local_db

########################################################

CLI

######################################################## CLI_OPENAI_EMBEDDING_MODEL=text-embedding-3-small CLI_OPENAI_EMBEDDING_DIMENSION=1024 CLI_DB_SCHEME=postgresql+psycopg CLI_DB_USER=user CLI_DB_PASSWORD=password CLI_DB_HOST=db CLI_DB_PORT=5432 CLI_DB_NAME=local_db CLI_SERVER_URL=http://server:8000

########################################################

EVALS

######################################################## EVALS_SERVER_URL=http://server:8000 EVALS_ACI_API_KEY=<your_api_key_for_the_server_returned_from_seed_db_script> EVALS_OPENAI_KEY=<your_openai_api_key> EVALS_WANDB_KEY=<your_wandb_api_key>


2. Start Backend

docker compose up --build -d

3. Seed Database

docker compose exec runner ./scripts/seed_db.sh

Save the API key from the output!

Backend API: http://localhost:8000

Frontend Setup

1. Configure Environment

cd frontend
cp .env.example .env.local


add this

************************************************
NEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_DEV_PORTAL_URL=http://localhost:3000
NEXT_PUBLIC_ENVIRONMENT=local
NEXT_PUBLIC_AUTH_URL=http://localhost:12800

# feature flag for enterprise-specific and cloud-specific functionality
NEXT_PUBLIC_FEATURE_LOG_DASHBOARD=false

2. Install Dependencies

npm install --legacy-peer-deps

3. Start Frontend

npm run dev

Frontend Portal: http://localhost:3000

Quick Reference

Adding Custom Apps

See INTEGRATION_GUIDE.md for detailed instructions on adding new apps and functions.

About

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.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 59.0%
  • TypeScript 40.3%
  • Other 0.7%