项目简介
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进行安装和使用。
- 安装Go语言环境: 确保您的系统已安装Go语言环境 (Go 1.23或更高版本)。
- 安装AgentSDK库: 在您的Go项目目录中执行以下命令安装AgentSDK:
go get github.com/wordflowlab/agentsdk - 安装AgentSDK命令行工具: 如果您想直接使用AgentSDK提供的命令行工具来启动MCP服务器,可以安装其CLI:
安装后,'agentsdk'命令将可以在您的终端中使用。go install github.com/wordflowlab/agentsdk/cmd/agentsdk@latest
服务器配置(供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服务器的简要描述。
基本使用方法
-
启动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'。
-
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客户端的能力。
信息
分类
开发者工具