clawbot对话数据保存时长取决于部署方式:本地文件无自动过期;mongodb可配ttl索引;todesk云端按账户活跃度保留180+30天;企业微信本地部署由运维策略决定;向量库中记忆因相似度阈值可能逻辑过期。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用ClawBot时关注其对话数据的保存时长,则需明确其存储机制并非统一设定,而是由部署方式、配置选项及用户主动操作共同决定。以下是影响保存期限的关键路径:
一、本地文件系统存储的默认保留策略
ClawBot默认将记忆数据以Markdown文档形式写入本地磁盘,包括MEMORY.md与memory/*.md等结构化文件。这类存储不设自动过期时间,只要文件未被手动删除或所在磁盘未被格式化,数据即持续存在。系统不会因时间推移而主动清理这些文件。
1、确认记忆文件存放路径:进入ClawBot工作目录,检查是否存在MEMORY.md及memory/子目录。
2、验证文件修改时间:使用ls -lt memory/*.md命令查看各记忆文件的最后修改时间戳,确认其是否包含数月前的记录。
3、检查系统级自动清理脚本:运行crontab -l | grep clawbot,排查是否存在定期执行rm -f memory/*.md类指令的定时任务。
二、MongoDB持久化方案下的TTL设置
当ClawBot启用MongoDB作为后端存储时,记忆数据将存入集合(如clawbot_memory),其保留周期取决于数据库中是否启用了Time-To-Live(TTL)索引。若管理员未显式创建TTL索引,则数据永久保留;若已配置,则按索引定义的秒数自动过期。
1、连接至MongoDB实例:执行mongosh -u admin -p password123 --host 127.0.0.1:27017。
2、切换至ClawBot数据库:输入use clawbot_db。
3、查询当前TTL索引:运行db.clawbot_memory.getIndexes().filter(i => i.expireAfterSeconds),返回结果中expireAfterSeconds字段值即为剩余保存秒数。
4、禁用TTL索引(如需永久保留):执行db.clawbot_memory.dropIndex("createdAt_1"),其中索引名需替换为上一步查得的实际名称。
三、ToDesk云端同步模式的合规性保留期限
ToClaw集成ToDesk账号体系时,聊天记录经加密上传至ToDesk分布式存储集群,其生命周期受平台数据合规策略约束。根据ToDesk《数据处理协议》第4.2条,用户主动启用“云端永久记忆”后,数据将在账户有效期内持续保留;若账户连续180天未登录,系统将标记该账号为休眠状态,并于30天后启动不可逆删除流程。
1、登录ToDesk网页控制台,进入【账号安全】→【登录历史】,确认最近一次成功登录时间。
2、在【数据管理】→【云端记忆】页面,查看顶部横幅是否显示“休眠预警:距下次登录剩余X天”。
3、若已触发休眠预警,立即在任意设备完成一次ToDesk客户端登录并打开ToClaw界面,即可重置倒计时。
四、企业微信本地部署环境中的自主控制权
在企业微信内嵌ClawBot插件且采用纯本地部署模式时,所有对话数据仅落盘于企业自有服务器,不存在第三方平台强制保留期限。此时数据保存时长完全由运维团队制定的备份与归档策略决定。常见实践包括:每日全量快照存入NAS、按项目周期压缩归档、对敏感会话启用WORM(Write Once Read Many)只写一次存储策略。
1、登录企业微信管理后台,进入【应用管理】→【ClawBot】→【数据流向】,确认“数据出口”选项是否为“仅限内网IP”。
2、SSH登录ClawBot宿主服务器,执行find /opt/clawbot/data -name "*.jsonl" -mtime +365,列出一年前生成的会话文件,验证归档策略是否生效。
3、检查/etc/logrotate.d/clawbot配置文件,确认是否存在maxage 730(两年)等日志保留参数。
五、向量数据库中记忆片段的语义存活周期
当ClawBot使用Pinecone、Weaviate或Milvus等向量数据库存储记忆片段时,原始文本虽被编码为向量,但元数据中通常包含created_at与updated_at时间戳。向量库本身不提供自动过期功能,但ClawBot的memory_search工具在检索时会依据minScore与maxResults参数过滤低相关性旧记忆,导致部分早期记忆在实际交互中无法被召回,形成事实上的“逻辑过期”。
1、调用memory_search工具时,在参数中显式指定"minScore": 0.2,观察返回结果是否包含创建于2025年12月的记忆条目。
2、若无早期结果,尝试将minScore降至0.1并重试,确认是否因相似度阈值导致记忆不可见。
3、直接查询向量库原始记录:在Weaviate中执行GraphQL查询{Get{Memory(where:{path:"memory/2025-12-15.md"}){content created_at}},验证物理存储是否存在。











