obsidian-conversation-backup

🗃️ 零成本智能对话归档管家

Clawdbot 官方社区贡献的本地对话备份工具,通过纯 Shell 脚本实现零成本增量归档,将 JSONL 会话转为美观的 Obsidian Markdown 格式,彻底解决 /new 重置导致的数据丢失问题。

收藏
11k
安装
2.5k
版本
v1.0.0
CLS 安全性认证2026-07-01
点击查看完整报告 >

使用说明

核心用法

Obsidian Conversation Backup 是一套面向 Clawdbot 用户的本地自动化备份解决方案。其核心工作流围绕三个脚本展开::monitor_and_save.sh 作为守护进程,通过 cron 每小时检测会话文件变化,仅保存新增消息生成增量快照;save_full_snapshot.sh 供用户手动触发完整对话归档,支持自定义主题命名;create_hourly_snapshots.sh 则用于日终整理,将对话按整点时段切分为独立文件便于回顾。所有输出均采用 Obsidian 引用框语法,用户消息以蓝色 [!quote]] 呈现,助手回复以绿色 [!check]] 区分,并附带精确到分钟的时间戳与多段落支持。

显著优点

该技能的最大优势在于零运营成本——纯 Bash 与 jq 实现,不调用任何 LLM API。增量备份机制智能高效,通过行数比对避免内容重复,配合隐藏状态文件实现精准断点续传。格式化层面,jq 模板将原始 JSONL 转为视觉清晰的聊天样式,支持自定义 emoji 与配色方案,完美融入 Obsidian 知识库生态。此外,集成的令牌监控可在对话接近 800k/900k 阈值时通过 Telegram 推送预警,辅助用户决策是否执行 /new 重置。

潜在缺点与局限性

首先,环境依赖较重:需预装 jq、配置 cron 服务,且默认路径假设为 /root 目录,对非 root 用户或 macOS/Windows 环境不够友好。其次,功能边界明确——仅处理本地会话文件,无法备份云端历史或跨设备同步;Telegram 通知为可选功能,若未配置则失去令牌预警能力。增量备份的"最大 1 小时丢失窗口"虽可接受,但对极高频重要对话仍需配合手动快照弥补。最后,格式化模板基于 jq,复杂嵌套消息或特殊字符可能存在解析边界情况。

适合的目标群体

核心受众为重度 Obsidian 用户Clawdbot 长期对话维护者:包括需将 AI 对话纳入个人知识库的研究人员、依赖历史上下文追溯决策过程的产品经理、以及希望建立可检索对话档案的开发者。同时适合对数据主权敏感、拒绝第三方云备份方案的用户群体。由于需要基本的命令行与 cron 配置能力,技术门槛将非技术用户排除在外。

使用风险

性能层面:小时级 cron 任务对系统资源消耗极低,但高频调整(如每 5 分钟)可能因频繁磁盘 IO 产生轻微负载。依赖项风险:jq 版本差异可能导致格式化异常;cron 服务未运行或时区配置错误将中断备份链。数据一致性:若手动删除 .last_snapshot_timestamp 等状态文件,将触发内容重复备份;会话文件路径变更后未同步更新脚本将产生静默失败。权限风险:默认 root 路径配置若未修改,可能引发非特权用户执行时的权限拒绝。

安全解读

核心用法

obsidian-conversation-backup 是一套纯 Shell 脚本实现的对话备份系统,专为 Clawdbot 用户设计,解决 /new 重置导致的历史对话丢失问题。系统通过 cron 定时任务实现每小时自动增量备份,或手动触发完整快照与小时级归档。

三种备份模式

  • 增量备份:每小时自动检测新消息(≥10 行),生成 YYYY-MM-DD-HHmm-incremental.md,最大数据丢失窗口为 1 小时
  • 完整快照:手动执行 save_full_snapshot.sh [topic-name],保存当前完整会话
  • 小时归档:按 clock hour 拆分当日对话,便于 end-of-day 回顾

输出格式:采用 Obsidian 彩色 callout 样式,用户消息为蓝色 [!quote],助手消息为绿色 [!check],带时间戳和 emoji 标识,支持多段落渲染。

显著优点

1. 零 token 成本:纯 bash/jq 实现,无 LLM 调用,对对话预算零消耗
2. 增量智能:通过 .last_snapshot_timestamp 追踪状态,避免内容重复

3. 美观可读:Obsidian 原生渲染,彩色区分角色,时间线清晰

4. Token 监控联动:可选 Telegram 通知,在 800k/900k token 阈值预警

5. 依赖极简:仅需标准 Linux 工具(bash、jq、cron),无第三方库供应链风险

潜在缺点与局限性

1. 路径硬编码风险:默认使用 /root/.clawdbot 等路径,若跳过安装脚本直接运行可能失败
2. 单会话文件依赖:假设 Clawdbot 会话为单 .jsonl 文件,若架构变更需适配

3. CHAT_ID 变量缺失monitor_and_save.sh 使用 $CHAT_ID 但未在脚本内定义,依赖外部注入

4. 无内置日志:失败时静默退出,排查需手动调试

5. Telegram 可选但无隔离:网络调用虽为可选,但代码路径未完全分离,配置残留可能意外触发

适合人群

  • Obsidian 重度用户:希望将 AI 对话纳入知识管理体系
  • 长会话工作者:单次对话频繁触及 1M token 上限,需定期 /new 但不想丢失上下文
  • 本地化隐私偏好者:拒绝云端备份,坚持数据本地存储
  • 自动化爱好者:习惯 cron + shell 脚本维护工作流

常规风险

  • 文件权限泄露:备份文件写入 Obsidian Vault,若目录权限宽松可能导致敏感对话暴露
  • Telegram Bot Token 管理:虽从本地配置读取,但若配置文件权限不当存在泄露风险
  • 增量状态文件丢失:删除 .last_snapshot_timestamp 会导致下次备份内容重复
  • 路径遍历:若 SESSION_FILE 路径被恶意篡改,可能读取系统任意文件(需配合其他漏洞)

obsidian-conversation-backup 内容

scripts文件夹
手动下载zip · 10.5 kB
create_hourly_snapshots.shtext/x-shellscript
请选择文件