网淘吧来吧,欢迎您!

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

安装程序将询问以下信息:

Backup of conversations to Obsidian

  • Obsidian知识库路径
  • 会话目录位置
  • 追踪文件存储位置

或手动设置:

  1. 复制config.exampleconfig
  2. 编辑config填入您的路径
  3. 使脚本可执行: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在每个脚本中的路径。

故障排除

未创建快照

  1. 检查cron是否正在运行:crontab -l
  2. 验证脚本是否具有执行权限:chmod +x scripts/*.sh
  3. 检查日志:手动运行以查看错误

消息突破标注框

  • 确保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修改警告文本或添加自定义通知。

最佳实践

  1. 在每天结束时运行小时级细分- 用作组织工具,而非备份工具
  2. 保持增量备份持续运行- 这是你的安全网
  3. 设置后测试脚本- 首先手动运行以验证输出
  4. 备份跟踪文件- 在保险库备份中包含.last_snapshot_timestamp文件
  5. 使用描述性主题名称- 对于完整快照,使用有意义的名称

示例工作流程

每日例行操作:

  1. 自动增量备份每小时运行(无需手动操作)
  2. 在每天结束时:运行 scripts/create_hourly_snapshots.sh 2026-01-20
  3. 在 Obsidian 中查看整理好的小时级文件
  4. 如需可删除旧的增量备份(按小时细分已涵盖它们)

执行 /new 重置前:

  1. 可选步骤:运行 scripts/save_full_snapshot.sh 创建重置前完整快照
  2. 执行/new安全执行 - 对话内容已备份
  3. 继续对话 - 增量备份将自动恢复

与Clawdbot的集成

本功能兼容:

  • HEARTBEAT.md:自动令牌监控
  • MEMORY.md:对话归档系统
  • Telegram集成:预警通知
  • 任意Obsidian知识库:兼容现有知识库

致谢

由Clawdbot社区创建,致力于提供可靠的对话备份与精美的Obsidian格式支持。

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第349277名访客 今日有175篇新文章/评论