项目简介
OpenAstra是一个开源的API交互平台,它融合了聊天界面的直观性和大型语言模型(LLM)的能力。它旨在通过自然语言对话的方式,简化API的发现、理解、测试和执行流程。OpenAstra后端作为LLM客户端的上下文和功能提供者,能够管理API资源、提供工具调用能力,并支持多种LLM接口。
主要功能点
- 与API集合对话: 导入Postman或OpenAPI/Swagger规范的API集合,让LLM能够理解并讨论您的API端点和功能。
- 执行API端点: 直接通过聊天命令触发API请求,提供参数,并实时查看API的响应结果。
- 灵活的LLM支持: 可配置对接任何OpenAI兼容的LLM服务,选择最适合您需求的模型。
- MCP服务器代理: OpenAstra后端充当MCP服务器的代理层,可以配置并运行外部MCP服务器(例如特定的工具服务器),并将它们的能力暴露给连接的LLM客户端。
- 数据和资源管理: 支持上传文件(如API规范),并管理用户、团队、项目、聊天、文档和密钥等数据。
安装步骤
推荐使用Docker进行快速安装和部署:
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
- '-p 3000:3000': 将容器的Web界面端口映射到宿主机的3000端口。
- '-p 8000:8000': 将容器的后端API端口映射到宿主机的8000端口。
- '-v openastra_data:/app/data': 创建并挂载一个Docker卷,用于持久化数据库和其他应用数据,防止数据丢失。
- '-e LLM_BASE_URL', '-e LLM_API_KEY', '-e LLM_DEFAULT_MODEL': 配置您要使用的LLM服务连接信息,'LLM_API_KEY'是必须的。
- '-e FIRST_SUPERUSER', '-e FIRST_SUPERUSER_PASSWORD': 设置首次启动时创建的超级用户的邮箱和密码(用于Web界面登录和管理)。
安装完成后,您可以通过浏览器访问 'http://localhost:3000' 来使用OpenAstra的Web界面。后端API文档可以在 'http://localhost:8000/docs' 查看。
服务器配置 (针对MCP客户端连接OpenAstra)
OpenAstra后端本身是一个应用平台,它内部管理了与其他MCP服务器的连接(例如通过运行Docker容器)。从LLM客户端的角度来看,它连接的是OpenAstra作为其MCP服务器。
连接到OpenAstra的LLM客户端需要配置以下信息:
- 服务器名称 (Server Name): 一个标识符,例如 "OpenAstra Backend"。
- 连接地址 (URL): OpenAstra后端服务的地址,例如 'http://localhost:8000'。
- MCP端点路径 (Endpoint Path): OpenAstra暴露MCP接口的基础路径。根据代码实现,基础路径通常是 '/mcp/',后面会跟上具体的工具组和服务器标识符,例如 '/mcp/github/servers/github' (这取决于OpenAstra内部配置和所代理的外部MCP服务器)。您可能需要通过OpenAstra的管理界面或API来发现具体的端点路径。
- 传输协议 (Transport): OpenAstra的MCP代理层 ('MCPProxy') 使用SSE (Server-Sent Events) 作为客户端与之通信的传输协议。客户端应配置使用 'sse' 传输。
(注意:LLM客户端连接OpenAstra时,无需配置OpenAstra内部用于启动或连接其他MCP服务器的命令或参数。这些是OpenAstra自身管理的,对客户端透明。)
基本使用方法
- 通过Web界面 'http://localhost:3000' 使用您在Docker环境变量中设置的超级用户账号登录。
- 在Web界面中,您可以创建项目、团队,并导入您的API集合文件(如Postman Collection或OpenAPI规范)。
- 创建一个新的聊天会话。
- 在聊天界面中,开始与LLM对话。您可以提问关于导入的API的问题,或者指示LLM调用某个API端点来完成特定任务。LLM将通过OpenAstra的MCP代理层来访问API信息(资源)并执行API调用(工具)。
信息
分类
开发者工具