Backup of conversations to Obsidian技能使用说明
2026-03-30
新闻来源:网淘吧
围观:10
电脑广告
手机广告
黑曜石对话备份
自动将Clawdbot对话以美观的聊天风格格式备份至Obsidian。可防止因/new重置指令导致的数据丢失,并通过每小时增量快照实现持续备份。
功能特性
- 增量备份:每小时仅对新消息进行快照(避免重复存储)
- 聊天格式化:采用Obsidian标注框样式,包含表情符号、时间戳,并完整支持多段落显示
- 按小时划分:按时钟时段整理对话内容,便于查阅
- 零令牌消耗:基于纯Shell脚本实现,无需调用大型语言模型
- 智能过滤:自动跳过空消息和系统通知
快速设置
安装步骤
# Extract the skill (if downloaded as .skill file)
unzip obsidian-conversation-backup.skill
cd obsidian-conversation-backup
# Run installer (interactive)
chmod +x install.sh
./install.sh
安装程序将询问以下信息:

- Obsidian知识库路径
- 会话目录位置
- 追踪文件存储位置
或手动设置:
- 复制
config.example为config - 编辑
config填入您的路径 - 使脚本可执行:
chmod +x scripts/*.sh
启用自动备份
添加至 crontab 以每小时备份:
crontab -e
# Add this line (runs every hour at :00)
0 * * * * /path/to/obsidian-conversation-backup/scripts/monitor_and_save.sh
自定义聊天外观(可选)
编辑scripts/format_message_v2.jq以更改:
- 用户表情符号(默认:🐉)
- 助手表情符号(默认:🦞)
- 标注类型(默认:
[!quote]用于用户,[!check]用于助手)
使用方法
自动增量备份
配置到cron后,系统会自动运行:
每小时:
- 检查是否有新消息(≥10行)
- 若发现新消息则创建增量快照
- 保存至:
YYYY-MM-DD-HHmm-incremental.md - 若无新对话则跳过
输出示例:
2026-01-20-1500-incremental.md (messages from last save to now)
2026-01-20-1600-incremental.md (new messages since 15:00)
2026-01-20-1700-incremental.md (new messages since 16:00)
保护机制:最大对话丢失量 = 1小时
按需完整快照
随时保存完整对话:
scripts/save_full_snapshot.sh [topic-name]
示例:
scripts/save_full_snapshot.sh important-decisions
scripts/save_full_snapshot.sh bug-fix-discussion
scripts/save_full_snapshot.sh # uses "full-conversation" as default
按小时整理(结构化)
按整点时间创建结构化整理:
scripts/create_hourly_snapshots.sh YYYY-MM-DD
示例:
scripts/create_hourly_snapshots.sh 2026-01-20
输出:
2026-01-20-1500-hourly.md (15:00-15:59 messages)
2026-01-20-1600-hourly.md (16:00-16:59 messages)
2026-01-20-1700-hourly.md (17:00-17:59 messages)
使用场景:便于查阅的每日终末整理
聊天格式
消息显示为彩色Obsidian标注框:
用户消息(蓝色)[!quote]callout):
> [!quote] 🐉 User · 15:30
> This is my message
助手消息(绿色[!check]callout):
> [!check] 🦞 Zoidbot · 15:31
> This is the response
功能:
- 时间戳(HH:MM 格式)
- 多段落支持(使用
<br><br>进行段落分隔) - 正确的换行(所有行以
>为前缀) - 空消息已过滤
- 系统通知已排除
令牌监控
该monitor_and_save.sh脚本还会跟踪令牌使用情况:
通过 Telegram 发出警告:
- 80万令牌(80%):"考虑 /new 命令"
- 90万令牌(90%):"立即执行 /new 命令"
实施
# Sends warning only when crossing threshold (one-time)
# No repeated warnings
# Resets when back under 800k
文件结构
scripts/
├── monitor_and_save.sh # Hourly incremental backup + token monitoring
├── save_full_snapshot.sh # On-demand full conversation save
├── create_hourly_snapshots.sh # Organize by clock hour
└── format_message_v2.jq # Chat formatting logic
配置
跟踪文件
系统使用隐藏文件来跟踪状态:
/root/clawd/.last_save_line_count # For token monitoring
/root/clawd/.last_snapshot_timestamp # For incremental saves
/root/clawd/.token_warning_sent # For warning deduplication
注意:请勿删除这些文件,否则增量备份可能会重复备份内容
会话文件位置
默认位置:/root/.clawdbot/agents/main/sessions/*.jsonl
如果您的会话文件位于其他位置,请更新SESSION_FILE在每个脚本中的路径。
故障排除
未创建快照
- 检查cron是否正在运行:
crontab -l - 验证脚本是否具有执行权限:
chmod +x scripts/*.sh - 检查日志:手动运行以查看错误
消息突破标注框
- 确保
format_message_v2.jq包含gsub("\n\n"; "<br><br>")行 - 检查是否所有行都有
>前缀 - 验证jq是否已安装:
jq --version
快照中的重复内容
- 删除跟踪文件并让系统重置:
rm /root/clawd/.last_snapshot_timestamp
出现空标注框
- 更新
format_message_v2.jq以过滤空消息 - 检查
if ($text_content | length) > 0条件
要求
- jq:JSON解析(
apt-get install jq) - cron:用于自动备份
- Obsidian 知识库:Markdown 文件的目标目录
高级自定义
更改备份频率
编辑 crontab:
# Every 2 hours
0 */2 * * * /path/to/monitor_and_save.sh
# Every 30 minutes
*/30 * * * * /path/to/monitor_and_save.sh
# Specific times only (9am, 12pm, 6pm, 9pm)
0 9,12,18,21 * * * /path/to/monitor_and_save.sh
更改最小消息阈值
编辑monitor_and_save.sh:
# Change from 10 to 5 messages minimum
if [[ $new_lines -lt 5 ]]; then
添加更多标注样式
Obsidian 标注类型:
[!quote]- 蓝色[!check]- 绿色[!note]- 青色[!tip]- 紫色[!warning]- 橙色[!danger]- 红色
自定义 Telegram 通知
编辑monitor_and_save.sh修改警告文本或添加自定义通知。
最佳实践
- 在每天结束时运行小时级细分- 用作组织工具,而非备份工具
- 保持增量备份持续运行- 这是你的安全网
- 设置后测试脚本- 首先手动运行以验证输出
- 备份跟踪文件- 在保险库备份中包含
.last_snapshot_timestamp文件 - 使用描述性主题名称- 对于完整快照,使用有意义的名称
示例工作流程
每日例行操作:
- 自动增量备份每小时运行(无需手动操作)
- 在每天结束时:
运行 scripts/create_hourly_snapshots.sh 2026-01-20 - 在 Obsidian 中查看整理好的小时级文件
- 如需可删除旧的增量备份(按小时细分已涵盖它们)
执行 /new 重置前:
- 可选步骤:
运行 scripts/save_full_snapshot.sh 创建重置前完整快照 - 执行
/new安全执行 - 对话内容已备份 - 继续对话 - 增量备份将自动恢复
与Clawdbot的集成
本功能兼容:
- HEARTBEAT.md:自动令牌监控
- MEMORY.md:对话归档系统
- Telegram集成:预警通知
- 任意Obsidian知识库:兼容现有知识库
致谢
由Clawdbot社区创建,致力于提供可靠的对话备份与精美的Obsidian格式支持。
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~