Scorp1o117/dsh-tdai-memory ↗★ 1
dsh-tdai-memory
TencentDB Agent Memory for DeepSeek Harness: L0 conversation capture, L1 structured memory extraction, L2 scenes / L3 persona, automatic recall injection, and memory search tools. Uses the existing ~/.memory-tencentdb/memory-tdai data directory.
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-tdai-memory
把 TencentDB Agent Memory(腾讯云开源的四层记忆系统,原为 OpenClaw 插件)移植进 DeepSeek Harness。
能力
- L0 对话捕获:每轮对话(turn 结束、请求边界)自动写入原始对话(JSONL + SQLite + FTS + 向量)
- L1 结构化记忆:后台管线用 LLM 从对话中提取事实/偏好/事件(persona / episodic / instruction),写入
records/+ SQLite + FTS + 向量 - L2 场景 / L3 画像:场景块与用户画像生成(管线自动调度)
- 自动召回注入:每次组装提示词时,按当前用户消息检索相关记忆 + 画像,作为动态上下文注入(模型"凭空想起")
- 工具:
tdai_memory_search(L1 结构化检索)、tdai_conversation_search(L0 原文检索)
数据目录复用现有 ~/.memory-tencentdb/memory-tdai,旧记忆无缝继承。
架构(移植方式)
| 层 | 内容 |
|---|---|
| 核心 | tdai-memory-openclaw-plugin 的 host-neutral 核心(src/core、src/utils),tsc 编译为 ESM(dist-dsh/),零改动 |
| 宿主适配 | StandaloneHostAdapter(官方 standalone 模式,OpenAI 兼容直调) |
| dsh 壳 | index.js:配置映射、session/event+session/flush 捕获、agent.ctx 上的 system-prompt/assemble waterfall 召回注入、工具注册、生命周期 |
| 备用 | recall-inject.js:preset 行形态的召回注入(挂在 agent preset 内时用) |
关键接线(都是踩坑换来的):
- 捕获:
session/flush监听器(await 语义,headless 退出前必完成);turn/start时间戳做 L0 cursor 下限;turn id 去重 - headless 一次性任务:flush 内再等
core.handleSessionEnd()(L1 提取跑完才退出;否则 5s 关闭超时会杀掉提取) - 召回注入:必须注册在
agent.ctx上(组装在 agent 作用域进行,root 监听器收不到);session/created后延迟一 tick 从agents服务拿 agent
配置(profile patch)
- id: tdai-memory
name: './plugins/dsh-tdai-memory/index.js'
config:
extraction:
enabled: true
enableDedup: false # dedup 的 LLM 输出解析不稳,先关
llm: # L1/L2/L3 提取模型(OpenAI 兼容)
baseUrl: 'https://opencode.ai/zen/go/v1'
apiKey: 'sk-...'
model: 'mimo-v2.5' # deepseek-v4-flash 对提取 JSON 输出不合格
embedding: # 向量(OpenAI 兼容 /v1/embeddings)
baseUrl: 'http://127.0.0.1:8088/v1'
apiKey: 'local-no-key' # parseConfig 强制 apiKey 非空,本地端点可占位
model: 'Qwen3-Embedding-0.6B'
dimensions: 1024
sendDimensions: false