FishMem

工作区隔离

每条记忆带项目标识,每次读取强制过滤,并且内部键不会离开数据层。

user_idagent_idrun_id 在项目内部组织记忆;工作区隔离则构成项目外层边界。前者解决相关性,后者解决安全。

工作区对应 API Key 所认证的项目。无论请求传入什么 ID,一个项目都不能读取另一个项目的记忆。

如何强制执行

  • 写入时附加项目 ID:它不是调用方需要记住的可选元数据,而是从已认证密钥自动附加。
  • 读取时注入项目过滤:搜索、读取、历史等每条路径都会在返回前应用项目边界。
  • 响应不暴露内部键:项目 ID 不出现在 API 响应中,它是内部不变量。

这套规则在数据层执行,而不是依赖应用约定。若隔离只靠“记得写 WHERE project = ...”,漏掉一个条件就会泄漏租户数据。把过滤器放到 API 表面之下,可以结构性关闭这类失败路径。

项目内部仍可用 user_idagent_idrun_id 提升相关性。这些作用域叠加在隔离之上,不能替代隔离。继续阅读作用域

On this page