An intelligent AI assistant for interacting with the Celo blockchain ecosystem. This application provides a conversational interface to help users navigate Celo blockchain operations, smart contracts, and DeFi protocols through natural language interactions.
- Multi-Model AI Support: Integrates with multiple AI providers (OpenAI, Anthropic, Google, Mistral, DeepSeek, xAI)
- Wallet Integration: Connect and manage Celo wallet addresses
- Interactive Chat Interface: Real-time conversations with AI models
- Artifact Generation: Create and edit code, documents, and data visualizations
- User Authentication: Secure login and guest access
- Chat History: Persistent conversation storage and retrieval
- File Upload Support: Process and analyze uploaded documents
-
Install dependencies:
pnpm install
-
Set up environment variables: Create a
.env.localfile with your API keys:# AI Provider API Keys (at least one required) OPENAI_API_KEY=your_openai_key ANTHROPIC_API_KEY=your_anthropic_key GOOGLE_GENERATIVE_AI_API_KEY=your_google_key # Database POSTGRES_URL=your_postgres_connection_string # Authentication AUTH_SECRET=your_auth_secret
-
Run database migrations:
pnpm db:migrate
-
Start the development server:
pnpm dev
-
Open http://localhost:3000 in your browser
apps/web/
├── app/ # Next.js App Router pages
│ ├── (auth)/ # Authentication routes
│ └── (chat)/ # Chat interface and API routes
├── components/ # React components
├── lib/ # Utilities and configurations
│ ├── ai/ # AI model providers and configurations
│ └── db/ # Database schemas and queries
└── artifacts/ # AI-generated artifact handlers
pnpm dev- Start development serverpnpm build- Build the applicationpnpm start- Start production serverpnpm lint- Run lintingpnpm db:migrate- Run database migrationspnpm db:studio- Open database studiopnpm test- Run tests
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Database: PostgreSQL with Drizzle ORM
- Styling: Tailwind CSS
- UI Components: Radix UI primitives
- Authentication: NextAuth.js
- AI Integration: Multiple provider support
- Blockchain: Celo integration via Thirdweb and Viem
The application supports multiple AI providers. Configure your preferred providers by setting the corresponding environment variables. The system will automatically detect available providers and enable them in the interface.