跳转到内容
跳到正文
HaroCue
外观
简体中文
适用于 Mac
使用指南

记忆类型

HaroCue 用几组彼此独立的字段描述一条记忆:它表达什么、来自谁、现在是否有效、依据是否仍然可读,以及属于哪个作用域。类型不是模型的置信度,来源也不是用户确认。

维度 它回答什么问题 典型值
Claim 类型
这条记忆表达什么?
事实、偏好、决定、承诺
来源类型
它从哪里来?
应用、对话、文档、用户输入
提供者
谁写下或提出它?
User、Producer
有效性
它在什么时候成立?
当前、未来、过期、冲突、遗忘
依据支持
还能不能打开原文?
Grounded、Partial、Unavailable
作用域
哪个工作区可以读取?
工作区、全局偏好

Claim 是可以被检索和引用的陈述。类型只说明陈述的用途,不代表它已经被用户确认。

类型 适合表达 典型使用位置
Fact 事实
从来源中提取的可复用陈述
Cue、/ 问答、回顾
Preference 偏好
你明确表达的长期偏好
选定工作区,或获授权的全局偏好
Decision 决定
已经做出的选择或规则
续接工作、问答、回顾
Commitment 承诺
已经答应要做的事或计划
续接工作、回顾

「习惯」「情节」「程序记忆」可以帮助解释产品体验,但不是当前内核的持久化类型。活动频率不会自动变成偏好,模型推断也不会自动变成用户确认。

每个 Claim 至少引用一个 Evidence。Evidence 保存原文和时间信息,Claim 保存指向它的字节范围。

来源 含义 是否能直接修改
Application
获准的应用文字或桌面活动线索
不能,需通过新证据纠正
Conversation
获准的对话内容
不能,需通过新证据纠正
Document
通过文件查询得到的文本
不能,需通过新证据纠正
UserInput
你在记忆界面直接写下的内容
原文作为用户证据保存

Evidence 带 source_id、观察时间、摄入时间和可选过期时间。点开记忆节点时,界面可以用这些字段说明「为什么记得」。

提供者 含义 能否代表确认
User
你明确输入、纠正或确认的内容
可以代表用户动作
Producer
抽取或整理模型提出的内容
不能,仍需核对

内核根据查询的 known_at 和 valid_at 计算状态:

状态 说明 Cue 是否使用
Current
在查询时间已经生效,且没有被替代
还需通过 Grounded 检查
Future
记录存在,但尚未到生效时间
不使用
Expired
已超过有效期
不使用
Superseded / Retracted
被新决定替代或明确撤回
不使用
Conflict
有互相冲突的有效陈述,尚未裁决
不使用
Forgotten
被用户遗忘
不使用

纠正旧认识和后来发生变化是两种不同的关系;历史查看可以保留它们,普通 Cue 不会使用无效或未裁决的 Claim。

支持状态 含义 适合展示
Grounded
所有引用的来源片段仍可读取
Cue、问答、回顾
Partial
只剩部分来源片段
记忆检查页,提示需要复核
Unavailable
没有可用来源片段
历史检查,不作为当前答案

Grounded 只说明引用片段可读,不说明模型推断一定正确。Cue 使用 Current + Grounded 的组合条件。

作用域 可以保存什么 查询规则
工作区
项目事实、决定、承诺和局部偏好
只在当前工作区读取,不自动跨区
全局偏好
你明确确认的长期偏好
只有产品适配器显式查询时才使用

工作区切换会同时改变 scope_id 和版本校验,防止同一个 revision 被误认为属于同一个空间。清空作用域还会推进 scope_epoch,让旧任务失效。

  • 「记忆」列表和知识图谱显示类型、状态、来源数量和关联。
  • 点开节点可以查看原文片段,并区分「助理推断」和「已确认」。
  • 关系整理只补充真实存在的实体或来源连接,不会凭相似文字制造捷径。
  • 如果状态不是 Current + Grounded,普通 Cue 会跳过它;检查页仍可以让你找到原因。

对应代码:crates/harocue-memory/src/model.rs、crates/harocue-memory/src/retrieval.rs、crates/harocue-runtime/src/product_memory.rs、frontend/src/product-api.ts、frontend/src/knowledge-map.ts。

  • 添加记忆:自动抽取和手动记录如何产生 Claim。
  • 搜索记忆:哪些 Claim 有资格进入结果。
  • 更新记忆:纠正和生效时间如何保留历史。
  • 删除记忆:遗忘 Claim、Evidence 和作用域的差别。