Skip to content

srikanth235/openastra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OpenAstra

A chat-based open source development platform for API discovery and testing.

License: Apache 2.0 GitHub Release GitHub Issues Repo Size Commit Activity Last Commit Discord

OpenAstra Demo

🚧 Development Status: OpenAstra 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

OpenAstra 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 openastra_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 openastra_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 [email protected] -e FIRST_SUPERUSER_PASSWORD=example123 --name openastra --restart always ghcr.io/srikanth235/openastra: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
[email protected]          # Default: [email protected]
FIRST_SUPERUSER_PASSWORD=example123        # Default: example123

View all environment variables β†’

πŸ€– Choosing an LLM

OpenAstra 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 OpenAstra. Models without tool calling capabilities may have limited functionality.

πŸ“Š Telemetry

OpenAstra 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, OpenAstra 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

  1. Clone the repository

    git clone https://github.com/openastra/openastra.git
    cd openastra
  2. Install dependencies

    # Frontend
    pnpm install
    
    # Backend
    poetry install
  3. Start development servers

    ./start.sh

Making Changes

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

🀝 Support & Community

Need help? Join our community:

πŸ™ Credits

The initial foundation of this project was built using these excellent open-source boilerplate projects:

πŸ“„ License

OpenAstra is MIT licensed.


Made with ❀️ by humans and AI