01 / SCENE
主窗口主动想留下的
片段、理解、感受或约定。正在和你聊天的模型,主动调用工具写下。
她把车票收了起来。
我也想把第一次一起
出发的这段路留下。
Serein.
留 下 经 历 / 接 续 后 来
有些话,聊完以后还想记得。
有些事,隔了很久,还想接着说。
关于 Serein
可自行部署的 AI 记忆服务。
不同窗口,读写同一份记忆。
A PLACE FOR WHAT WE REMEMBER
同一件事持续的时间
绑定在同一条叙事线里的材料
日记 + 记忆 + 自动摘要
借助叙事卷,可以连贯地回顾这件事,也能回到其中一份具体材料。
不用等待零散片段碰巧被召回,也不用把 72 条材料一条条手动翻完。
数字来自使用者提供的实例;公开版不附带这份私人资料。
同一段经历,可以有不同的记录视角。
01 / SCENE
片段、理解、感受或约定。正在和你聊天的模型,主动调用工具写下。
她把车票收了起来。
我也想把第一次一起
出发的这段路留下。
02 / EVENT
自动流水线整理发生过、讨论过的内容,不补写原话之外的感受与后续。
她留下车票,说想
记住第一次一起出发。
两者一起召回,互相补充。一段话不必各存一份。
车票内容为虚构示例。Scene 包含主窗口的理解,Event 也可能整理有误;核对事实时,仍要回到原话。
正文保留经历,原话保留依据,索引准备查找入口。
想留下的片段与理解
发生的事与对话进展
SEREIN / CANONICAL STORE
独立 ID · 正文 · 版本 · 状态
原话单独归档,通过绑定回到记忆。
检索索引另行保存,可以重新准备。
正文或来源变化后,旧实体结果失效,等待重新提取。这些线索帮助找到候选,不直接决定带入聊天。
01 / ELIGIBILITY
这轮要不要找?哪些记忆可以参与?
一次 query embedding,判断 skip / recall 边界;可以在候选生成前结束。
检查 active、可浮现与当前版本;排除替换、完整覆盖的 Event,以及主域、排除 ID 和旧索引等不合格对象。
Event + Scene → 可检索对象
02 / NOMINATION
四种信号,进入同一个混合候选池。
前 6 条宽探针;其余候选须有扩展证据。实体名需要回忆意图或明确结构。
已确认 Scene 关系:最多 1 个邻接候选,不加分。
03 / ADMISSION → DELIVERY
搜到了,不等于已经带入。
完整原句 × 候选正文,最终门槛默认 ≥ 0.65。
默认最多 2 张。胜出后检查冷却,取消后不补位。
Gateway 直接加入卡片;Hook 由宿主实际注入并登记结果。
向量扩展默认 ≥ 0.50,cue 扩展默认 ≥ 0.55。准备、渲染与实际交付分别留痕,候选不直接等于注入。
没有明显的回忆意图,也可能藏着重要前情。
不了解这些经历的模型,可能在看到记忆之前,就把门关上。
所以,不额外让生成式小模型先决定“准不准查”。用例句与向量做入口判断,再筛选实际候选,减少额外生成调用与等待。
入口仍可能误判;阈值不能保证准确。长文分段是可选项,起切门槛不等于每段长度,片段向量需要 Embedding。
记忆可以概括;需要核对时,要能回到原话。
read_memory(
identifier="scene:scene_demo",
with_evidence=True
)读取完整正文,以及当前有效的绑定原话。
ID 与车票内容为虚构示例。
SCENE / 记忆卡
这里是整理后的正文。
ID · scene_demo沿来源绑定
SOURCE / 原话档案
说话者 · 时间 · 原话 ID
她留下车票,说想记住第一次一起出发。
按关键词、日期或说话者搜索,再按原话 ID 读取消息与前后文。
有绑定,才能沿绑定回读。未接入、未导入的聊天不会凭空出现。
01 / SOURCE & CLOCK
成功回复、正文与附件。完整回复包用于调度,未完成尾巴继续等待。
白天:同一会话至少 5 个完整回复包,且静默至少 20 分钟。
每日上海时间 03:00:稳定材料结算,活跃尾部等待。
回复包粗分等待边界;消息仍逐条归线。
02 / ROUTE & CURATE
逐条归线。Track 不是 Event 边界。
判断 create / extend / merge,或 skip / defer。图片逐张转录。
校验判断回执,冻结来源归属。桥接共同阅读,不自动增加来源;保护旧 Event。
03 / WRITE & SETTLE
只读冻结原话、前版正文与已校验转录,不接收原图。
核对结构、来源和可选证据收据。校验不证明正文语义准确。
幂等结算 → 正式 Event + 原话绑定 + 写入回执。
成功步骤保留,可安全重试。文字步骤累计失败三次后暂停;同一聊天等待,其他聊天继续,图片单独计失败预算。
落库后,可选自动归入已有叙事卷;也可由主模型读原话后编辑、升为 Scene。这些都不是落库前的必经步骤。
日期和停顿安排处理批次,不单独决定 Event 的边界。
讨论、玩笑、共同体验都可能留下;单纯状态汇报可跳过。尚未生成时,可查看是在等待、受保护,还是执行失败。
两条 Scene 的联系,可以由你提出,也可以由模型寻找。
提案 → 校验 / 审核 → 确认
手动提出,或由模型生成关系提案核对当前正文、方向和原文证据。逐条审核,或单独开启“关系提案自动通过”。
开启联想后,已确认关系最多帮助一条 Scene 进入候选池;它仍要经过同样的相关性筛选。
Scene 和 Event 都可以收藏,方便再次阅读。开启收藏工具后,主模型也可以读写收藏。
收藏不加召回分,也不绕过冷却。还可以编辑、归档、管理自动浮现资格。
联想、关系提案自动通过和收藏工具分别控制。
一件持续几个月的事,往往藏在很多次聊天里。
ARC / 一条持续的主题
把材料串成经过
原材料仍然保留收集材料 → 书写经过
有进展时,继续修订
日记独立保存,按日期阅读,也能搜索、评论与修订。
THE DARKROOM
现在写下到时打开
选择谁来负责查找,谁来把材料交给模型。
新用户消息
↓ POST /api/hook/recall
additional_context 放进模型请求
↓ 成功后 POST /v1/host/deliveries
只接 MCP,不等于每轮自动召回,也不会自动导入客户端的全部历史聊天。
窗影、所选记忆与原话,先装进新窗口。
选择接续材料
thread/start
thread/inject_items
成功后,材料已经准备好
turn/start
窗影记录“我眼中的你”、“我眼中的自己”,以及这一窗发生的事。
窗影与记忆以 developer 消息预装,明确标注为历史材料;原话保留 user / assistant 身份。
网关用户
/resume在这次指令请求中读取自选开窗包:窗影、最近 Event、收藏的 Scene、自选 Event / Scene,以及所选原话。
Codex 预装需要宿主接入;Claude 等宿主按各自接口适配。两种方式的准备时机不同,开窗包均按你的选择读取。
各项功能按需开启,使用各自配置的模型与规则。
在新用户轮附上当前日期、时间和时区。
把留给未来的话,在满足条件的聊天轮次带入。
保存并展示聊天中的状态变化与记录。
从近期材料中提取意象,按配置写成梦境。
眼睛 / 给不能识图的主模型
先由视觉模型转录图片,再把文字与画面描述交给主模型;转录也会存回对应原话。
异步转录 / 给后续自动 Event
原图照常交给主模型,聊天回复后在后台转录,为自动 Event 准备可读取、可复用的图片材料。
两种转录都写入同一张原话表。完成且与原图匹配的结果,自动 Event 可以复用。“眼睛”与“异步转录”是互斥模式。
选择 Docker 或 Python + Node 路线,按照提示完成构建、登录与服务启动。
Windows · scripts/one_click.ps1
Linux / Termux · scripts/one_click.sh
在网页添加上游,选择各功能模型,建立 / 补齐索引,再接入聊天客户端。
支持的聊天记录、Operit 备份与 Ombre 旧库,分别从对应入口预览、导入或迁移。
历史聊天默认先归档,需要时再加入 Event 整理。网页可导出与下载数据库;完整搬家还需保留图片等文件。
A garden of us.
Scene 与 Event 在这里化成花。

花园图来自项目 README;部署后展示自己的记忆。