捕获 — 将 OrbitPilot 回复转化为 Blink
Catch 的功能
在每个 OrbitPilot 回复旁边有一个书签图标 — Catch。点击它,该回复就变成了 Blink:文本(经过清理 — 没有多余的 Markdown,没有“来自你的文件”/“我的记忆过时了”通知,仅仅是 OrbitPilot 实际告诉你的内容)、建议的标题来自第一行,以及返回到它来源的确切对话的链接。
你还可以通过一个操作捕获整个对话,方法是从 ☰ 菜单 → “捕获此对话”(在完整聊天页面中,相同的按钮位于对话的标题中)。这将生成包含迄今为止所说的所有内容的一个 Blink。
已经捕获?
一旦回复(或会话)被捕获,书签图标会填充,按钮变为“已经捕获” — 这是直接链接到 Blink 的链接。再次捕获相同的回复不会生成第二个 Blink;它只会带你回到你已经拥有的那个。
会话捕获是快照,而不是窗口
捕获整个对话将其冻结在那个时刻。如果你在之后继续聊天,那个 Blink 不会增长 — Blink 本身这样说明:“包含此对话直到 <日期/时间>。后续消息不包含。” 对话的标题也显示这一点:一旦新的消息在你最后的捕获之后到达,它会告诉你并让你再次捕获 — 这会生成一个新的 Blink,并有它自己的、稍晚的“截至”时间。你之前的快照不会被静默重写。
一段非常长的对话会被截断而不是丢弃:Blink 保留最新的部分,并清晰地说明有多少条早期消息被截断,以便你不会错过任何信息。
双向链接
Blink 和对话总是互相指向。打开 Blink,你会发现一个返回到“OrbitPilot 对话”的链接(确切的回复,当它是逐个回复捕获时);打开对话,你将看到“已经捕获”标记直接链接到 Blink。
访客
未登录的访问者也能看到 Catch 图标 — 点击它时,是邀请你创建一个免费帐户的时刻,显示与免费预览限制相同的注册提示。未注册的访客不会保存任何内容。
捕获后
一个被捕获的 Blink 是一个正常的 Blink — 它以与任何新的或编辑的 Blink 相同的方式流入你的 OrbitPilot 记忆(如果你的计划启用了管理员开启的自动“快速通道”),显示与库中其他内容相同的记忆状态徽章,并且可以像你手动写的任何 Blink 那样被编辑、分类或删除。
对于开发者
所有的决策逻辑 — 清理回复文本、建议标题、幂等性保证、会话快照及其截断、双向链接的两个部分 — 都位于 orbitpilot/catch.py (catch_message / catch_session),由两个薄视图调用,orbitpilot_catch_message 和 orbitpilot_catch_session (orbitpilot/views.py),两个都限速、需要登录,并在消息/对话上具有所有权范围。来源以两种方式存储:OrbitPilotCatch (一个新模型 — 对话/消息 → Blink,针对每条消息唯一)是对话页面读取的反向查找;BlinkLink 行(现有的“将 URL 附加到 wink”模型)是 Blink 自身的前向链接,因此没有新的来源机制被发明。一个被捕获的 Blink 是通过普通的 Blink.objects.create() 创建的,因此 BL-161 的快速通道 post_save 信号会像任何其他 Blink 一样准确捕捉它 — 这个功能并没有直接与记忆管道交互。
相关页面
Docshub:“OrbitPilot 核心、册子和快速通道”(记忆/BL-161)。docs/orbitpilot/TASKS.md.
This guide was translated automatically. Read the English original.