centroid
Centroid is a chat-based open-source development platform designed for API discovery and testing. It provides tools for developers to efficiently explore and test APIs. Built with TypeScript, it is expected to have community support and contributions.
GitHub Stars
53
User Rating
Not Rated
Forks
4
Issues
1
Views
2
Favorites
0
Centroid
A chat-based open source development platform for API discovery and testing.

🚧 Development Status: Centroid is in active development (alpha). While fully functional, you may encounter breaking changes as the platform evolves. We encourage you to try it out and provide feedback!
✨ Key Features
Centroid re-imagines API workflows through the power of natural conversation. Think of it as "Postman meets ChatGPT" - a modern, intuitive approach to API interaction that lets you:
💬 Chat with API Collections: Import and interact with your APIs through natural conversation
- Support for OpenAPI/Swagger specifications
- Import Postman collections
- Understand and explore API endpoints through chat
🚀 Execute API Endpoints: Test and run API endpoints directly from the chat interface
- Send requests with custom parameters
- View response data in real-time
- Save and reuse API configurations
🤖 Flexible LLM Support: Works with any OpenAI-compatible API
- Use OpenAI, Azure OpenAI, or any compatible endpoint
- Support for various models (GPT-4, Claude, Llama)
- Configurable model settings
🚀 Quick Start
Using Docker
[!TIP] Please include the volume mount
-v Centroid_data:/app/data
in your Docker command. It's crucial for persisting your database, preventing data loss between container restarts.
Visit http://localhost:3000
to access the web interface.
Visit http://localhost:8000/docs
to access the backend OpenAPI documentation.
docker run -d -p 3000:3000 -p 8000:8000 -v Centroid_data:/app/data -e LLM_BASE_URL=https://api.openai.com/v1 -e LLM_API_KEY=your_api_key -e LLM_DEFAULT_MODEL=gpt-4o-mini -e FIRST_SUPERUSER=admin@example.com -e FIRST_SUPERUSER_PASSWORD=example123 --name Centroid --restart always ghcr.io/srikanth235/Centroid:main
Environment Variables
# LLM Configuration
LLM_BASE_URL=https://api.openai.com/v1 # OpenAI API compatible custom endpoint
LLM_API_KEY=your_api_key # Your OpenAI compatible API key
LLM_DEFAULT_MODEL=gpt-4o-mini # Default model to use
# Authentication
FIRST_SUPERUSER=admin@example.com # Default: admin@example.com
FIRST_SUPERUSER_PASSWORD=example123 # Default: example123
View all environment variables →
🤖 Choosing an LLM
Centroid requires an LLM with function/tool calling capabilities. We recommend using any of these tested models:
- GPT-4o-mini
- Claude Haiku
- Llama 3.2 (70B)
Any models at least as powerful as the ones listed above will work well with Centroid. Models without tool calling capabilities may have limited functionality.
📊 Telemetry
Centroid includes optional telemetry to help improve the platform. This feature:
- Is enabled by default and requires explicit opt-out
- Only tracks API usage patterns, never sensitive data
- Helps us understand how features are used and identify performance issues
What We Track
When enabled, Centroid tracks:
- Chat API interactions (create/update/delete operations)
- Basic request metrics (duration, status codes)
- Anonymous usage patterns
- Performance indicators
[!NOTE] You can view the exact events we track in our analytics implementation.
Configuration
Control telemetry through environment variables:
# Enable/disable telemetry
TELEMETRY_ENABLED=false
Privacy Considerations
- No personal data or chat content is ever collected
- All tracking is anonymous
- Performance metrics are aggregated
- You can self-host without any external analytics
🌟 Contributing
We love contributions! Here's how to get started:
Development Setup
Clone the repository
git clone https://github.com/Centroid/Centroid.git cd Centroid
Install dependencies
# Frontend pnpm install # Backend poetry install
Start development servers
./start.sh
Making Changes
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
🤝 Support & Community
Need help? Join our community:
- Discord Community - Get help and discuss features
- GitHub Issues - Report bugs
🙏 Credits
The initial foundation of this project was built using these excellent open-source boilerplate projects:
- Backend structure based on Full Stack FastAPI Template
- Frontend chat interface based on Vercel AI Chatbot
📄 License
Centroid is Apache 2.0 licensed.
Made with ❤️ by humans and AI
0
Followers
1
Repositories
0
Gists
434
Total Contributions