This is a clone of Vercel's AI Chatbot at commit 7d8e713.
- Docker
- A Sindri API Key: this can be generated by creating a Sindri account then visiting the API Keys page.
In a terminal,
git clone https://github.com/Sindri-Labs/vercel-ai-chatbot.git
cd vercel-ai-chatbotModify the below command to include your Sindri API Key in place of YOUR_SINDRI_API_KEY then run it in the terminal (building may take several minutes)
OPENAI_API_KEY=YOUR_SINDRI_API_KEY docker compose up --buildYou will know it is ready when you see logs similar to
vercel-ai-chatbot-frontend-1 | ✓ Starting...
vercel-ai-chatbot-frontend-1 | ✓ Ready in 542ms
Visit http://localhost:3000 and start chatting as a guest user. Chat history will not be saved between sessions.
Notes:
- All chats are automatically encrypted with Sindri's Trusted Execution Environment (TEE)! The console logs for the
evllmpcontainer show encrypted/decrypted chats. - Sindri is still in development. File uploads and web searches are still in development and currently do not work.
Visit http://localhost:3000/register and create an account.
You can also visit the Account menu in the bottom of the left sidebar. Here you can create accounts and log into existing accounts.
To bring it all down, run:
docker compose downYou can bring it up again with docker compose up. This will skip the building phase and existing accounts and their chat histories will be restored.
| Variable | Description | Default |
|---|---|---|
AUTH_SECRET |
JWT encryption secret | Required (create with openssl rand -base64 32) |
BLOB_READ_WRITE_TOKEN |
Vercel Blob Storage key | Required |
MAX_COMPLETION_TOKENS |
Maximum tokens for responses | 1000 |
OPENAI_API_KEY |
Your OpenAI API key | Required |
OPENAI_BASE_URL |
Custom OpenAI-compatible endpoint | https://api.openai.com/v1 |
OPENAI_MODEL |
Model to use for chat completions | gpt-4o-mini |
PORT |
Port the server is exposed | 3000 |
SINDRI_BASE_URL |
Sindri OpenAI-compatible endpoint | https://sindri.app/api/ai/v1/openai |
USE_TOOLS |
Enable AI tools (weather, documents, etc.) | false |
- Docker Deployment: Complete containerized setup with PostgreSQL and Redis
- OpenAI Integration: Switched from xAI to OpenAI with configurable base URL
- PDF Support: Added PDF and JSON file upload support (up to 100MB)
- Authentication: Fixed auth flow and added guest mode
- Environment Variables: All configuration via Docker environment variables
- This Vercel version still uses the OpenAI
/v1/chat/completionsinstead of the newer/v1/responsesendpoint. Sindri does not yet support/v1/responses.