Won · revisions

一个存储库被改写了多少

revisionsrevisedtotal 作答:一个存储库里的记忆,有多少在写下之后被改动过。在把要紧的事托付给记忆之前值得问一问,或者当召回的事实和用户此刻说的话对不上时问一问。十条事实里有三条被替换过的存储库,理应比无人改动过的那一个更少被信任。

Tablet 2 及以上支持。可通过 HTTP API、Python、TypeScript 和 Rust SDK,以及作为 MCP 工具调用。更早的引擎会返回 501,并指出是哪个模型无法提供。

计数

它数的是变换动过的东西 - 取代、更新、撤回,以及被删除的图像。

mem.revisions()
# {"revised": 3, "unrevised": 37, "total": 40, …}
await mem.revisions();
mem.revisions(None).await?;
curl -X POST https://api.wontopos.com/api/v1/won/revisions \
  -H "X-API-Key: $WOS_KEY" -d '{"user_id":"alice"}'
字段含义
revised变换动过的记忆数。
unrevised自写入以来未被改动过的记忆。revised + unrevised 始终等于 total,该值是推导得出的,并非单独统计,因此并发写入不会让这三个数字互相矛盾。
total存储库中的记忆数。
counts / excludes以普通句子而非标志位说明这些数字涵盖的范围。调用方通常是模型。

读取列表

传入 include 可获取记忆本身,而不只是数量。省略时只返回计数,这是开销较低的调用。

page = mem.revisions(include="revised", limit=20)
page["memories"], page["matched"], page["has_more"]
const page = await mem.revisions(undefined, { include: "revised", limit: 20 });
let page = mem.revisions_page(None, "revised", 20, None, None).await?;
curl -X POST https://api.wontopos.com/api/v1/won/revisions \
  -H "X-API-Key: $WOS_KEY" \
  -d '{"user_id":"alice","include":"revised","limit":20}'
字段作用
include"revised""unrevised"。其他任何值都会以 400 拒绝,而不是退回为只返回计数,因为静默丢掉列表的拼写错误,看起来与一个空存储库完全一样。
limit5 到 20,默认 20。超出范围或类型错误会被拒绝,而不是截断到边界值。
matched本页背后的总行数,而非本页的条数。
ordered_by服务会声明自身的排序方式:按存储时间由新到旧,而非按最近编辑时间。
next_before下一页的游标,与 next_skip_ids 配合使用。两者都要回传,id 会跨页累积。
列表按记忆的存储时间排序,而非按改动时间。如果调用方假定为“按最近编辑时间排序”,就会读错这一页,因此响应中会说明采用的是哪一种。
删除不计入。被删掉的记忆没有留下可数的东西,所以一个大量清理过的存储库,revised 依然报得很低。这个数字告诉您的是被改写了多少,而不是消失了多少。