Project updates
开发日志与路线图进度。
这里记录对 review 真正有用的变化:运行时行为、公开边界、验证覆盖与路线图状态。
Track 2 记忆系统设计演化
2026-05-03 - design notes .melo/track2_plan_cn.md
Track 2 现在有了更清晰的 memory-session 结构:online path 会把值得记忆的 candidate 拆到两条并行分支,一条进入快速的 working memory,另一条进入 负责 durable 或 specialized placement 的 Hippo。
- agent 在 v1 中只做轻量 write proposal:判断 candidate 是否值得记忆,保持 bool 决策。
working存短期 active task/session context,使用 LRU-style refresh;设计方向区分fresh和rehearsedmemories。- long-term persistence 需要等待相关 working memory 进入
rehearsed,或出现其他 strong write signal。 Hippo用五类明确 action 路由 durable writes:NEW、UPDATE、RELATED、CONFLICT和IGNORE。long和profile在 v1 中共享一个 physical long-term store,通过 semantic、episodic、profile、reflection 等 metadata kinds 区分。tools仍是 authoritative registry,同时扩展 procedural skill/template memory,但不能绕过 checker 或 executor policy。PersonalizedMemory是 Track 4 的 filtered sleep-sample staging area,不是 raw history dump。history保持 append-only 或 near-append-only,只用于 debugging、replay、auditability 和 provenance lookup,不参与 normal recall。
v1 foundation 已经补齐 persistent-memory 文档、multi-session SQLite
stress coverage、真实 backend long-term retrieval evidence,以及
PersonalizedMemory selected-sample schema freeze。后续 Track 2
会进入 working-memory stages、Hippo write routing、long/profile semantics、
procedural memory 和 evaluation。
真实后端 memory smoke 已归档
2026-05-10 - issue #4
OMLX、Ollama 和 MLC-LLM 已经使用同一个 Qwen3 0.6B embedding family
完成 persistent long-term retrieval smoke。长期归档位置是
tests_result/backend-smoke/2026-05-10-qwen3-embedding-0.6b/;
临时 runner output 保持分离。
下面的时间是端到端场景 wall-clock time,包含 chat generation、embedding calls、persistence/retrieval 和 agent-loop overhead;不能当作 embedding-only latency 解读。
| 后端 | Chat model | Embedding | 个人偏好 | 跨会话 | 项目开发 | GitHub |
|---|---|---|---|---|---|---|
| OMLX | Qwen3-4B | Qwen3-Embedding-0.6B | 92% / 193s | 100% / 164s | 65% / 298s | 73% / 385s |
| Ollama | qwen3:4b | qwen3-embedding:0.6b | 96% / 180s | 100% / 120s | 94% / 208s | 97% / 298s |
| MLC-LLM | qwen3-4b | Qwen3-Embedding-0.6B-q0f16-MLC | 100% / 94s | 100% / 76s | 94% / 138s | 88% / 156s |
MLC 使用真实编译产物,没有 symlink 或临时 alias。OMLX 目前通过本地 OpenAI-compatible wrapper 记录,后续再接入共享 smoke backend registry。
运行时存储、反思边界与 smoke 验证
当前 runtime baseline 已经从「能跑」推进到「能验证」。这轮主要收紧了持久化、reflection prompt、onboarding 校验,并补齐了最小 smoke 路径文档。
- SQLite history 和长期记忆改为 async
aiosqlite持久化,支持懒连接和写入串行化。 - Working memory 只保留最新一条压缩 reflection;超预算时强制
decompose。 - Onboarding 在保存配置前会 probe chat 和 embedding provider。
- Executor 边界测试覆盖工作区外绝对路径和 symlink 越界。
Chat移入 agent 内部命名空间。- Quickstart 补齐 direct CLI、gateway、session 复用、no-embedding 和 backend smoke 命令。
tests/smoke/新增可被 pytest 发现的本地 backend smoke。
Online core loop 基础完成
2026-03-29 - issue #3
Track 1 建立了第一条可用 online agent loop:检索、工具解析、规划、执行、记忆写回,以及 direct CLI / gateway 两个入口的响应路径。
- 后端注册表支持 Ollama、MLC、vLLM、SGLang 本地适配器,以及 OpenAI、Anthropic、Gemini、NVIDIA 云端适配器。
chat_backend与embedding_backend分离配置。- Attempt-based agent loop,包含结构化 reflection 与 utility gate。
- Ollama native chat provider,支持 thinking/answer 拆分。
- 数据驱动 smoke benchmark,用于 backend 对比。
初始架构拆分
2026-03-25
- 运行时拆分到
melo/,基础设施拆分到support/。 - 引入 provider contracts,降低 core runtime 与 backend implementation 的耦合。
- 建立 memory 和 sleep 包边界,为后续个性化工作留出位置。
- 围绕初始架构扩展早期回归测试。
当前路线图状态
| 区域 | 状态 | 下一步 |
|---|---|---|
| Online core loop | verified baseline | 继续补 gateway lifecycle 覆盖,并保持 backend smoke evidence 可追踪。 |
| Memory system | active design | 实现 working-memory stages、Hippo 五类 action controller,以及 metadata-typed long/profile memory。 |
| Deployment shell | planned | 定义 core runtime 之外的产品外壳职责。 |
| Sleep pipeline | planned | 先写 design issue,再实现 training/evaluation。 |
| Quality / release | ongoing | 保持 docs、tests、smoke 和 issue hygiene 与各 track 对齐。 |
Track 2 交付物
| 交付物 | 状态 |
|---|---|
| 文档化 memory env vars、file layout、retention semantics 和 reset workflow。 | v1 done |
| 添加 multi-session SQLite stress coverage。 | v1 done |
| 针对 OMLX、Ollama 和 MLC-LLM 运行并记录 real-backend long-term retrieval smoke。 | archived |
冻结并文档化 PersonalizedMemory selected-sample schema for v1。 | v1 done |
实现 working-memory fresh / rehearsed stages。 | next |
| 实现 Hippo five-action routing 和 metadata-typed long/profile memory。 | next |