项目简介

Inkeep Agent运行时API是Inkeep Agent框架的核心后端服务,旨在托管和执行AI Agent,并以标准化的方式向客户端(如LLM或Web应用)提供上下文、工具和Prompt模板。它支持多Agent架构、凭证管理和多种传输协议,为构建复杂的AI应用提供了坚实的基础。

主要功能点

  • 上下文管理: 托管和管理资源,提供数据访问能力,确保Agent在会话中拥有相关的上下文信息。
  • 工具调用: 注册和执行外部工具(包括自定义函数工具和第三方MCP工具),允许Agent调用外部功能来获取信息或执行操作。
  • Prompt模板: 支持定义和渲染可定制的Prompt模板,优化Agent与LLM的交互模式。
  • 会话管理: 维护和管理Agent与客户端之间的对话状态和会话历史。
  • Agent间通信 (A2A): 支持Agent之间的协作和任务转移,实现复杂工作流。
  • 可观察性: 集成了OpenTelemetry进行追踪,便于监控Agent的运行情况。
  • 多种通信协议: 支持通过HTTP (SSE, Streamable HTTP)、JSON-RPC等协议与客户端通信。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/inkeep/agents.git
    cd agents
  2. 安装依赖:
    pnpm install
  3. 配置环境变量: 在'agents-run-api'目录下创建'.env'文件,并按需配置以下关键变量。例如:
    ENVIRONMENT=development
    DB_FILE_NAME=./inkeep.db
    ANTHROPIC_API_KEY=your_anthropic_api_key
    OPENAI_API_KEY=your_openai_api_key
    # 其他可选配置如 TURSO_DATABASE_URL, TURSO_AUTH_TOKEN 等
    其中,'ANTHROPIC_API_KEY'或'OPENAI_API_KEY'至少需要配置一个,以便Agent能够与LLM提供商交互。
  4. 运行数据库迁移: 确保数据库结构最新。
    # 假设您已安装了Drizzle CLI或其他数据库管理工具,且已进入项目根目录
    pnpm --filter @inkeep/agents-core drizzle-kit push:sqlite
    (注:如果上述命令无效,请查阅项目文档或'packages/agents-core/package.json'以获取正确的迁移命令。)
  5. 启动服务器:
    pnpm --filter agents-run-api dev # 开发模式,热重载
    # 或者 pnpm --filter agents-run-api build && pnpm --filter agents-run-api start # 生产模式 (需要先构建)

服务器配置

MCP客户端需要MCP服务器的启动命令及其参数来建立连接。以下是'Inkeep Agent运行时API'作为MCP服务器的配置信息示例:

{
  "serverName": "InkeepAgentsRunAPI",
  "command": "pnpm",
  "args": [
    "--filter",
    "agents-run-api",
    "start"
  ],
  "env": {
    "ANTHROPIC_API_KEY": "your_anthropic_api_key",
    "DB_FILE_NAME": "./inkeep.db"
  },
  "endpoint": "http://localhost:3003/v1/mcp"
}
  • 'serverName': 服务器的标识名称,例如 "InkeepAgentsRunAPI"。
  • 'command': 启动MCP服务器进程的命令,例如 "pnpm"。
  • 'args': 传递给命令的参数列表,例如 '["--filter", "agents-run-api", "start"]' 用于启动'agents-run-api'模块。
  • 'env': 进程启动时所需的特定环境变量,例如LLM API密钥和数据库文件路径。
  • 'endpoint': MCP服务器的JSON-RPC通信入口URL,默认为 'http://localhost:3003/v1/mcp'。

基本使用方法

  1. API Key 获取: 客户端需要一个有效的API Key ('Authorization: Bearer <api_key>') 来访问受保护的路由。这个API Key 通常在管理API ('agents-manage-api') 中生成和管理。
  2. MCP 初始化: LLM客户端可以通过向 '/v1/mcp' 端点发送JSON-RPC 'initialize' 请求来开始一个MCP会话。服务器将返回会话ID ('Mcp-Session-Id' 头)。
  3. 工具调用: 客户端随后可以使用 MCP 的 'tools/call' 方法来调用已注册的Agent工具,例如 'send-query-to-agent'。
  4. 聊天完成: 对于更传统的聊天交互,客户端可以使用 '/v1/chat/completions' (SSE) 或 '/api/chat' (Vercel数据流协议) 端点与Agent进行对话。

信息

分类

AI与计算