How tosHttp

如何添加自定义中间件

如何添加自定义中间件

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

添加中间件让你可以全局拦截和修改请求,无论它们是指向你的自定义端点还是内置的 LangGraph Platform API。

:::warning[仅适用于内置 LangGraph Platform API 的请求]

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

你仍然可以向响应添加自定义 headers,但修改内置 LangGraph Platform 端点的响应 headers 或响应 body 尚不支持。

创建应用

现有的 LangGraph Platform 应用开始,将以下中间件代码添加到你的 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"
  }
  // 其他配置选项如 auth、store 等。
}

启动服务器

在本地测试服务器:

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

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

部署

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

下一步

既然你已经向部署添加了自定义中间件,你可以使用类似的技术来添加自定义路由

On this page

On this page