You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用MemorySaver删除langgraph.js中的会话线程?

实现LangGraph.js线程删除的方法

因为你使用的是MemorySaver作为状态检查点存储,直接调用它的delete方法即可删除指定线程的所有状态数据,步骤如下:

  1. 单独保存Checkpointer实例
    先把MemorySaver实例单独存储,不要直接在compile方法中匿名创建:

    // 单独实例化并保存MemorySaver
    this.checkpointer = new MemorySaver();
    this.graph = new StateGraph(AssistantState)
            .addNode('route_node', this.routeNode.bind(this))
            .addNode('init_node', this.initNode.bind(this))
            .addNode('agent', this.agentNode.bind(this))
    
            .addEdge(START, 'route_node')
            .addConditionalEdges('route_node', async (state) => state.route)
    
            .addEdge('init_node', END)
            .addEdge('agent', END)
    
            .compile({ checkpointer: this.checkpointer })
    
  2. 调用delete方法删除线程
    当会话结束需要删除线程时,传入目标线程的threadId调用checkpointer.delete():

    // 假设threadId是你会话对应的线程ID
    await this.checkpointer.delete(threadId);
    

说明

  • 这里的threadId就是你调用graph.run()时,在config参数中指定的thread_id,示例:
    const runConfig = { configurable: { thread_id: "user-session-123" } };
    await this.graph.run(initialState, runConfig);
    
  • 如果后续切换到其他持久化Checkpointer(如Redis、SQL存储),需要对应调用该存储实现的删除接口,但MemorySaver的delete方法是官方内置的内存存储删除方式。

内容的提问来源于stack exchange,提问作者imv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 19:07:03