Nanosaur2-670M
well9472 · 工具包
用一个 670M 参数的小型扩散模型,根据文字提示生成插画,在 ComfyUI 中运行。这是一个低预算的研究模型,适合想试用或训练自己 LoRA 的人。
一个 n8n 工作流,让 Telegram 机器人为每个人保留记忆。它为每个新用户开一个 OpenAI 对话,把对话 id 存进 Supabase 表,之后每条消息都接着那段对话继续。
Telegram 机器人:每个人在 Supabase 里有自己的记忆 是一款 n8n 工作流,属于开发类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
Telegram 消息
有人给你的机器人发消息时就开始运行,没有表单:
一条接着这个人自己对话的 Telegram 回复,每个人在表里有一行
开始之前要准备好这些。
聊天应用
把每条消息送到工作流,并把回复发回去。
需要来自 BotFather 的机器人令牌,用 Telegram 凭据发送
记忆表
保存每个人的 Telegram 号码和对话 id。
需要项目地址和它的 secret key,以及一个名为 telegram_users 的表
AI 模型
保存每段对话并写出回复。
需要OpenAI API 密钥和一些额度
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流让 Telegram 机器人记住每一个给它发消息的人。Supabase 表里每个人有一行,记着他的聊天号码和他的 OpenAI 对话 id。新用户得到一段新对话,老用户接着原来的对话。OpenAI 的 Responses API 写出每条回答,Telegram 再把它发回去。十个节点完成全部工作,旁边有五张便签。
想让 Telegram 机器人把每个聊天的线索保留几天甚至几周的开发者和小团队。你需要一个 Supabase 项目和一个 OpenAI 密钥。如果所有人共用一份记忆就够了,就别选它,因为简单的聊天机器人更容易运行。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 客服 | 小店 | 回答回头客,不用再问同样的事 | 顾客一周后回来,机器人仍然知道他问的是哪一张订单。 |
| 教育 | 家教 | 和每个学生保持一个学习聊天 | 学生说想再练习上星期二的那个主题,机器人就从那里接着讲。 |
| 健康与养生 | 教练 | 在每个客户自己的对话里跟进 | 机器人记得某位客户想多走路,并问这一周过得怎么样。 |
| 社群 | 社团组织者 | 帮每位成员解答他自己的问题 | 成员追问一场活动,机器人知道他指的是哪一场。 |
你需要会一点 n8n:导入一个文件,添加四个凭据,运行两条简短的查询,再改一段文字。
任何有公开 HTTPS 地址的 n8n 都能运行它,因为 Telegram 会把每条消息发到那个地址。
点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。你需要一个 Telegram 机器人令牌、一个 Supabase 项目和一个 OpenAI API 密钥。
| 需要 | 说明 |
|---|---|
| n8n | n8n Cloud,或有公开 HTTPS 地址的服务器 |
| Telegram | 一个机器人和它的令牌,在 Telegram 里向 BotFather 申请 |
| Supabase | 一个项目、它的地址和它的 secret key |
| OpenAI | 一个 API 密钥和一些额度 |
workflow.json。telegram_users:一个是 uuid 的 id、一个 telegram_id、一个 openai_conversation_id 和一个创建时间。Get New Message 里,添加一个 Telegram 凭据,填你的机器人令牌。在 Send Message to User 里选同一个凭据。Find User 和 Create User 里,添加一个 Supabase 凭据,填你的项目地址和 secret key。Create conversation 和 Ask OpenAI 里,添加一个 OpenAI 凭据,填你的 API 密钥。Bot settings,改写 instructions 里的规则。telegram_users 里会多出一行,再发一条消息,机器人会接着聊,不会再多一行。工作流打开之后会自己回答。有人给机器人发的每条消息都会开始一次运行,并发回一条回复。第一次来写消息的人会在表里增加一行。
| 要改的 | 在哪里改 |
|---|---|
| 机器人遵守的规则 | Bot settings 里的 instructions |
| 模型 | Bot settings 里的 model |
| 没有答案时的致歉 | Pick the answer 里表达式的末尾 |
| 让某一个人重新开始 | 删掉他在 telegram_users 里的那一行 |
| 谁可以使用机器人 | Get New Message 里的 Restrict to User IDs |
一位家教在 Telegram 上开着一个小型英语班。
一位学生写道“我们能再练一次过去时吗?”。工作流没有找到她号码的那一行,于是开了一段对话并存下它的 id。机器人给出三道简短的练习。两天后她写“上次那几道我做完了”。这时那一行已经在了,所以机器人接着同一段对话,知道她指的是哪些练习。在你依赖机器人之前,先检查它教的内容,因为答案是模型生成的。
新手:n8n 把工作流画成用线连起来的方框,每个方框,也就是节点,只做一件事。Supabase 是一个在线数据库,有点像程序也能读取的电子表格。这个工作流保存一份名单,记着谁给你的机器人发过消息,以及每个人对应哪一段对话。打开之前,先点 Test workflow,并给机器人发一条消息。
专家:记忆保存在 OpenAI 那边,表里只是把一个聊天号码对应到一个对话 id,所以工作流自己从不存聊天的文字。
| 节点 | 它做什么 | 要知道什么 |
|---|---|---|
Find User | 在 telegram_users 里查聊天号码 | Always Output Data 开着,所以新用户也能走到 If 节点 |
If User exists | 把老用户送到 Merge,把新用户送到 Create conversation | 它检查 id 是文字,所以 id 列是 uuid |
Create conversation | 用 POST /v1/conversations 开一段对话 | 回答里有它的 id |
Create User | 保存号码和对话 id | Supabase 会返回保存的那一行 |
Merge | 把到达的那一行传下去 | 每次运行总有一个输入是空的 |
Ask OpenAI | 带着文字和对话 id 向 /v1/responses 发请求 | 请求体用 JSON.stringify 生成,OpenAI 会加上这段对话之前的内容 |
Pick the answer | 读取 output 里 message 项的文字 | 它跳过推理项,没有文字时写一句简短的致歉 |
原来的副本跑在 OpenAI 已经关闭的 Assistants API 上,所以这份副本把它改到了 Responses 和 Conversations API。
Bot settings 里openai_thread_id 现在叫 openai_conversation_id,建表的查询也重写了,id 用 uuidgpt-6-luna 每百万输入 token 收 0.10 美元,每百万输出 token 收 0.50 美元。Get New Message 里的 Restrict to User IDs 可以限制,它在节点版本 1.2 及以上有效,这个文件用的就是 1.2一个让 Telegram 机器人为每个人保留记忆的 n8n 工作流。有人第一次给机器人发消息时,工作流为他开一段 OpenAI 对话,并把对话 id 存进 Supabase 表里他的聊天号码旁边。之后的每条消息都接着同一段对话,所以机器人在重启或隔了一天之后仍记得这个聊天。
workflow.json:n8n 导出的工作流,十个节点和五张便签。里面没有任何凭据。README.md:这份设置说明,压缩包里的是英文版。Create conversation 取代了创建 thread 的那次调用。Ask OpenAI 取代了发送消息、启动 run 和读回消息的三次调用。一次对 /v1/responses 的调用就返回答案,新节点 Pick the answer 负责读取它。Bot settings 里,模型名也在那里,是 gpt-6-luna。openai_thread_id 现在叫 openai_conversation_id,建表的查询也重写了。id 列特意用 uuid,因为 If User exists 检查的是 id 是文字。Get New Message 现在是节点版本 1.2,它可以限制谁能使用机器人。见“要知道的事”里的第一条。workflow.json。create table public.telegram_users (
id uuid primary key default gen_random_uuid(),
telegram_id bigint not null unique,
openai_conversation_id text not null,
created_at timestamptz not null default now()
)
alter table public.telegram_users enable row level security。这样这张表对你项目的公开密钥就是关着的,n8n 用的 secret key 仍然可以使用。Get New Message 里,添加一个 Telegram 凭据,填你的机器人令牌。在 Send Message to User 里选同一个凭据。Find User 和 Create User 里,添加一个 Supabase 凭据,填你的项目地址和 secret key。Create conversation 和 Ask OpenAI 里,添加一个 OpenAI 凭据,填你的 API 密钥。Bot settings,改写 instructions 里的规则。你也可以在那里换模型。telegram_users 里会多出一行。再发一条消息,机器人会接着聊,不会再多一行。Get New Message 开始这次运行。Find User 在 telegram_users 里查这个人的聊天号码。没有这一行时,它输出一个空项。If User exists 把老用户直接送到 Merge。Create conversation 在 OpenAI 开一段对话,Create User 把它的 id 和他的聊天号码一起保存。保存的那一行进入 Merge 的第二个输入。Merge 把到达的那一行传下去,对话 id 在 openai_conversation_id 里。Bot settings 加上模型名和规则。Ask OpenAI 把消息文字连同对话 id 一起发出。OpenAI 会把这段对话之前的内容加进输入。Pick the answer 取出模型回复的文字。如果没有文字,它写一句简短的致歉。Send Message to User 把它发到消息来的那个聊天。Bot settings。Pick the answer 里表达式末尾的文字。telegram_users 里的那一行。他的下一条消息会开一段新对话。Get New Message,在 Additional Fields 下加上 Restrict to User IDs 字段,列出可以使用的 Telegram 用户号码。其他人的消息会被直接丢弃,不报错。这个字段在节点版本 1.2 及以上才会生效。gpt-6-luna 每百万输入 token 收 0.10 美元,每百万输出 token 收 0.50 美元。instructions 在一段对话里会不会延续,所以这份副本每条消息都发送它们。_ 或 * 可能让 Telegram 拒收这条消息。NOTICE.md 659 B README.md 6 KB workflow.json 11 KB
well9472 · 工具包
用一个 670M 参数的小型扩散模型,根据文字提示生成插画,在 ComfyUI 中运行。这是一个低预算的研究模型,适合想试用或训练自己 LoRA 的人。
Waqf-AI · 工具包
读取图片中的阿拉伯语手写文字并以文本形式返回。这是微调过的 PaddleOCR-VL 模型,适合要把阿拉伯语手写内容数字化的人。
Wan-AI · 工具包
根据文本提示或图像加文字生成视频片段,最高 720P、每秒 24 帧,Diffusers 格式,适合单块消费级 GPU。
Wan-AI · 工具包
根据音频生成电影感的角色视频,也能给现有视频做口型同步。适合有大显卡的视频创作者、动画师和研究人员。
Wan-AI · 工具包
通过复制表演者的动作和表情,让角色动起来,或把角色换进视频里,是 Wan2.2 视频系列中的一个模型。只能使用你有权使用的面孔和形象。
vllm-sr · 工具包
在一次调用中回答关于文字、图片或视频的选择、是非、打分、框选和跟踪类问题,并为每个答案给出概率。适合构建路由或视觉检查的人。