
OpenClaw 记忆插件现场诊断数据导出指南memory-tencentdb 诊断包打包与脱敏实战【免费下载链接】TencentDB-Agent-MemoryTencentDB Agent Memory is a team-level memory hub for AI Agents — turning conversations, docs, and code into four reusable memory assets (Chat Memory, Skill, LLM-Wiki, Code-Graph) that are governed, shared, and equipped across agents and frameworks.项目地址: https://gitcode.com/GitHub_Trending/te/TencentDB-Agent-Memory本篇技术指南以 TencentDB-Agent-Memory 仓库中MemoryCore/SKILL-DIAGNOSTIC-EXPORT.md技能定义为骨架完整讲解如何将 OpenClaw 网关日志、memory-tencentdb 记忆插件数据L0~L3以及脱敏后的配置打包为本地压缩包供研发团队排查问题。读完本文你将掌握诊断导出技能的环境探测、脚本执行、内容核对、手动兜底四条完整路径并理解数据目录、日志位置、脱敏规则背后的源码实现依据能够独立完成一次现场数据收集与安全交付。技能定位与触发方式SKILL-DIAGNOSTIC-EXPORT.md是一个面向 OpenClaw 环境的技能定义文件skill其 frontmatter 声明如下name: openclaw-diagnostic-export description: 帮助用户导出 OpenClaw memory-tencentdb原 memory-tdai记忆插件的现场诊断数据用于排查问题。当用户提到导出诊断数据export diagnostic现场数据排查问题导出日志收集现场打包现场数据时应触发。 version: 1.0.0该技能的核心目的是将 OpenClaw 日志、记忆插件数据L0~L3、脱敏后的配置打包为本地压缩包由用户确认后手动发送给研发团队排查问题。它对应的应用场景正是仓库中其他技能如 SKILL.md 中的openclaw-memory-tencentdb-setup安装配置技能的事后排查闭环——先安装配置、验证记忆链路出了问题再导出诊断数据。名称与数据目录的关系重要前提名称说明插件已从tdai/memory-tdai更名为tencentdb-agent-memory/memory-tencentdb但数据目录始终为~/.openclaw/memory-tdai/代码中硬编码。本 skill 中所有对memory-tdai目录的引用均指实际数据目录路径与插件 ID 无关。这一点在源码中可以得到印证在 src/gateway/config.ts 中默认数据目录解析逻辑明确写到~/.memory-tencentdb/memory-tdai/并说明宿主插件数据目录由resolveStateDir() memory-tdai决定通常是~/.openclaw/memory-tdai/该路径是有意保持不变的同时若检测到旧版~/memory-tdai仍存有数据网关会继续使用旧目录并打印一行弃用警告。因此无论插件包名如何演变诊断时始终从memory-tdai目录取数。导出工作流标准四步Step 1: 确认环境在导出前先确认 OpenClaw 工作目录存在且可访问。技能给出了目录探测命令优先级为环境变量 ~/.openclaw~/.clawdbot# 探测工作目录优先级环境变量 ~/.openclaw ~/.clawdbot OPENCLAW_DIR${OPENCLAW_STATE_DIR:-$HOME/.openclaw} [ -d $OPENCLAW_DIR ] || OPENCLAW_DIR$HOME/.clawdbot ls -la $OPENCLAW_DIR/ 2/dev/null echo ✅ 找到: $OPENCLAW_DIR || echo ❌ 未找到 OpenClaw 工作目录其中OPENCLAW_STATE_DIR环境变量正是仓库中 src/utils/openclaw-state-dir.ts 所实现的目录解析入口。随后确认 memory-tdai 子目录存在ls -la $OPENCLAW_DIR/memory-tdai/ 2/dev/nullStep 2: 执行导出脚本运行项目scripts/目录下的导出脚本bash scripts/export-diagnostic.sh脚本位于本项目的scripts/export-diagnostic.sh如果通过pnpm或其他方式运行需确保工作目录在项目根目录下。脚本默认将压缩包输出到~/Downloads/openclaw-diagnostic-timestamp.tar.gz。如需指定其他输出目录将路径作为第一个参数传入bash scripts/export-diagnostic.sh /tmp需要说明的是该脚本属于技能运行时生成的辅助脚本当前仓库的 scripts/ 目录下并不包含此文件——因此若在检出目录中找不到该脚本例如 Node.js 工具链不可用请直接使用下文手动导出脚本不可用时的备选方案一节中的完整命令序列自行收集两条路径产出的数据内容一致。Step 3: 确认导出结果脚本执行完成后检查输出确认压缩包已生成—— 脚本末尾会打印压缩包路径和大小向用户说明包含内容文件/目录内容隐私风险env-info.txt系统版本、OpenClaw 版本、目录结构、磁盘占用低logs/OpenClaw 网关日志 滚动日志最近 3 天每文件最多 5000 行低memory-tdai/记忆插件全量数据L0 对话、L1 记忆、L2 场景、L3 画像、SQLite 数据库、checkpoint高—— 包含用户对话原文openclaw-config-redacted.json脱敏后的配置已移除 API Key/Token/Password/Secretmodels/channels/env 整体替换低plugins-info.txt已安装插件列表和版本低提醒用户配置文件已自动脱敏API Key、Token 等敏感信息已被替换为***REDACTED***记忆数据memory-tdai/包含用户对话原文请确认可以分享后再发送压缩包存放在本地不会自动上传需要用户手动发送给研发团队。Step 4: 告知用户后续操作导出完成后告知用户压缩包已保存在本地打印具体路径请检查内容后通过企微/邮件等方式手动发送给研发团队如只需部分数据如仅日志或仅配置可解压后选择性发送。导出内容详解OpenClaw 日志位置技能将排查所需的日志按类型归类如下日志类型路径说明网关 stdout~/.openclaw/logs/gateway.log网关守护进程标准输出网关 stderr~/.openclaw/logs/gateway.err.log网关守护进程错误输出滚动日志/tmp/openclaw/openclaw-YYYY-MM-DD.log按日期滚动JSON Lines 格式24h 自动清理配置审计~/.openclaw/logs/config-audit.jsonl配置写入审计记录命令日志~/.openclaw/logs/commands.log命令事件日志hook 可选其中/tmp/openclaw滚动日志目录在源码中有明确依据src/utils/clean-context-runner.ts 中定义了POSIX_DIR /tmp/openclaw作为上下文清理与日志落盘的默认位置并带有 24 小时自动清理机制。记忆插件数据结构导出的memory-tdai/目录遵循固定的四层记忆存储布局~/.openclaw/memory-tdai/ ├── conversations/ — L0 原始对话每日 JSONL 分片 ├── records/ — L1 结构化记忆每日 JSONL 分片 ├── scene_blocks/ — L2 场景 Markdown 文件 ├── persona.md — L3 用户画像 ├── vectors.db — SQLite 数据库向量 全文索引 ├── .metadata/ — checkpoint、scene_index.json └── .backup/ — 滚动备份这些目录与文件在仓库源码中均可逐一对应conversations/L0 对话捕获由 src/core/conversation/l0-recorder.ts 实现注释明确写着writes to~/.openclaw/memory-tdai/conversations/YYYY-MM-DD.jsonl即按日期分片的 JSONL 文件src/cli/commands/seed.ts 中的openclaw memory-tdai seed --input conversations.json命令也印证了该目录是 L0 数据的标准入口scene_blocks/与persona.mdL3 画像生成在 src/core/persona/persona-generator.ts 中按dataDir/scene_blocks读取场景文件并由 LLM 写回persona.mdL181 备份、L215 后处理召回侧 src/core/hooks/auto-recall.ts 直接从profileDataDir/persona.md读取画像内容注入提示词.metadata/包含 checkpoint 与 scene_index.json。src/core/persona/persona-generator.ts 中 checkpoint 路径为dataDir/.metadata/recall_checkpoint.jsonsrc/cli/README.md 展示的数据目录树中同样列出.metadata/及其下的checkpoint.json管线进度。配置脱敏规则导出脚本对openclaw.json执行以下脱敏规则处理方式字段名匹配apiKey/token/password/secret/credential且值为字符串替换为***REDACTED(Nchars)***SecretRef 对象含 source/provider/idid 替换为***REDACTED***顶层models、secrets、channels、env块整体替换为***REDACTED_SECTION***gateway.auth下的 token/password替换为***REDACTED***其余字段含plugins完整配置保留原样插件配置是排查重点脱敏设计的原则是保插件、杀密钥plugins完整配置含 memory-tencentdb 的 recall/capture/extraction/pipeline/embedding 等分组参见 SKILL.md 的推荐模板必须原样保留因为它是排查向量检索、召回策略等问题的核心现场而所有可能泄露凭据的字段一律遮蔽。这与仓库全局的密钥管理规范一致——例如 SKILL.md 的安全合规约束要求将 apiKey 视为敏感信息优先使用环境变量注入密钥。手动导出脚本不可用时的备选方案如果导出脚本无法执行如 Node.js 不可用按以下步骤手动收集# 1. 创建导出目录 EXPORT_DIR~/Downloads/openclaw-diagnostic-$(date %Y%m%d-%H%M%S) mkdir -p $EXPORT_DIR # 2. 复制日志 cp -r ~/.openclaw/logs/ $EXPORT_DIR/logs/ 2/dev/null cp /tmp/openclaw/openclaw-$(date %Y-%m-%d).log $EXPORT_DIR/ 2/dev/null # 3. 复制记忆插件数据 cp -r ~/.openclaw/memory-tdai/ $EXPORT_DIR/memory-tdai/ 2/dev/null # 4. 手动脱敏配置⚠️ 必须手动删除敏感字段 # 复制配置并用编辑器删除 models/secrets/channels 块和所有 apiKey/token 值 cp ~/.openclaw/openclaw.json $EXPORT_DIR/openclaw-config-NEEDS-MANUAL-REDACTION.json # 5. 打包 cd ~/Downloads tar -czf $EXPORT_DIR.tar.gz $(basename $EXPORT_DIR) echo ⚠️ 请务必在发送前手动检查并删除配置中的敏感信息手动路径的关键差异在第 4 步由于没有脚本自动脱敏产物文件名被刻意标记为openclaw-config-NEEDS-MANUAL-REDACTION.json强制提醒操作者在发送前人工检查并删除models/secrets/channels块以及所有apiKey/token值。若当前环境设置了TDAI_DATA_DIR或MEMORY_TENCENTDB_ROOT覆盖数据目录的配置方式见 src/gateway/config.ts 中TDAI_DATA_DIR ?? data.baseDir ?? resolveDefaultDataDir()的解析优先级第 3 步应复制到实际的数据目录位置而非硬编码的~/.openclaw/memory-tdai/。常见问题排查线索导出数据后研发团队通常关注以下方面排查方向查看文件关键信息插件是否加载logs/中搜索[memory-tdai]插件注册、配置解析日志注日志标签仍为[memory-tdai]与插件 ID 无关记忆召回是否工作logs/中搜索[recall]搜索策略、耗时、命中数L1 提取是否触发logs/中搜索[pipeline]调度触发、L1/L2/L3 执行状态向量搜索是否可用openclaw-config-redacted.json的plugins.entriesembedding 配置是否正确数据量/磁盘占用env-info.txtdu 输出、文件数量checkpoint 状态memory-tdai/.metadata/recall_checkpoint.json进度、游标、计数器这些排查线索与源码中的日志埋点一一对应网关调度器在 src/gateway/server.ts 中为 L1/L2/L3 各阶段输出了[executor]前缀的调度与跳过日志如 credit limit 检查、L1 drain 入队、L2/L3 间隔控制等配合[recall]召回日志与[pipeline]管线日志即可还原插件注册 → 对话捕获 → L1 提取 → L2 场景 → L3 画像 → 召回注入的完整链路状态recall_checkpoint.json则记录了管线进度游标用于判断 L1/L2/L3 是否在特定会话处停滞。安全与合规要点一次合格的诊断导出本质上是一次受控的隐私数据打包。务必牢记三点压缩包不会自动上传产物只落在本地~/Downloads/由用户手动通过企微/邮件发送杜绝数据外泄路径记忆数据必须二次确认memory-tdai/内含用户对话原文L0/L1 分片分享前必须获得用户明确同意脱敏不是可选项脚本自动脱敏覆盖apiKey/token/password/secret/credential等字段手动导出时这条责任完全转移到操作者身上——文件名中的NEEDS-MANUAL-REDACTION后缀就是最后一道提醒。将本技能与仓库中的安装配置技能SKILL.md、数据目录说明hermes-plugin/memory/memory_tencentdb/README.md配合使用即可构成 OpenClaw memory-tencentdb 场景下部署 → 配置 → 验证 → 排障的完整运维闭环。【免费下载链接】TencentDB-Agent-MemoryTencentDB Agent Memory is a team-level memory hub for AI Agents — turning conversations, docs, and code into four reusable memory assets (Chat Memory, Skill, LLM-Wiki, Code-Graph) that are governed, shared, and equipped across agents and frameworks.项目地址: https://gitcode.com/GitHub_Trending/te/TencentDB-Agent-Memory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考