项目简介

AgentSDK 是一个强大的Go语言AI Agent开发框架,旨在为生产环境提供企业级的AI Agent运行时。它采用事件驱动架构,支持云端沙箱集成,并提供了丰富的高级记忆、工具生态和工作流编排能力。除了作为AI Agent运行时,AgentSDK还能够作为MCP服务器,将其内置或自定义的工具通过标准Model Context Protocol (MCP) 协议暴露给外部LLM客户端使用。

主要功能点

  • AI Agent运行时: 提供一个完整的AI Agent生命周期管理,包括消息处理、工具调用、大模型交互等。
  • 上下文管理与记忆: 支持三层记忆系统(文本记忆、工作记忆、语义记忆),能够追踪记忆溯源、智能合并,并自动脱敏敏感信息(PII)。
  • 工具集成与扩展: 内置文件系统、Bash、HTTP请求、Web搜索等多种工具。通过MCP协议,AgentSDK可以作为客户端连接其他MCP服务器来扩展其工具集,也可以作为MCP服务器向其他客户端提供工具。
  • Prompt模板: 允许定义可定制的Agent Prompt模板,支持大模型交互模式的灵活配置。
  • 事件驱动架构: 采用Progress/Control/Monitor三通道设计,清晰分离数据流、审批流和治理流,便于实时监控和控制。
  • 工作流编排: 提供顺序、并行、循环等多种工作流Agent模式,支持复杂任务的自动化处理。
  • MCP服务器功能: 能够将AgentSDK内部注册的工具(例如文件操作、文档搜索等)通过标准的JSON-RPC协议对外提供服务,供其他LLM应用或Agent客户端调用。

安装步骤

AgentSDK作为一个Go语言库,可以通过Go Modules进行安装和使用。

  1. 安装Go语言环境: 确保您的系统已安装Go语言环境 (Go 1.23或更高版本)。
  2. 安装AgentSDK库: 在您的Go项目目录中执行以下命令安装AgentSDK:
    go get github.com/wordflowlab/agentsdk
  3. 安装AgentSDK命令行工具: 如果您想直接使用AgentSDK提供的命令行工具来启动MCP服务器,可以安装其CLI:
    go install github.com/wordflowlab/agentsdk/cmd/agentsdk@latest
    安装后,'agentsdk'命令将可以在您的终端中使用。

服务器配置(供MCP客户端使用)

MCP服务器启动后,您的MCP客户端可以通过以下JSON配置信息连接到AgentSDK MCP服务器,并注册其提供的工具。

{
  "server_name": "local-agentsdk-mcp",
  "command": "agentsdk",
  "args": [
    "mcp-serve",
    "--addr",
    ":8090",
    "--docs",
    "./docs/content"
  ],
  "endpoint": "http://localhost:8090/mcp",
  "access_key_id": "可选,如果MCP服务器需要认证,提供相应的密钥ID",
  "access_key_secret": "可选,如果MCP服务器需要认证,提供相应的密钥Secret",
  "description": "本地AgentSDK MCP服务器的启动配置,提供文件操作、文档搜索等工具。"
}
  • 'server_name': 客户端为该MCP服务器定义的唯一名称。
  • 'command': 启动MCP服务器的可执行文件路径。此处为通过'go install'安装的'agentsdk' CLI命令。
  • 'args': 启动MCP服务器所需的命令行参数列表。
    • '--addr :8090': 指定MCP服务器监听的HTTP地址和端口。您可以根据需要修改端口。
    • '--docs ./docs/content': (可选)指定'docs_get'和'docs_search'工具查找文档的根目录。
  • 'endpoint': MCP服务器启动后可供客户端访问的完整URL。
  • 'access_key_id', 'access_key_secret': (可选)如果'agentsdk mcp-serve'被配置为需要认证,客户端需要提供对应的访问凭证。
  • 'description': 对该MCP服务器的简要描述。

基本使用方法

  1. 启动MCP服务器: 在命令行中执行以下命令来启动AgentSDK的MCP服务器:

    agentsdk mcp-serve --addr :8090 --docs ./path/to/your/docs
    • 请将'/path/to/your/docs'替换为您希望MCP服务器中的文档工具('docs_get', 'docs_search')访问的实际文档目录。
    • 服务器启动后,它会在 'http://localhost:8090/mcp' 地址监听JSON-RPC请求。终端会显示其暴露的工具列表,例如'echo'、'docs_get'、'docs_search'。
  2. MCP客户端连接: 您的MCP客户端(例如另一个LLM Agent应用或自定义客户端)可以使用上述JSON配置信息来连接到'http://localhost:8090/mcp'。一旦连接成功,客户端就可以通过MCP协议(JSON-RPC)调用这些工具:

    • 示例1: 调用 'echo' 工具: 客户端可以发送一个JSON-RPC请求来调用'echo'工具,例如:

      {
        "jsonrpc": "2.0",
        "method": "tools/call",
        "params": {
          "tool_name": "my-mcp-server:echo",
          "input": {
            "text": "Hello MCP client!"
          }
        },
        "id": 1
      }

      MCP服务器将返回 '{"jsonrpc": "2.0", "result": "Hello MCP client!", "id": 1}'。

    • 示例2: 调用 'docs_search' 工具: 客户端可以调用'docs_search'工具来搜索文档:

      {
        "jsonrpc": "2.0",
        "method": "tools/call",
        "params": {
          "tool_name": "my-mcp-server:docs_search",
          "input": {
            "query": "AgentSDK features"
          }
        },
        "id": 2
      }

      MCP服务器将返回搜索结果。

通过这种方式,AgentSDK不仅能运行自己的AI Agent,还能作为工具服务提供方,扩展其他LLM应用或Agent客户端的能力。

信息

分类

开发者工具