跳到内容

如何添加自定义中间件

在 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 云或您的自托管平台。

后续步骤

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