FishMem

作用域与过滤器

隔离租户,并让召回约束保持明确。

每次记忆或文档操作都属于一个项目工作区。工作区内,结构化作用域说明记录属于谁。

字段常见所有者
user_id一个已认证终端用户或账户
agent_id一个助手角色、工作流或服务角色
run_id一次会话、任务或有限执行

这些作用域可以组合。写入和读取应从服务端已认证身份与应用状态推导,不能接受模型自由生成的租户边界。

过滤器

元数据过滤用于在结构化作用域内进一步限制候选项:

const { results } = await fishmem.memories.search({
  query: "current deployment decision",
  user_id: userId,
  filters: {
    and: [
      { field: "metadata.repository", op: "eq", value: "fishmem" },
      { field: "importance", op: "gte", value: 0.6 },
    ],
  },
});

只允许文档列出的字段、运算符和有限嵌套。过滤器不是 SQL,也不能覆盖项目边界。对高基数或外部输入字段,应先在应用层验证允许值。

实体操作

实体列表从仍然有效的记忆作用域中派生。重命名或删除实体可能触发持久批量操作;保留操作 ID 并检查逐项结果。实体只是便捷视图,项目隔离仍由底层数据层强制执行。

On this page