项目简介

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自身管理的,对客户端透明。)

基本使用方法

  1. 通过Web界面 'http://localhost:3000' 使用您在Docker环境变量中设置的超级用户账号登录。
  2. 在Web界面中,您可以创建项目、团队,并导入您的API集合文件(如Postman Collection或OpenAPI规范)。
  3. 创建一个新的聊天会话。
  4. 在聊天界面中,开始与LLM对话。您可以提问关于导入的API的问题,或者指示LLM调用某个API端点来完成特定任务。LLM将通过OpenAstra的MCP代理层来访问API信息(资源)并执行API调用(工具)。

信息

分类

开发者工具