Speelka Agent 使用说明

项目简介

Speelka Agent 是一个基于 Model Context Protocol (MCP) 的通用 LLM Agent 实现。它作为一个 MCP 服务器,可以接收来自任何 MCP 客户端的请求,并利用自身或外部 MCP 服务器提供的工具来处理用户查询。Speelka Agent 的核心目标是优化客户端上下文管理,提高 LLM 应用的效率和灵活性。

主要功能点:

  • 精确的 Agent 定义: 通过 Prompt 工程定义详细的 Agent 行为。
  • 客户端上下文优化: 减少客户端上下文大小,提高 Token 使用效率。
  • LLM 灵活性: 客户端和 Agent 端可以使用不同的 LLM 提供商。
  • 集中式工具管理: 统一管理所有可用工具,支持集成外部 MCP 工具。
  • 多种集成选项: 支持 MCP stdio, MCP HTTP 和 Simple HTTP API。
  • 内置可靠性: 具备重试机制,处理瞬时故障。
  • 可扩展性: 无需客户端更改即可扩展系统行为。
  • MCP 感知日志: 结构化日志记录 MCP 通知。
  • Token 管理: 自动 Token 计数。
  • 灵活配置: 支持环境变量、YAML 和 JSON 配置文件。

安装步骤:

  1. 克隆仓库:

    git clone https://github.com/korchasa/speelka-agent-go.git
    cd speelka-agent-go
  2. 构建服务器:

    go build ./cmd/server

服务器配置(MCP客户端配置示例 - Stdio 传输):

MCP 客户端需要配置以下信息以连接 Speelka Agent 服务器。以下是一个 Stdio 传输的 JSON 配置示例,用于说明 MCP 客户端如何连接到 Speelka Agent:

{
  "serverName": "speelka-agent",
  "transport": "stdio",
  "command": "./speelka-agent",
  "args": []
}
  • serverName: MCP 服务器的名称,可以自定义,用于在客户端标识连接。例如: '"speelka-agent"'
  • transport: 指定传输协议,这里使用标准输入输出流,设置为 '"stdio"'。
  • command: 启动 MCP 服务器的命令。这里假设您在 'speelka-agent-go' 仓库根目录下构建并运行服务器,因此命令为 './speelka-agent'。请根据实际情况修改为 Speelka Agent 可执行文件的路径。
  • args: 启动命令的参数,Speelka Agent 在 Stdio 模式下运行时不需要额外的命令行参数,因此为空数组 '[]'。

基本使用方法 (CLI 模式 - Standard Input/Output):

  1. 运行 Agent (CLI 模式): 在终端中,导航到 'speelka-agent-go' 目录,并执行编译后的服务器程序:

    ./speelka-agent

    Agent 将在 CLI 模式下运行,通过标准输入 (stdin) 接收 MCP 请求,并通过标准输出 (stdout) 返回 MCP 响应。

  2. 与 Agent 交互 (发送 MCP 请求): 您可以使用任何 MCP 客户端(例如实现了 MCP 协议的应用程序或工具)通过 Stdio 传输与 Speelka Agent 进行交互。客户端需要按照 MCP 协议格式构造 JSON-RPC 请求,并通过标准输入发送给 Agent。Agent 处理请求后,会将 JSON-RPC 响应通过标准输出返回给客户端。

    例如,一个简单的 'tools/call' 请求 JSON 结构可能如下所示(需要通过 MCP 客户端发送):

    {
      "jsonrpc": "2.0",
      "method": "tools/call",
      "params": {
        "name": "process",
        "arguments": {
          "input": "你好,世界!"
        }
      },
      "id": 1
    }

    Agent 会根据配置的 Prompt 模板和连接的外部工具处理该请求,并将结果通过标准输出返回。

注意: 以上 “服务器配置” 部分提供的是 MCP 客户端连接 Speelka Agent (MCP 服务器) 的配置示例,重点是如何启动 Speelka Agent 服务并配置客户端连接,而不是 Speelka Agent 服务器自身的配置(例如 YAML 配置文件)。

信息

分类

AI与计算