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
提供商、发送范围、费用可解释;失败、取消、并发和重启不覆盖人工修改:每次 /flush 和 /dream 都显示路由与发送量,例如 sent 7 messages / 3,003 chars to llamacpp/qwen3-4b-instruct-2507 · tokens in 634, out 66 · cost not reported by the provider。
Activity
feat(rust): memory capture, Dream consolidation and diagnostics (tick…
fix(rust): memory follow-ups from the #186 real-model check (#215 #216 …
Blackman99 commentedon Sep 26, 2026
实现已在
rewrite/grok-dsh-20260920:e896d31(记忆捕获、Dream 整理与诊断)。真实模型验收发现的 4 个问题已修复:9b6eb6c(基于 95070ba,无需 rebase;#215 #216 #217 #218 已关闭)。真实运行验证(本机免费模型,无密钥,无费用)
Qwen3-4B-Instruct-2507 Q4_K_M 跑在 llama.cpp b11200 CPU 上(
llama-server,-c 20480,chat_completions),配置为[model.local]。使用真实 launchercodsh --rust --fullscreen(PTY 驱动),隔离 HOME,不用 mock overlay,也没有DSH_CODE_CLI_MOCK_*。第一轮在 95070ba 上逐条跑验收标准;修复后在全新 HOME 上复验 4 个问题。证据在 box 的/workspace/evidence-186/(各阶段README.md、屏幕、memory.log)和/workspace/evidence-186/fixes/。flush.rs、dream.rs、dream_lock.rs、index.rs、query_expansion.rs、memory_state.rs、memory_dream.rs。只用旧版存储(MEMORY.md、sessions/*.md、index.sqlite)。[memory_v2] enabled = true明确拒绝(capture 和 Dream 关闭,不碰memory-v2/);修复后inspect只剩一条“not implemented”说明([Grok/dsh 54 跟进] memory_v2=true 时 inspect 另外报 unknown security/policy field #217)。首回合召回改为参考实现的关键词 OR + BM25([Grok/dsh 54 跟进] 首回合召回把所有词用 AND 连接,Dream 前召回不到会话日志 #216)。/flush和/dream都显示路由与发送量,例如sent 7 messages / 3,003 chars to llamacpp/qwen3-4b-instruct-2507 · tokens in 634, out 66 · cost not reported by the provider。/dream拒绝;另一个进程的/dream因.dream-mutex租约拒绝。修复后,忙碌拒绝会在 Dream 完成时消失([Grok/dsh 54 跟进] “Dream is already running” 拒绝在 Dream completed 下方残留 #218)。MEMORY.md:Dream not written: MEMORY.md changed while Dream ran; your edit was kept(outcome=conflict_kept_edit)。/new取消 Dream(outcome=cancelled,gate 不动)。sessions/.archive/。--resume后的第一次/flush是delta=true,不再重复整窗内容([Grok/dsh 54 跟进] 重启或 --resume 后的第一次 /flush 变成完整 flush,内容重复 #215)。/memory→s的诊断只有游标、队列、gate、租约、上次结果和归档计数,没有测试秘密和提示原文。GROK_MEMORY_LOG只写事件行。--no-memory和[memory] enabled = false下,已有文件逐字节不变。/flush和增量 flush、session-end 摘要、/dream合并(4 个日志归档),也完成了自动 Dream(launch gate)和空闲 flush。MEMORY.md答出了 BLUEHERON / blueheron-backups。[session sessions/2026-09-26-user_requested-1ee9a1f2.md],回答引用其中的 Redis 7 和 blueheron-backups([Grok/dsh 54 跟进] 首回合召回把所有词用 AND 连接,Dream 前召回不到会话日志 #216)。检查(本机 Linux x86_64,修复提交 9b6eb6c)
pnpm run typecheck通过。pnpm test107 个文件通过 / 2 个跳过,2638 passed / 15 skipped。cargo test --locked --workspace:codsh-rust 777 passed / 4 失败,都是已知 Linux 基线失败(2 个 filesystem_sandbox Landlock、privacy structured_feedback、voice language);其他 crate 1043 passed。本次新增的单测:first_flush_after_restart_uses_the_last_flush_on_diskrecall_matches_any_keyword_ranked_and_ignores_stop_wordsmemory_v2_is_a_known_field_with_one_refusalmemory_notice_retires_a_stale_busy_refusal_onlybusy_refusals_are_recognizedmemory_keywords::testscargo fmt --check干净。严格 Clippy-D warnings只有基线已有的filesystem_sandbox.rs:743和:1372两项;加-A dead_code -A clippy::needless_return后 0 警告。pnpm run build和pnpm run build:rust成功,check:rust-package(linux-x64)和rust-install-test.py通过。rust-memory-capture-pty-test.py(新增 resumed flush、Dream 前召回、忙碌拒绝清除、memory_v2 inspect 四项检查,在 95070ba 上全部 RED,现已加入test:rust:pty)以及 image-gen 和 video-gen。remote 因没有 OpenSSH 跳过;其余脚本需要 macOS,在 Linux 上按设计拒绝。与参考实现仍有的差异(均已写入文档)
[memory_v2](topics/observations 存储)未实现,明确拒绝。MEMORY.md(真实运行中,测试用的sk-demo令牌就被模型写入了)。诊断和GROK_MEMORY_LOG不含内容。MEMORY.md和已整理日志移到sessions/.archive/而不删除;重启后的增量 flush 从磁盘读回上一次 flush([Grok/dsh 54 跟进] 重启或 --resume 后的第一次 /flush 变成完整 flush,内容重复 #215,参考实现只放在内存)。dream_lock.rs相同(真实运行中看到的锁竞争行为与参考实现一致)。5 分钟内改动过的会话日志不归档(参考实现的 recency guard)。另发现(未修)
首回合带有记忆块的会话,dsh 自动标题会变成
<local-memory> Local memory notes the,因为标题取自带注入块的首条消息。修复前就存在,不影响记忆本身。是否另开跟进待确认。未改动
main、npm 发布和默认切换都没有改动。