xiaowei
1ef1747769
E3 完成:增量 embedding 验证
...
E3 已实现(代码早已存在,本次验证确认有效):
- Go Commit() 在 core.go:79 调用 Embedder.EncodeSingle() → BGE HTTP 8000
- vector 随文本通过 IPC lancedb_insert 发送到 Rust,直接存储不重编码
- 验证:commit 后立即 recall,测试记忆排第一得分 0.843 ✅
更新:
- IMPLEMENTATION-FIVE.md: E3 现状修正(已实现)+ 验收标准打勾
- WORKLOG.md: E3 状态 + 下一步改为 E4 图谱推理
- 状态: E1/E2/E3 已完成,E4-E5 规划中
2026-05-31 15:17:35 +08:00
xiaowei
f65dee6a3d
E1/E2 完成:图谱导航激活 + 多 agent 命名空间验证
...
E1 — 图谱导航激活:
- 移除 ExpandFromResults 中 5 条残留 debug fmt.Printf 语句(graph_sqlite.go)
- Recall pipeline 已通过 server.go:112 SetGraphExpander 接入,无需额外代码
E2 — 多 agent 命名空间激活(验证完成,无需代码改动):
- Hermes: agent_id=hermes-a06 → namespace=hermes-main(deriveNamespace)
- OpenClaw: agent_id=openclaw, namespace=openclaw-main(zhiyi client 显式传递)
- Rust sidecar: search/scan_all 均有 namespace 过滤(only_if)
- 验证: hermes-main vs default-main 同一 query 返回不同 ID,隔离生效
更新:
- WORKLOG.md: E1/E2 状态 + 详细记录
- IMPLEMENTATION-FIVE.md: E2 现状修正(代码早已实现)+ 验收标准打勾
- 状态: 规划阶段 → E1/E2 已完成
2026-05-31 15:05:32 +08:00
xiaowei
cbe4026834
E1: remove debug fmt.Printf from ExpandFromResults, update WORKLOG
...
- Remove 5 residual fmt.Printf("[E1] ...") debug statements from
SQLiteGraphStore.ExpandFromResults (graph_sqlite.go)
- Recall pipeline already has graph expansion wired via server.go:112
(SetGraphExpander(graphStore)) — feature was implemented previously
- ExpandFromResults trigger: len(results) < 5, BFS 1-hop, dedup by ID
- Update WORKLOG: E1 completed, G6.1 cluster_only mode explained,
G6.2/G6.3 consolidated, add cd0f898/cc615c5 commits, update 下一步
2026-05-31 14:50:56 +08:00
xiaowei
cd0f898829
fix: eps=1.0 (19 clusters from 1486 items), add col_vector() for FixedSizeListArray reading
...
- eps: 0.1 → 1.0 (p50=1.011, meaningful semantic clustering)
- col_vector(): parse FixedSizeListArray and Float32Array for LanceDB vector column
- search() and scan_all() now read actual vectors instead of vec![]
- client.go: remove duplicate Epsilon field, eps=1.0
2026-05-31 14:35:29 +08:00
xiaowei
cc615c54d9
docs: add consolidate fix work log (2026-05-31)
2026-05-31 11:58:26 +08:00
xiaowei
1fa8349e48
fix: mode propagation, eps=0.1, BGE connectivity check, vector storage, WriteTimeout 60s
...
Key fixes:
- Go task mode now correctly propagates to Rust sidecar via IPC (RunWithMode)
- DBSCAN eps lowered from 1.5 to 0.1 (cosine threshold 0.995)
- Add BGE HTTP connectivity check (TcpStream 2s timeout) before Step 4 quality backtrace
- Fix LanceDB insert_batch: use Float32Array::from_iter_values + try_new with None validity
- Fix embed.rs: add .timeout(10s) on encode request
- Fix consolidation_pipe.go: nil guards on report
- Fix main.go: WriteTimeout 60s (was 10s, causing exit 52 on full mode)
- Add vector zero detection + debug logging (norms, sample distances)
- Log warning when BGE HTTP unreachable (skip quality backtrace instead of hanging)
2026-05-31 11:46:59 +08:00
xiaowei
7ac626e847
fix: useful_count type + revert resp.Result (use report_json)
...
1. Feedback端点 类型修复 (core.go)
- 之前传 map[string]int,Update() 只处理 map[string]string/map[string]interface{}
- int 被当作 string case 处理, 被丢弃
- 修复: map[string]interface{}{"": 1}
2. IPC 搜索字段名 (lancedb_ipc.go)
- Rust send_ok 用 report_json,不是 result
- 错误改用 resp.Result 导致 IPC 结果永远为空
- 回退到 resp.ReportJSON (这是正确的)
- 加 Result 字段只是为了日志可见性(不被 Rust 填充)
验证: recall_count=6, useful_count=1 确认写入 LanceDB
2026-05-31 07:43:42 +08:00
xiaowei
8d3582046c
fix: IPC 字段名 + recall_count 持久化 + feedback 端点
...
1. IPC 字段名修复 (lancedb_ipc.go)
- Rust lancedb_search 返回 'result' 字段,Go ipcResp 用 'report_json'
- 两边字段名不匹配导致 ReportJSON 永远为空,Search() 降级到 localSearch
- 后果:recall_count 只写 Go 缓存,不写 LanceDB,重启后丢失
- 修复:ipcResp 加 'Result' 字段 (json:"result"),Search() 改用 resp.Result
2. Update 扩展 支持 (lancedb_ipc.go)
- 原来只有 recall_count 支持 ,useful_count/not_useful_count 被丢弃
- 新增 getIncCachedValue() 统一处理所有 counter 字段
- 加日志:Update OK / Update FAILED 可见
- 修复 Feedback 端点 传递问题(map[string]int 而非 map[string]string)
3. /api/v1/feedback 端点 (core.go + server.go)
- POST memory_id + useful/not_useful,通过 LanceDB.Update() 持久化
- 之前返回 404
破坏性:无(Search 降级是隐式行为,原代码已有 fallback)
2026-05-31 07:36:31 +08:00
xiaowei
190e700876
docs: 更新 DESIGN.md — 同步 v3.8 实施状态
...
- Appendix E(统一记忆规划)→ 改为「v3.8 实施完成」状态
- 新增「原始会话 vs 语义记忆」澄清(Section 1.3)
- 版本日志标记 v3.8/v3.9 已实施
- 状态改为「v3.8 部分实施」
- 原始会话各自存储路径(Hermes: ~/.hermes/sessions/,
OpenClaw: ~/.openclaw/workspace/sessions/)
2026-05-31 06:46:10 +08:00
xiaowei
7684bc4075
docs: 紧急修复 - service 文件路径冲突,数据完好
2026-05-31 04:41:23 +08:00
xiaowei
09c2319d7e
fix(G6): recall_count 并发递增 + cache population
...
问题:
1. recall goroutine 通过 id 查 _local.memories 总是 cache miss(cache key 格式不匹配)
2. Update() 用 defer unlock,IPC 调用在锁外,并发时丢失递增
3. 缓存命中时跳过 incrementRecallCount
修复:
1. recall.go: 结果写入 _local.memories(cache key=id)
2. lancedb_ipc.go: 移除 defer unlock,整个 IPC 调用在锁内
3. lancedb_ipc.go: Update 发送 cache 当前值(不是硬编码 "1")
4. lancedb_ipc.go: 支持 map[string]string 和 map[string]interface{} 两类
2026-05-31 02:14:56 +08:00
xiaowei
eac0dfc889
docs: 更新服务拓扑信息,WORKLOG.md补全进程/存储/API/环境变量
2026-05-31 01:56:35 +08:00
xiaowei
9900b30acc
docs: 更新 WORKLOG.md — G6.2 LLM修复 + Qwen3.5-122B切换 + G7-G9补全
2026-05-31 01:39:40 +08:00
xiaowei
0ef3f2f0ba
fix(G6.2): LLM model换qwen3.5-122b,deploy service同步更新
2026-05-31 01:25:51 +08:00
xiaowei
b175b82b01
fix(G6.2): MiniMax M2.7 reasoning_content fallback + LLM API key 修复
2026-05-31 00:51:12 +08:00
xiaowei
3b031ed2e7
fix(G7): skill trial路由 + LLM API key 传递到 Rust sidecar + Authorization header
2026-05-30 23:55:43 +08:00
xiaowei
e95ae36236
G7.1 skill修复: trial路由{name} capture + Beta-Bernoulli后端统一
...
- Fix /api/v1/skills/{name}/trial route: was '/skills/' (no capture) → '/skills/{name}/trial'
- Skills.Trial now delegates to BayesianSkills.RecordTrial (was broken simple ETA)
- Skills.List now reads from BayesianSkills (was reading from wrong store)
- 3 successful trials → η=0.8, status=active (Beta-Bernoulli verified)
2026-05-30 23:21:34 +08:00
xiaowei
dbb43ce9b1
docs: G6 完成状态 + 新增 G7/G8
2026-05-30 23:00:54 +08:00
xiaowei
51a0747324
fix(G6): 修复 Rust IPC 字段名映射 + cluster_only 模式 + consolidation timeout
...
- client.go: Result 字段名从 clusters/noise 改为 clusters_found/noise_points(匹配 Rust)
- consolidation_pipe.go: 使用 cluster_only 避免 LLM 阻塞;GraphPruned 改为 0(cluster_only 不做 pruning)
- server.go: consolidation handler 加 30s timeout,避免 HTTP 挂起
2026-05-30 22:58:27 +08:00
xiaowei
ad831b4e7f
docs: 更新 G5 完成状态 + G6 待做
2026-05-30 22:28:33 +08:00
xiaowei
d4c13e7377
feat(G5): eval 评估框架完整实现
...
G5.1 - eval/run namespace 支持 + 完整 IR 指标
G5.2 - eval/generate 生成 12 条金标(4类×3级),recall 自动获取 expected_ids
G5.3 - vprop 反向传播端点 + V 值查询接口(/trace/vprop, /vvalue/memory/)
2026-05-30 22:26:20 +08:00
xiaowei
a629afd4cb
docs: 工作记录更新 G1-G4
2026-05-30 22:00:53 +08:00
xiaowei
93671dc1d6
feat: 接入 WSPrefetchAdapter 到 recall 管线
...
- 新增 WSPrefetchAdapter 实现 storage.PrefetchPusher 接口
- 当 agentID 为空时使用 WSBus.Broadcast(支持多 Agent)
- 在 NewAPI 中通过 SetPrefetchPusher 注入
- WebSocket prefetch.push 事件在 CO_OCCURS 权重 > 0.6 时触发
2026-05-30 21:58:26 +08:00
xiaowei
928468042f
fix: MMRSelect 使用字符 bigram Jaccard 相似度替代空向量 cosineSimilarity
...
原问题:Rust LanceDB IPC search 不返回 vector,导致 cosineSimilarity 永远为 0,
MMR 退化为纯相关性排序(无多样性去重效果)。
修复:改用 Content 字段的字符 bigram Jaccard 相似度,并修正 MMR 公式
(从 (1-λ)*rel - λ*maxSim 改为 (1-λ)*rel + λ*(1-maxSim),
使 maxSim 高时 MMR 降低,符合设计文档 §2.6)
2026-05-30 20:57:16 +08:00
xiaowei
69d41c3087
fix: E1 extractPotentialEntities 使用 utf8.RuneCountInString 而非 len() 计算中文字符数
...
- len(string) 返回字节数而非字符数,导致所有 2-8 字中文词被错误过滤
- 原始代码用 continue,现已恢复正确迭代逻辑
- 添加 unicode/utf8 导入
2026-05-30 20:33:22 +08:00
xiaowei
31712986de
fix(graph_sqlite): fix ExpandFromResults - wrong field access + Chinese entity extraction
...
Root causes fixed:
1. ExpandFromResults accessed p["to"] but SQLiteGraphStore.Navigate
returns {"source","target","relation","weight"} - field name mismatch
caused graph expansion to always return empty
2. Original logic checked seen[r.ID] (memory ID) against entity name
(neighbor string), which never matched - removed stale logic
Also improved extractPotentialEntities:
- Now handles Chinese continuous character sequences (2-8 chars)
- Chinese entities extracted as whole words, not split by spaces
- English capitalized words preserved with original casing
Changes:
- ExpandFromResults: correct field access (source/target/relation),
bidirectional neighbor detection (forward + reverse edges),
separate seenEntities map for entity dedup
- extractPotentialEntities: full rewrite for Chinese + better English
word tokenization without space-based splitting
2026-05-30 19:17:12 +08:00
xiaowei
04057637e0
docs: add 织忆五步实施计划 E1-E5,附测试验证方案
...
E1: 图谱导航激活
E2: 多agent命名空间
E3: 增量embedding
E4: 图谱推理
E5: 产品UI(长期)
每个阶段含阻塞记录+进度追踪
2026-05-30 18:58:16 +08:00
xiaowei
5927f7d740
fix(selfoptimize): repair 3 dashboard metrics that were stuck at 0
...
1. gap_closure_rate: RecordMiss now increments Dash.TotalGaps; Close
calls Dash.RecordGapClosed(). Previously denominator was never written.
2. auto_resolve_rate: scanConflicts now calls Dash.RecordConflictResolved
after each AutoResolve. Previously consolidation path bypassed Dashboard.
3. avg_distill_loss: merge-count heuristic scaled from 0.01 to 0.002
with 0.05 cap. Previously 50 merges = 0.50 loss (same weight as 50 LLM
distillations), corrupting the average.
2026-05-30 18:03:49 +08:00
xiaowei
35f78ed14b
chore: fix gitignore, remove stale graph.json, add MemoryMax limits
...
- Fix broken .gitignore (literal \n chars removed)
- Add go/build.sh to .gitignore
- Remove empty stale graph.json (SQLite graph.db is real store)
- Set MemoryMax=2G for zhiyid + zhiyi-sidecar services
- Switch VLLM_ENDPOINT to local bge-m3 (port 8000)
2026-05-30 17:58:27 +08:00
xiaowei
05c4a2d32e
fix(metrics): sync Prometheus zhiyi_total_memories from LanceDB stats
...
- Stats handler now updates TotalMemories/TotalEpisodes gauges on each call
- Startup goroutine initializes metrics 1s after boot (waits for Rust sidecar)
- Fixes zhiyi_total_memories showing 0 instead of actual count
2026-05-30 17:39:38 +08:00
xiaowei
daabd54649
fix(graph_sqlite): add busy_timeout + stale WAL/SHM cleanup on startup
...
Root cause: No busy_timeout set → immediate 'database is locked' on restart
when stale WAL/SHM/journal files remain from crashed previous instance.
Fix:
- On open(): clean stale -wal/-shm/-journal files (only if main db exists)
- After sqlite3_open(): set busy_timeout=10000ms (10s wait for locks)
- This eliminates the InMemoryGraph fallback on restart
2026-05-30 17:35:29 +08:00
xiaowei
cd49a2801a
fix(ws): add per-conn mutex to prevent concurrent WriteJSON panic
...
Root cause: Broadcast() and Push() launched multiple goroutines
writing to the same websocket.Conn simultaneously. Gorilla websocket
does not support concurrent WriteMessage/WriteJSON.
Fix: add connMu sync.Map (*websocket.Conn → *sync.Mutex) to WSManager.
Each WriteJSON now goes through writeWithLock() which acquires the
per-conn mutex. Unregister() also acquires the lock before Close()
to prevent write/close races.
No functional changes to API surface.
2026-05-30 17:15:19 +08:00
xiaowei
c5835def8f
feat: 双插件推送 — Hermes + OpenClaw zhiyi 插件同步
...
Hermes 插件 (~/.hermes/plugins/memory/zhiyi/__init__.py):
- 新增 memory_feedback 工具(useful/not-useful → VProp + Dashboard)
- 新增 memory_metrics 工具(7项自优化指标)
- recall 结果含 quality_score/v_value 字段
- system_prompt 新增 feedback/metrics 使用引导
OpenClaw 插件 (openclaw-zhiyi-plugin/):
- v0.5.0 — 3项修改由小雪完成
- types.ts: RecallResult 加 quality_score/v_value
- client.ts: navigate 改 GET+params; 加 metrics()/gaps()
- index.ts: 注册 memory_feedback/memory_metrics/memory_gaps 工具
2026-05-30 15:00:33 +08:00
xiaowei
1337f2e21a
feat: 自优化第二轮 — 待办5项全部补齐
...
1. ✅ PassiveValidator: 已在 commit path 实现 (写入 ← 验证 前已存在)
2. ✅ Consolidate报告→Dashboard: 合并数/冲突数/quality解析注入Dashboard
3. ✅ VProp自动记录recall: 命中→success V决策, 空结果→failure
4. ✅ DBSCAN eps调优: 0.5→0.3, 更适应1024d高维向量
5. ✅ Gap repair证据: repair时写evidence日志, 注入LanceDB引用
总计: +120/-15行, 4个Go文件, 已部署重启
2026-05-30 12:44:50 +08:00
xiaowei
9d2bae3324
feat: 自优化7项全部补齐
...
P0: avg_distill_loss 接入 Dashboard
- RecordDistillLoss(loss) 在蒸馏回调中写入 Dash
- loss = 1 - Overall, 归一化 0-1
P1: V 值反哺召回排序
- storage.VValueProvider 注入(server.go → VProp.GetMemVValue)
- lancedb_ipc.go Search() 排序公式:30%V值+30%importance+40%QL
P1: PassiveValidator 写回 quality_score
- 蒸馏回调中 GetRecords() 遍历并 ldb.Update quality_score
P2: CausalTracker Redis 持久化 + 自动触发
- EnableCausalRedisPersistence() 启动加载
- persistCausal() 每次 RecordVersion/AddDependency 后同步
- commit 路径自动 RecordVersion(memID, content, agent, 'commit')
P2: GapDetector 自动 repair
- t_gap 触发器除关闭过期缺口外,对开放缺口调用 AutoRepair
- 修复成功后 RecordGapClosed
P3: Skill 结晶接入
- RecordTrial(name, success) 程序化接口
- 蒸馏/合并触发器中 RecordTrial('auto_distill', true)
P3: 指标采集 6h → 30min
测试: 全部重启持久化验证通过
2026-05-30 12:08:16 +08:00
xiaowei
945e5dfc66
feat: 自优化5项全链路补齐
...
P1: GapDetector Redis 持久化
- 13个缺口字段序列化为 JSON 写入 zhiyi:gaps HASH
- misses 计数器写入 zhiyi:gap_misses
- RecordMiss/Close 后自动 persist + 启动时 loadFromRedis
- 重启不丢缺口记录
P2: VPropagator Redis 持久化 + useful/not-useful 接入
- 决策记录写入 zhiyi:vprop_decisions HASH
- V 值写入 zhiyi:vprop_values HASH
- RecordDecision 后自动 persist
- feedback/useful → success, feedback/not-useful → failure
P3: 中文分类改进
- classifyGap 降级时检测中文同义词标记(又称/别名/aka)
- 含标记的 query 归为 GapSynonym(B) 而非 GapUnknown(A)
P4: QualityDropMonitor 阈值 5→2 + 蒸馏质量分
- minFeedbacks 从 5 降至 2,更早触发质量监控
P5: CoOccurTracker Redis 持久化
- RedisCoOccurPersist() 写入 zhiyi:cooccur HASH
- RecordRecall 中调用 ct.persist() 持久化每条边
- recall pipeline 中独立 goroutine 触发共访追踪
- LoadCoOccurFromRedis() 启动时加载
测试: 全部 5 项重启验证通过
2026-05-30 12:01:37 +08:00
xiaowei
c861171031
fix: PassiveValidator GetRecords 返回 [] 而非 null
2026-05-30 11:53:42 +08:00
xiaowei
bceb5fb059
feat: 自优化4大链路补齐
...
1. GapDetector 自动接入 recall 路径
- MissRecorder callback → RecallPipeline
- 0 结果时自动 RecordMiss(query)
- server.go 中 gapDetector 初始化后挂载
2. Dashboard 持久化到 Redis
- EnableRedisPersistence() 启动时加载
- persist() 每次 mutate 后同步 13 个计数器到 Redis HASH
- 重启不丢指标
3. PassiveValidator 接入 commit 路径
- 新记忆提交后自动 P1/P2/P3 匹配验证
- 复用 Validator.Validate 逻辑
4. VPropagator 接入 feedback/correct
- 用户修正时记录决策 V 值
- 使用 user_correct 来源 + success 结果
Closes: 10% 缺失代码 + 40% 缺失链路
2026-05-30 11:27:27 +08:00
xiaowei
064046f6da
fix: 7维置信度评分打通 — IPC持久化 + 时间衰减 + QualityScore融合
...
Rust sidecar:
- 新增 lancedb_update IPC 处理器 + update() 函数
- 使用 LanceDB 0.15 table.update() + SQL 表达式实现字段级更新
Go service:
- Update() 方法双写:本地内存缓存 + Rust IPC 持久化
- RecallCount 和 LastRecalledAt 通过 IPC 写入 LanceDB(不再重启归零)
- Dash.RecordRecall 加入 recall 回调 → recall_hit_rate 正常采集
- Search 返回时实时计算重要性得分(7维融合):
1. RecallCount → log(1+count) 对数缩放
2. LastRecalledAt → recency_factor(<7d=1, 7-30d=0.5, >30d=0.2)
3. QualityScore → 蒸馏 LLM 5维评分
4. VolatileFlag → true 时降权 50%
5. Tier 分层(core 永不衰减,预留)
6. PageRank(SQLite 图谱端,暂未连通)
7. CoOccur(内存追踪器,暂未持久化)
- 召回排序权重: rerank_score×0.7 + quality_score×0.3
待处理(需跨库协调):
- PageRank → Importance 联通(consolidation 周期写入)
- CoOccur 持久化(SQLite 存储)
2026-05-30 11:06:28 +08:00
xiaowei
36af93055f
fix: 蒸馏产物不回写记忆库,OnDistillComplete缺InsertMemory
...
蒸馏引擎跑完后结果只进了图谱(SQLite)没有写回LanceDB记忆库。
OnDistillComplete回调中有graphUpdater.UpdateFromDistill()
和冲突检测,但没有将extracted facts作为distilled类别记忆
写入memories表。
修复:在server.go的OnDistillComplete回调中添加
ldb.InsertMemory循环,将result.Facts逐条写入LanceDB。
同时添加models import。
验证:
- force distill -> 5条distilled记忆写入,评分0.828-0.987
- 时间戳正确,category=distilled
- recall可通过category过滤获取蒸馏产物
2026-05-30 10:41:42 +08:00
xiaowei
ff935587bd
fix: Search IPC 捕获 created_at/updated_at,recall 时间戳不再为零值
...
lancedb_ipc.go Search() 反序列化 Rust 侧车返回结果时,
匿名 struct 缺少 created_at/updated_at 字段,导致所有
recall 结果 timestamp 为 time.Time{}(0001-01-01T00:00:00Z)。
修复:添加 CreatedAt/UpdatedAt string 字段 + 解析 RFC3339。
同时清理测试记忆。
2026-05-30 10:31:25 +08:00
xiaowei
af14d7aa5f
fix: 恢复LLM_API_KEY + 添加OBSIDIAN_VAULT配置
...
- 修复 systemd service 中损坏的 API key
- 添加 OBSIDIAN_VAULT 环境变量
- 添加 systemd override 机制
2026-05-30 09:25:52 +08:00
xiaowei
d876b963c8
v3.8-graph: P0-P6 图谱增强
...
- P1: LLM prompt 升级 — 同时提取实体+事实+5D评分
- P2: NavigateBiDir 重写 — 真双向BFS路径查找+权重打分
- P3: CO_OCCURS/DERIVED_FROM/CONFLICTS_WITH 边创建
- P4: 图谱定期修剪 接入 consolidate 流水线
- P5: PageRank 自动更新 + 节点写回
- P6: ExpandFromResults 修复 — 实体提取+节点ID规整
2026-05-30 05:23:15 +08:00
xiaowei
9a6befed85
fix: distill callLLM5D JSON 解析加错误检查 + 日志
...
- 之前 Unmarshal 错误被忽略,静默返回零分
- 加错误日志和 fallback,方便调试
2026-05-30 05:08:53 +08:00
xiaowei
f8e6d27342
feat: distill 支持 reasoning 模型 + LLM_ENDPOINT 配置
...
- engine.go: 解析 LLM 响应时 content 为空则用 reasoning_content
- engine.go: Message 结构体加 ReasoningContent 字段
- service: LLM_ENDPOINT/LLM_MODEL/LLM_API_KEY 环境变量
- 模型: glm-4.7-flash (localhost:3000 v1 proxy)
2026-05-30 04:57:54 +08:00
xiaowei
2731e111dd
feat: dailyLimit 50→5000 + VPropagator 激活 + 竞争性架构连接
...
- distill: dailyLimit 提升到 5000(原 50),允许大量 LLM 蒸馏
- cost_control: DefaultCostConfig.DailyLimit 同步改为 5000
- server: 添加 VPropagator 实例化,蒸馏完成时记录 V 值决策
- server: OnDistillComplete 回调中连接 Dash.RecordUseful() 仪表盘
- plugins: Hermes+OpenClaw 插件源码纳入仓库
2026-05-30 04:48:51 +08:00
xiaowei
2464689c32
feat: 集成 Hermes + OpenClaw 记忆插件到仓库
...
- plugins/hermes-zhiyi: 530行 Python 插件, 含 key 自检/重试/调试日志
- plugins/openclaw-zhiyi: v0.2.0 CJS, 修复 agent_id/namespace/register 同步
- Hermes 插件改动: commit 失败自动重试, key_prefix 调试日志, health 自检
- OpenClaw 插件改动: register 改为同步, 使用 registerService 做异步初始化
2026-05-30 04:46:42 +08:00
xiaowei
da917f7eb8
feat: openclaw memory-zhiyi plugin v0.2.0 — 修复agent_id, 增加feedback/prefetch/forget/stats, 增强错误处理
2026-05-30 04:20:24 +08:00
xiaowei
dbb9a032aa
新增: 本地 bge-m3 嵌入服务器 (embed-server.py) + 重索引脚本
2026-05-30 03:18:43 +08:00
xiaowei
c52f07a892
进度更新: G1-G9 全部完成, Hermes 插件添加 WebSocket
2026-05-30 02:16:47 +08:00