|
|
5 dagen geleden | |
|---|---|---|
| cmake | 2 maanden geleden | |
| config | 2 maanden geleden | |
| docs | 2 weken geleden | |
| external | 2 maanden geleden | |
| lib | 5 dagen geleden | |
| packaging | 2 maanden geleden | |
| src | 5 dagen geleden | |
| webui | 5 dagen geleden | |
| .dockerignore | 2 maanden geleden | |
| .gitignore | 2 maanden geleden | |
| .gitmodules | 2 maanden geleden | |
| CMakeLists.txt | 2 maanden geleden | |
| README.md | 5 dagen geleden |
Smartbotic Microbit is a self-service admin/management platform on top of the CallerAI telephony AI engine.
The goal: small and medium businesses (hair salons, medical offices, auto repair shops, etc.) can set up an AI phone assistant through a web interface in a few clicks — one that answers calls, responds to questions, and books appointments — without needing to deal with APIs directly.
| Project | Repo | Role |
|---|---|---|
| CallerAI | fszontagh/callerai |
The telephony AI engine — SIP gateway, audio pipeline, LLM, automation, assistant management. Handles actual call processing. |
| Smartbotic Microbit (this) | fszontagh/smartbotic-microbit |
Admin UI on top of CallerAI — workspaces, users, calendar, appointment booking. Calls the CallerAI API via CallerAIClient. |
| Smartbotic | fszontagh/smartbotic |
Flow/automation platform (node-based, QuickJS). Independent project. |
| Smartbotic CRM | fszontagh/smartbotic-crm |
CRM system — customer management, documents, LLM tools. Independent project. |
Smartbotic Microbit consists of three main components:
smartbotic-microbit): C++20-based HTTP service with RESTful APIsmartbotic-database): Custom database service for persistent storageFor detailed architecture information, see docs/ARCHITECTURE.md.
The easiest way to install Smartbotic Microbit is using the pre-built packages:
# Download the latest release packages
# Install using the provided installer
sudo ./packaging/scripts/install.sh smartbotic-*.tar.gz
# Configure the service
sudo cp /etc/smartbotic/smartbotic.env.default /etc/smartbotic/smartbotic.env
sudo nano /etc/smartbotic/smartbotic.env # Set JWT_SECRET, SMTP, and CallerAI settings
# Start the services
sudo systemctl enable smartbotic-database smartbotic-microbit
sudo systemctl start smartbotic-database
sudo systemctl start smartbotic-microbit
For detailed installation and deployment instructions, see docs/DEPLOYMENT.md.
For development and building from source:
# Clone the repository with submodules
git clone --recursive https://github.com/fszontagh/smartbotic-microbit.git
cd smartbotic-microbit
# Build the backend
mkdir build && cd build
cmake ..
make -j$(nproc)
# Build the WebUI
cd ../webui
npm install
npm run build
For complete development setup instructions, see docs/DEVELOPMENT.md.
The main configuration file is located at /etc/smartbotic/microbit.json (or config/microbit.json for development).
Key configuration sections:
Environment variables can be used to override configuration values using the ${VAR_NAME:default} syntax.
The platform provides a comprehensive RESTful API. Key endpoint groups:
/api/v1/auth/* - Authentication (register, login, refresh tokens)/api/v1/users/* - User management/api/v1/workspaces/* - Workspace CRUD and member management/api/v1/workspaces/:id/assistants/* - AI assistant management/api/v1/workspaces/:id/calendars/* - Calendar and appointment management/api/v1/invitations/* - Workspace invitations/api/v1/settings/* - Global and workspace settingsFor complete API documentation, see docs/API.md.
After registering and logging in, create your first workspace:
curl -X POST http://localhost:8090/api/v1/workspaces \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "My Company",
"company_name": "Acme Corp",
"address": "123 Main St",
"phone": "+1-555-0100"
}'
curl -X POST http://localhost:8090/api/v1/workspaces/WORKSPACE_ID/invitations \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "colleague@example.com",
"role": "member"
}'
curl -X POST http://localhost:8090/api/v1/workspaces/WORKSPACE_ID/assistants \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Customer Support Bot",
"phone_number": "+1-555-0200",
"instructions": "You are a helpful customer support assistant..."
}'
Backend:
Frontend:
Database:
Copyright © 2024 Smartbotics AI
For issues and questions, please use the GitHub issue tracker or contact support@smartbotics.ai.