{"id":16278198,"url":"https://github.com/srikanth235/openastra","last_synced_at":"2025-04-08T17:33:10.321Z","repository":{"id":277965424,"uuid":"777115999","full_name":"srikanth235/openastra","owner":"srikanth235","description":"A chat-based platform for API discovery and testing","archived":false,"fork":false,"pushed_at":"2025-04-04T05:38:21.000Z","size":11819,"stargazers_count":46,"open_issues_count":2,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T06:27:39.674Z","etag":null,"topics":["ai","ai-assistant","api","api-client","api-management","developer-tools","gen-ai","http-client","openai-api","openapi","swagger"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/srikanth235.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-25T08:28:05.000Z","updated_at":"2025-04-04T05:38:25.000Z","dependencies_parsed_at":"2025-03-06T09:27:01.777Z","dependency_job_id":"a4e0ea1f-e74d-4f38-a119-e168447de82b","html_url":"https://github.com/srikanth235/openastra","commit_stats":null,"previous_names":["srikanth235/openastra"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srikanth235%2Fopenastra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srikanth235%2Fopenastra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srikanth235%2Fopenastra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srikanth235%2Fopenastra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/srikanth235","download_url":"https://codeload.github.com/srikanth235/openastra/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247892883,"owners_count":21013801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-assistant","api","api-client","api-management","developer-tools","gen-ai","http-client","openai-api","openapi","swagger"],"created_at":"2024-10-10T18:57:41.945Z","updated_at":"2025-04-08T17:33:10.308Z","avatar_url":"https://github.com/srikanth235.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1 style=\"display: flex; align-items: center; justify-content: center; gap: 5px;\"\u003e\n    \u003csvg height=\"32\" strokeLinejoin=\"round\" width=\"32\" fill=\"currentColor\" viewBox=\"0 0 32 32\" role=\"img\"\u003e\n      \u003cpath d=\"M16.975 3.036c6.402.475 11.514 5.586 11.99 11.989H24.32a7.345 7.345 0 0 1-7.345-7.345V3.036Zm-1.95 21.284v4.644c-6.402-.475-11.514-5.587-11.989-11.99H7.68a7.345 7.345 0 0 1 7.345 7.346Z\"\u003e\u003c/path\u003e\n      \u003cpath d=\"M3.036 15.025c.475-6.403 5.587-11.514 11.99-11.99V7.68a7.345 7.345 0 0 1-7.346 7.345H3.036Zm21.284 1.95h4.644c-.475 6.402-5.586 11.514-11.989 11.989V24.32a7.345 7.345 0 0 1 7.345-7.345Z\"\u003e\u003c/path\u003e\n    \u003c/svg\u003e\n    OpenAstra\n  \u003c/h1\u003e\n  \u003cp\u003e\n    \u003cstrong\u003eA chat-based open source development platform for API discovery and testing.\u003c/strong\u003e\n  \u003c/p\u003e\n\n  \u003cimg src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\" alt=\"License: Apache 2.0\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/v/release/srikanth235/openastra\" alt=\"GitHub Release\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues/srikanth235/openastra\" alt=\"GitHub Issues\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/repo-size/srikanth235/openastra\" alt=\"Repo Size\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/commit-activity/m/srikanth235/openastra\" alt=\"Commit Activity\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/last-commit/srikanth235/openastra\" alt=\"Last Commit\"/\u003e\n  \u003ca href=\"https://discord.gg/CNWq2PxX8V\" style=\"text-decoration: none; outline: none\"\u003e\n    \u003cimg src=\"https://dcbadge.vercel.app/api/server/CNWq2PxX8V?style=flat\u0026compact=true\" alt=\"Discord\"/\u003e\n  \u003c/a\u003e\n\n  \u003cbr/\u003e\n  \u003cbr/\u003e\n  \u003cimg src=\"./demo.gif\" alt=\"OpenAstra Demo\" width=\"600\"\u003e\n\n\u003e 🚧 **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!\n\n\u003c/div\u003e\n\n## ✨ Key Features\n\nOpenAstra 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:\n\n- 💬 **Chat with API Collections**: Import and interact with your APIs through natural conversation\n\n  - Support for OpenAPI/Swagger specifications\n  - Import Postman collections\n  - Understand and explore API endpoints through chat\n\n- 🚀 **Execute API Endpoints**: Test and run API endpoints directly from the chat interface\n\n  - Send requests with custom parameters\n  - View response data in real-time\n  - Save and reuse API configurations\n\n- 🤖 **Flexible LLM Support**: Works with any OpenAI-compatible API\n  - Use OpenAI, Azure OpenAI, or any compatible endpoint\n  - Support for various models (GPT-4, Claude, Llama)\n  - Configurable model settings\n\n## 🚀 Quick Start\n\n### Using Docker\n\n\u003e [!TIP]\n\u003e 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.\n\nVisit `http://localhost:3000` to access the web interface.\nVisit `http://localhost:8000/docs` to access the backend OpenAPI documentation.\n\n```bash\ndocker 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 FIRST_SUPERUSER=admin@example.com -e FIRST_SUPERUSER_PASSWORD=example123 --name openastra --restart always ghcr.io/srikanth235/openastra:main\n```\n\n### Environment Variables\n\n```bash\n# LLM Configuration\nLLM_BASE_URL=https://api.openai.com/v1      # OpenAI API compatible custom endpoint\nLLM_API_KEY=your_api_key                    # Your OpenAI compatible API key\nLLM_DEFAULT_MODEL=gpt-4o-mini              # Default model to use\n\n# Authentication\nFIRST_SUPERUSER=admin@example.com          # Default: admin@example.com\nFIRST_SUPERUSER_PASSWORD=example123        # Default: example123\n```\n\n[View all environment variables →](https://github.com/srikanth235/openastra/blob/main/Dockerfile)\n\n## 🤖 Choosing an LLM\n\nOpenAstra requires an LLM with function/tool calling capabilities. We recommend using any of these tested models:\n\n- **GPT-4o-mini**\n- **Claude Haiku**\n- **Llama 3.2 (70B)**\n\nAny models at least as powerful as the ones listed above will work well with OpenAstra. Models without tool calling capabilities may have limited functionality.\n\n## 📊 Telemetry\n\nOpenAstra includes optional telemetry to help improve the platform. This feature:\n\n- Is **enabled by default** and requires explicit opt-out\n- Only tracks API usage patterns, never sensitive data\n- Helps us understand how features are used and identify performance issues\n\n### What We Track\n\nWhen enabled, OpenAstra tracks:\n\n- Chat API interactions (create/update/delete operations)\n- Basic request metrics (duration, status codes)\n- Anonymous usage patterns\n- Performance indicators\n\n\u003e [!NOTE]\n\u003e You can view the exact events we track in our [analytics implementation](https://github.com/srikanth235/openastra/blob/main/backend/app/analytics.py).\n\n### Configuration\n\nControl telemetry through environment variables:\n\n```bash\n# Enable/disable telemetry\nTELEMETRY_ENABLED=false\n```\n\n### Privacy Considerations\n\n- No personal data or chat content is ever collected\n- All tracking is anonymous\n- Performance metrics are aggregated\n- You can self-host without any external analytics\n\n## 🌟 Contributing\n\nWe love contributions! Here's how to get started:\n\n### Development Setup\n\n1. **Clone the repository**\n\n   ```bash\n   git clone https://github.com/openastra/openastra.git\n   cd openastra\n   ```\n\n2. **Install dependencies**\n\n   ```bash\n   # Frontend\n   pnpm install\n\n   # Backend\n   poetry install\n   ```\n\n3. **Start development servers**\n   ```bash\n   ./start.sh\n   ```\n\n### Making Changes\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## 🤝 Support \u0026 Community\n\nNeed help? Join our community:\n\n- [Discord Community](https://discord.gg/CNWq2PxX8V) - Get help and discuss features\n- [GitHub Issues](https://github.com/srikanth235/openastra/issues) - Report bugs\n\n## 🙏 Credits\n\nThe initial foundation of this project was built using these excellent open-source boilerplate projects:\n\n- Backend structure based on [Full Stack FastAPI Template](https://github.com/fastapi/full-stack-fastapi-template)\n- Frontend chat interface based on [Vercel AI Chatbot](https://github.com/vercel/ai-chatbot)\n\n## 📄 License\n\nOpenAstra is [MIT licensed](LICENSE).\n\n---\n\n\u003cp align=\"center\"\u003e\n  Made with ❤️ by humans and AI\n  \u003cbr\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrikanth235%2Fopenastra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrikanth235%2Fopenastra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrikanth235%2Fopenastra/lists"}