项目简介

Thunderline是一个基于Elixir生态系统(Phoenix和Ash Framework)构建的先进分布式智能系统。它融合了事件驱动架构和空间计算能力,旨在通过一系列专业处理单元(Thunderblocks)协调复杂的领域交互。作为一个MCP服务器,它能够以标准化的方式向LLM客户端提供托管资源、调用工具和渲染Prompt模板的能力,为智能应用提供可扩展的上下文服务框架。

主要功能点

  • 资源管理与数据访问: 基于Ash Framework实现声明式资源建模,例如提供工单(Ticket)等资源的列表和创建能力。
  • AI治理与决策: 通过ThunderCrown域管理AI编排和决策架构,支持与Cerebros等外部ML服务的桥接,实现超参数优化和神经网络架构搜索。
  • 实时事件处理: 采用事件溯源和门控架构,处理事件具有亚毫秒级延迟,支持复杂的补偿逻辑和弹性重试机制。
  • 3D空间计算与可视化: 实现实时3D蜂窝自动机(Cellular Automata)可视化,处理复杂的空间关系。
  • 外部系统集成: 提供ThunderGate服务,负责外部系统集成、安全和网关服务。
  • LLM上下文服务: 通过JSON-RPC接口,以标准化方式为LLM客户端提供上下文信息、工具调用及Prompt模板。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/Thunderblok/Thunderline.git
    cd Thunderline
  2. 安装依赖并设置数据库: 确保您已安装Elixir 1.15+、OTP 26+、PostgreSQL 18和Node.js 18+。
    mix setup
    (可选)如果您不想重新获取依赖,可以使用 'SKIP_DEPS_GET=true mix setup'。
  3. 启动开发服务器:
    mix phx.server
    应用程序将在 'http://localhost:4000' 上可用。

服务器配置 (供MCP客户端参考)

Thunderline MCP服务器通过HTTP 'POST' 请求在 '/rpc/run' 路径上提供JSON-RPC服务。LLM客户端可以配置以下信息来连接和使用此MCP服务器。

{
  "server_name": "Thunderline MCP Server",
  "command": "mix",
  "args": ["phx.server"],
  "transport": {
    "type": "http",
    "url": "http://localhost:4000/rpc/run"
  },
  "capabilities": {
    "resources": [
      "ThunderlineThunderlinkResourcesTicket"
    ],
    "tools": [
      "create_ticket",
      "list_tickets"
      // 根据您的应用逻辑,可能还有更多由ThunderCrown/Cerebros提供的工具
    ],
    "prompts": [] // Prompt模板取决于服务器实际定义
  }
}

配置参数注释

  • 'server_name': MCP服务器的名称,用于客户端识别。
  • 'command' 和 'args': 启动Thunderline应用所需的命令和参数。请确保Elixir环境已正确设置。
  • 'transport.type': 通信协议类型,Thunderline通过HTTP提供RPC接口。
  • 'transport.url': MCP服务器的JSON-RPC端点。
  • 'capabilities.resources': 服务器托管和管理的资源列表,例如 'ThunderlineThunderlinkResourcesTicket'。LLM客户端可以通过RPC请求来访问这些资源。
  • 'capabilities.tools': 服务器注册和执行的工具列表,例如 'create_ticket' 和 'list_tickets'。LLM客户端可以调用这些工具执行外部功能。
  • 'capabilities.prompts': 服务器定义的Prompt模板列表。

基本使用方法

MCP客户端可以通过LLM发送JSON-RPC请求来与Thunderline服务器交互。例如,要列出所有工单资源:

客户端可以构造一个类似以下的JSON-RPC请求(实际通过LLM生成):

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "list_tickets",
  "params": {
    "fields": ["id", "subject"],
    "filter": {
      "subject": { "like": "%urgent%" }
    },
    "page": {
      "limit": 10
    }
  }
}

服务器将返回包含匹配工单列表的JSON-RPC响应。

要创建一个新的工单:

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "create_ticket",
  "params": {
    "input": {
      "subject": "Need help with network issue"
    },
    "fields": ["id", "subject"]
  }
}

服务器将返回新创建工单的详细信息。

信息

分类

AI与计算