项目简介
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模板。
安装步骤
- 克隆仓库:
git clone https://github.com/Thunderblok/Thunderline.git cd Thunderline - 安装依赖并设置数据库: 确保您已安装Elixir 1.15+、OTP 26+、PostgreSQL 18和Node.js 18+。
(可选)如果您不想重新获取依赖,可以使用 'SKIP_DEPS_GET=true mix setup'。mix setup - 启动开发服务器:
应用程序将在 'http://localhost:4000' 上可用。mix phx.server
服务器配置 (供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与计算