跳到内容

如何添加自定义中间件

在 LangGraph 平台上部署代理时,您可以向服务器添加自定义中间件,以处理日志记录请求指标、注入或检查头以及执行安全策略等横切关注点,而无需修改核心服务器逻辑。这与添加自定义路由的方式相同——您只需提供自己的 Hono 应用程序。

添加中间件允许您在全球范围内拦截和修改部署中的请求,无论它们是访问您的自定义端点还是内置的 LangGraph 平台 API。

仅针对内置 LangGraph 平台 API 的请求

目前仅支持拦截和修改请求。

您仍然可以向响应添加自定义头,但目前尚不支持修改内置 LangGraph 平台端点的响应头或响应体。

创建应用

从一个现有的 LangGraph 平台应用程序开始,将以下中间件代码添加到您的 app.ts 文件中。如果您是从头开始,可以使用 CLI 从模板创建一个新应用程序。

npm create langgraph

确保安装 hono 作为依赖项。

npm install hono

拥有 LangGraph 项目后,添加以下应用代码

import { Hono } from "hono";

export const app = new Hono();

app.use(async (c, next) => {
  c.header("X-Custom-Header", "Hello World");
  await next();
});

配置 langgraph.json

将以下内容添加到您的 langgraph.json 文件中。确保路径指向您上面创建的 app.py 文件。

{
  "graphs": {
    "agent": "./src/agent/graph.ts:graph"
  },
  "env": ".env",
  "http": {
    "app": "./src/agent/app.ts:app"
  }
  // Other configuration options like auth, store, etc.
}

启动服务器

在本地测试服务器

npx langgraph-cli@latest dev --no-browser

现在,对您服务器的任何请求都将在其响应中包含自定义头 X-Custom-Header

部署

您可以将此应用程序原样部署到托管的 LangGraph Cloud 或您的自托管平台。

下一步

现在您已经为您的部署添加了自定义中间件,您可以使用类似的技术来添加自定义路由