You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Same image bytes stored once per conversation/message copy — split media payloads into a content-addressed store (follow-up to #3751/#3748) #3762
Activity
ranxianglei commentedon Oct 19, 2026
(ai: vllm-qwen/qwen3.8-27b)
查重:不重复。 与 #3748(写侧 id 重铸 → 孤儿膨胀,K/H/G 选项)、#3751(K 选项载体:载荷指纹进媒体 id,OPEN 待你批准)同家族但不同层——本项是那两项落地后剩余的跨副本字节冗余(同一像素按消息包装各嵌一份);与 #3463/#3466(保留/GC 半边)、#3400(出口缩放缓存)机制不同。已检索 open/closed issue 与近期 PR,无在途的媒体级 CAS 工作。与 #3748/#3751 互链,各管一层。
标签:scope/storage / p3(纯存储布局优化、零功能影响;增长主向量由 #3748/#3751 承载,此项单列为剩余优化)。
代码级核验(master 6f2b113,v0.1.201)
content(hash PK, byte_len, refcount, algo='sha256', bytes BLOB)(src/storage/schema.ts:119-125);putContent = insert-if-absent + refcount+1(store.ts:316-334);物理删除仅在 deleteSession/deleteCheckpoint 尾部(store.ts:833/1014)。schema 现 v5,幂等 ALTER 迁移纪律成熟(v2/v5 先例)。JSON.stringify(m)(src/storage/ingest.ts:150,230),含 imageBase64/imageMediaType sidecar → 与 Shadow ingest mints a new CAS key on every re-ingest: one image payload recorded 56x, 11.06x redundancy, 88.6% of content bytes are refcount=0 orphans #3748 生产数据一致。stateJson = JSON.stringify(record)(persist.ts:1432/1466,含 snapshot/tail + CCR envelope);CCR original store 的 byHash 值是原消息序列化文本(src/store.ts:171)。完整覆盖要算上它们。八问(决策请求)
kind列(schema v6,幂等 ALTER 照 v2/v5 先例)区分 message/media 行——便宜且符合投影列纪律,利于诊断与未来 GC 启发式。另有一个产品层问题一并请你拍板:shadow 模式要不要继续镜像图片原始字节?#3748 缓解③曾提 shadow 只留 digest。我的建议:继续镜像(unified storage 存在是为了 replay/export 保真,去重后成本可接受);若 K/H/本项都落地后尺寸压力仍在,回 #3748 再议。
排期与决策请求
依赖关系成立:#3751(K)先行——指纹 primitive 在 kernel 侧,落地后 host 直接 import,避免两套哈希。K 目前 OPEN 等你批准(#3751 floor 2 的决策请求上次已答)。H(#3748 CAS 容忍 volatile 字段)与本项正交,可并行推进。本项属 persistence 格式变更(§7.4 human-gated),拍板前不动代码。
请你拍板: 是否认可「K 先行 → 本项按上述方案实施(复用 content 表 + kind 列 v6 + lazy 迁移 + 三面全覆盖)」?认可后我在 K 合入时直接开实施 PR(引用本 issue)。任何一项想调整(不加 kind 列 / checkpoint 面放二期 / shadow 不镜像字节),说一声我照调。
fix(storage): release media refs on the stale-row sweep (#3762 review, …
storage wrap-up: GC/archive + reap journal + media CAS + incremental …
fix: split the raw OpenAI wire image copy into the media CAS too (#4069)
fix(storage): fork clone takes one CAS ref per cloned row, not per hash
fix(#5874 P2): hydrate media in the egress plane view; the plane path…
fix(#5874 P2): hydrate media in the egress plane view; the plane path…
fix(#5874 P2): hydrate media in the egress plane view; the plane path…