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 配置文件。
安装步骤:
-
克隆仓库:
git clone https://github.com/korchasa/speelka-agent-go.git cd speelka-agent-go -
构建服务器:
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):
-
运行 Agent (CLI 模式): 在终端中,导航到 'speelka-agent-go' 目录,并执行编译后的服务器程序:
./speelka-agentAgent 将在 CLI 模式下运行,通过标准输入 (stdin) 接收 MCP 请求,并通过标准输出 (stdout) 返回 MCP 响应。
-
与 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与计算