将n8n AI代理聊天记忆日志存储到Google Sheets工作流教程
n8n工作流,AI代理,聊天记忆,Google Sheets,Postgres,数据同步,自动化,会话管理

## 概述
这个n8n工作流从Postgres数据库中检索AI代理的聊天记忆日志,并将其推送到Google Sheets,为每个会话创建一个单独的工作表。这对于构建基于聊天的产品或代理的团队非常有用,他们需要在协作格式中查看或分析会话日志。

## 适用对象
* 在生产环境中使用AI代理并将对话日志存储在Postgres(或Supabase)中的任何人,希望查看转录并拥有控制权
* 构建AI代理或助手的产​​品团队
* 希望集中对话历史以进行分析或支持的团队
* 管理AI聊天记忆并需要在电子表格中探索的任何人

## 先决条件
* 具有连接到AI代理的`n8n_chat_histories`表的Postgres数据库
* 需要运行PostgreSQL查询以添加`created_at`列(参见设置>添加日期时间列)
* Google Sheets访问权限和连接到n8n的OAuth凭据
* 设置为模板的Google Sheets文档

## 工作流程说明

### 1. 触发器
工作流可以手动启动或按计划启动(例如每天中午12点)。

### 2. 检索会话
运行SQL查询以从`n8n_chat_histories`表中获取不同的`session_id`值。

### 3. 循环处理会话
对于每个会话:
* 清除相应的工作表(如果存在)
* 复制模板选项卡
* 使用当前的`session_id`重命名

### 4. 获取消息
从Postgres中选择与会话关联的所有消息。

### 5. 附加到工作表
将每条消息添加到Google Sheets,包含以下列:
* **Who**: 说话者角色(`user`、`assistant`等)
* **Message**: 文本内容
* **Date**: 来自`created_at`的时间戳,格式为`yyyy-MM-dd hh:mm:ss`

## 重要节点功能

### Postgres节点
– **获取会话ID**: 执行SQL查询收集所有sessionID
– **按sessionId获取对话**: 选择与会话关联的所有消息

### Google Sheets节点
– **清除工作表内容**: 清除以`session_id`命名的表格内容
– **添加对话**: 将消息数据写入相应的Google Sheets

### HTTP Request节点
– **复制模板工作表**: 从Google Sheets文档复制第一个工作表
– **重命名工作表**: 将新复制的工作表重命名为当前的`session_id`

### 其他节点
– **手动触发器**: 用于测试工作流
– **计划触发器**: 设置定时执行
– **循环处理会话ID**: 迭代处理每个会话
– **设置session_id**: 设置会话标识符

## 注意事项
* 每次运行时工作表都会被**清除并重建**,以确保日志是最新的
* 如果会话的工作表不存在,将通过复制第一个选项卡(模板)来创建
* 可以通过在内存配置中覆盖`session_id`,将会话分组到持久ID(如`user_id`)下
* 通过使用来自连接池的PG凭据,可以与Supabase完美配合工作

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。