连接 Trilium 与 Clawdbot,打造主权个人的私有 AI 助手
-
连接 Trilium 与 Clawdbot,打造主权个人的私有 AI 助手
目录- 什么是 Clawdbot
- Clawdbot 的记忆系统
- 1. 临时记忆(Session Memory)
- 2. 长期记忆(MEMORY.md)
- 3. 日志记忆(Daily Memory)
- TriliumAI Agent 插件:将 Trilium 知识库与 Clawdbot 连接
- 插件架构
- 如何使用:将 Trilium 笔记注入 Clawdbot 记忆
- 步骤 1:选择 Clawdbot Provider
- 步骤 2:搜索并选择笔记
- 步骤 3:选择记忆模式
- 步骤 4:执行导出
- 记忆管理功能
- 管理面板
- 功能说明
- 安全设计
- 使用场景示例
- 场景 1:项目知识问答
- 场景 2:建立项目记忆库
- 场景 3:每日工作记录
- 技术细节
- WebSocket 通信协议
- 支持的 Gateway 方法
- 记忆清除的实现
- 常见问题
- Q: 为什么选择 Clawdbot 而不是直接调用 API?
- Q: 记忆会占用多少存储空间?
- Q: 如何备份记忆?
- 总结
- 参考资料
什么是 Clawdbot
Clawdbot 是一个开源的个人 AI 助手平台,基于 Claude 模型构建。它的核心理念是"本地优先"——你的数据、对话历史和记忆都保存在你自己的设备上,而不是云端。
与传统的 AI 聊天工具不同,Clawdbot 具备以下独特优势:
- 🏠 本地部署:Gateway 运行在你的设备上,数据完全由你掌控
- 🔗 多平台接入:支持 WhatsApp、Telegram、Slack、Discord、Signal、iMessage 等多种渠道
- 🧠 持久记忆:能够记住你的偏好、决策和重要信息
- 🛠️ 工具扩展:支持文件操作、代码执行、网页浏览等多种工具
Clawdbot 的记忆系统
Clawdbot 最强大的特性之一就是它的三层记忆系统:
1. 临时记忆(Session Memory)
- 存储位置:
~/.clawdbot/agents//sessions/*.jsonl - 生命周期:当前对话会话
- 用途:保存对话上下文,让 AI 理解你在聊什么
- 清除方式:发送
/new或/reset命令
临时记忆就像人的短期记忆,只在当前对话中有效。当你开始新话题或需要"刷新"AI 的状态时,可以重置会话。
2. 长期记忆(MEMORY.md)
- 存储位置:
~/clawd/MEMORY.md - 生命周期:永久保存,直到手动删除
- 用途:存储重要的决策、偏好、事实
- 特点:只在主会话(private session)中加载
长期记忆是 Clawdbot 的"人生经验"。例如:
- 你的编程风格偏好
- 项目的技术架构决策
- 重要的业务规则
3. 日志记忆(Daily Memory)
- 存储位置:
~/clawd/memory/YYYY-MM-DD.md - 生命周期:按日期归档
- 用途:记录每日的工作笔记、临时上下文
- 特点:适合需要追溯的信息
日志记忆就像工作日志,帮助你回顾"那天发生了什么"。
TriliumAI Agent 插件:将 Trilium 知识库与 Clawdbot 连接
TriliumAI Agent 是一个 WordPress 插件,它将 Trilium Notes 知识库与 AI 助手(包括 Clawdbot)连接起来,让你可以:
- 搜索和浏览 Trilium 笔记
- 选择笔记 并导出到 AI 工作目录
- 注入笔记内容 到 Clawdbot 的记忆系统
插件架构
┌─────────────────────────────────────────────────────────────┐ │ WordPress 后台 │ ├─────────────────────────────────────────────────────────────┤ │ TriliumAI Agent 插件 │ │ ├── Trilium 工作区(搜索/浏览笔记) │ │ ├── OpenCode 会话管理(本地 Agent) │ │ └── Clawdbot 集成(WebSocket 通信) │ ├─────────────────────────────────────────────────────────────┤ │ ↓ WebSocket │ ├─────────────────────────────────────────────────────────────┤ │ Clawdbot Gateway (ws://127.0.0.1:18789) │ │ ├── 对话管理 │ │ ├── 记忆系统 │ │ └── 工具执行 │ └─────────────────────────────────────────────────────────────┘如何使用:将 Trilium 笔记注入 Clawdbot 记忆
步骤 1:选择 Clawdbot Provider
在聊天界面的模型选择器中,选择 Clawdbot:
模型选择:[Clawdbot ▼]选择后,界面会显示:
- Trilium 笔记工作区
- 记忆模式选择器
- 记忆管理按钮
步骤 2:搜索并选择笔记
在工作区中搜索你需要的笔记:
🔍 [输入关键词搜索笔记...] [搜索]点击笔记项即可选中,支持多选。
步骤 3:选择记忆模式
根据你的需求选择合适的记忆模式:
模式 图标 用途 效果 临时记忆 💬 当前对话中使用 笔记内容注入聊天输入框,作为上下文发送 长期记忆 🧠 永久保存 笔记追加到 MEMORY.md 日志记忆 📅 按日期归档 笔记追加到 memory/今日日期.md 步骤 4:执行导出
点击导出按钮,笔记内容会被转换为 Markdown 格式并发送到 Clawdbot。
临时记忆模式
笔记会被格式化为对话上下文,填入聊天框:
--- 📚 以下是来自 Trilium 知识库的参考资料: ## 项目技术架构 > 来源: Trilium 笔记 ID abc123 (笔记内容...) --- 请基于以上资料回答我的问题:你可以在后面追加问题,然后发送给 Clawdbot。
长期/日志记忆模式
插件会发送指令让 Clawdbot 自己写入记忆文件:
请将以下内容追加到 MEMORY.md 文件末尾,作为长期记忆保存。 ## Trilium 笔记导入 - 2025-01-26T10:00:00 ### 项目技术架构 > 来源: Trilium 笔记 ID `abc123` (笔记内容...)记忆管理功能
插件提供了便捷的记忆管理功能,让你可以清理和查看记忆状态:
管理面板
┌─────────────────────────────────────────────────────┐ │ 🧹 记忆管理 [📊 状态] │ ├─────────────────────────────────────────────────────┤ │ [🔄 重置会话] [🧠 清空长期记忆] [📅 清空日志记忆] │ └─────────────────────────────────────────────────────┘功能说明
按钮 功能 实现方式 🔄 重置会话 清除当前对话上下文,开始新会话 发送 /new命令🧠 清空长期记忆 清空 MEMORY.md 内容 让 Agent 执行 write 工具 📅 清空日志记忆 删除 memory/*.md 文件 让 Agent 执行 bash 命令 📊 状态 查看当前记忆文件状态 让 Agent 报告文件信息 安全设计
所有危险操作都有二次确认对话框:
┌────────────────────────────────────┐ │ 🧠 清空长期记忆 │ ├────────────────────────────────────┤ │ 确定要清空长期记忆吗? │ │ │ │ ⚠️ 这将清空 MEMORY.md 文件中的 │ │ 所有内容,此操作不可恢复! │ ├────────────────────────────────────┤ │ [取消] [清空] │ └────────────────────────────────────┘使用场景示例
场景 1:项目知识问答
你有一个复杂的项目,技术文档都保存在 Trilium 中。当你需要问 Clawdbot 关于项目的问题时:
- 搜索相关笔记(如"API 接口文档"、"数据库设计")
- 选择 💬 临时记忆 模式
- 导出笔记
- 在输入框追加问题:"根据以上文档,这个 API 应该怎么调用?"
场景 2:建立项目记忆库
你希望 Clawdbot 永久记住项目的核心信息:
- 选择项目的关键笔记(架构决策、编码规范等)
- 选择 🧠 长期记忆 模式
- 导出笔记
之后每次与 Clawdbot 对话,它都会记住这些信息。
场景 3:每日工作记录
你习惯用 Trilium 记录每日工作,希望 Clawdbot 也能追踪:
- 选择今日的工作笔记
- 选择 📅 日志记忆 模式
- 导出笔记
这些内容会保存到
memory/2025-01-26.md,方便日后回顾。技术细节
WebSocket 通信协议
插件通过 WebSocket 与 Clawdbot Gateway 通信,遵循官方协议:
// 请求格式 { "type": "req", "id": "1", "method": "chat.send", "params": { "sessionKey": "main", "message": "你好", "idempotencyKey": "wp-1706234567890-abc123" } } // 响应格式 { "type": "res", "id": "1", "ok": true, "payload": { "runId": "run-xyz", "status": "started" } }支持的 Gateway 方法
方法 用途 connect握手认证 chat.send发送消息 chat.history获取对话历史 记忆清除的实现
由于 Clawdbot Gateway 没有直接的文件系统 API,记忆清除通过让 Agent 执行工具来实现:
// 重置会话:直接发送 /new 命令 client.sendMessage(\'/new\'); // 清空长期记忆:让 Agent 执行 write 工具 client.sendMessage(`请用 write 工具清空 MEMORY.md 文件...`); // 清空日志记忆:让 Agent 执行 bash 命令 client.sendMessage(`请执行:rm -f memory/*.md`);常见问题
Q: 为什么选择 Clawdbot 而不是直接调用 API?
A: Clawdbot 提供了完整的 Agent 运行时,包括:
- 工具执行沙箱
- 持久化记忆
- 多渠道接入
- 安全的本地部署
直接调用 API 只能获得基础的对话能力,无法享受这些高级特性。
Q: 记忆会占用多少存储空间?
A: 记忆以纯文本 Markdown 存储,非常节省空间。例如:
- 一年的日志记忆(每天 1KB)约 365KB
- MEMORY.md 通常在几十 KB 以内
Q: 如何备份记忆?
A: 直接复制以下目录即可:
- 长期记忆:
~/clawd/MEMORY.md - 日志记忆:
~/clawd/memory/ - 会话历史:
~/.clawdbot/agents//sessions/
总结
Clawdbot + TriliumAI Agent 的组合,让你可以:
- ✅ 在本地运行强大的 AI 助手
- ✅ 将知识库与 AI 连接
- ✅ 建立持久化的 AI 记忆
- ✅ 方便地管理和清理记忆
这是一个真正"懂你"的 AI 助手——它不仅能回答问题,还能记住你告诉它的一切。
参考资料
歡迎留言回复交流。
Log in to reply.