openclaw-smart-notes
v0.3.0
Published
Smart notes plugin for OpenClaw — auto-classify, store to OpenViking + local filesystem
Downloads
14
Maintainers
Readme
openclaw-smart-notes
Intelligent note-taking plugin for OpenClaw — auto-classify, auto-save, auto-recall.
Say "记住这个" or "save this note" and it just works. Ask a question and it searches your memories.
English
What is this?
openclaw-smart-notes is an OpenClaw lifecycle plugin that gives your agent smart note-taking abilities. It works entirely through auto-detection — no manual tool calls needed:
- "保存笔记:zoe是只小猪" → auto-classifies, saves locally + to OpenViking
- "zoe是小猪么?" → auto-searches OpenViking, injects results into agent context
- "忘掉关于xxx的记忆" → triggers memory deletion
- "列出我的笔记" → lists saved notes
Everything happens in the before_prompt_build hook — the agent just sees the results.
How it works
The plugin intercepts user messages and detects intent:
| Intent | Detection | Action |
|---|---|---|
| Save | "保存/记住/收藏..." | Classify → save to local filesystem + OpenViking API |
| Forget | "忘掉/删除..." | Inject memory_forget instructions to agent |
| Search | "找/搜索笔记..." | Search OpenViking, inject results |
| Recall | Any question (?) | Auto-search OpenViking, inject if matches found |
| Task | "帮我写/做/开发..." | Skip — let superpowers plugin handle |
Save executes directly in the hook (no agent involvement needed). Other intents inject context for the agent to act on.
Dual Storage
Notes are stored in two places:
| Storage | Purpose |
|---|---|
| Local filesystem | Browsable markdown files at ~/.openclaw/smart-notes/notes/[category]/ |
| OpenViking | Semantic memory for recall via natural language questions |
Conversation Logging
On every agent_end, the plugin automatically logs a structured summary of the conversation turn to local filesystem (topic, timestamp, category). It does NOT send to OpenViking — the openviking plugin already handles raw conversation capture.
Categories
Notes are auto-classified into filesystem-safe categories:
| ID | Label | Triggers |
|---|---|---|
| notes | 心得笔记 | 心得, 笔记, 总结, note, thought |
| links | 网站链接 | 链接, 网址, blog, article |
| tutorials | 教程指南 | 教程, guide, how to |
| papers | 学术论文 | 论文, paper, research |
| docs | 技术文档 | 文档, API, documentation |
| videos | 视频教程 | 视频, video, youtube |
| code | 代码示例 | 代码, demo, code, snippet |
| images | 图片图表 | 图片, image, diagram |
| audio | 音频播客 | 音频, podcast, music |
| bookmarks | 收藏书签 | 收藏, bookmark, save |
OpenViking Integration
Auto-detected from the openviking plugin if installed — zero config needed.
| Setup | Behavior |
|---|---|
| openviking plugin installed | Auto-detected, notes saved to OpenViking + local |
| No plugin, but openviking.baseUrl set | Uses explicit config |
| Neither | Local filesystem only |
Installation
openclaw install openclaw-smart-notesThen in ~/.openclaw/openclaw.json:
{
"plugins": {
"allow": ["openclaw-smart-notes"],
"entries": {
"openclaw-smart-notes": {
"enabled": true
}
}
}
}Configuration
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Enable/disable |
| storagePath | string | ~/.openclaw/smart-notes | Local storage directory |
| autoCapture | boolean | false | Reserved for future auto-capture |
| openviking.baseUrl | string | — | OpenViking URL (auto-detected if plugin installed) |
| openviking.apiKey | string | — | OpenViking API key |
| openviking.agentId | string | "main" | OpenViking agent ID |
Architecture
openclaw-smart-notes/
├── index.ts # Plugin entry: hooks + tools + auto-execute logic
├── detector.ts # Intent detection (save/forget/search/recall/skip)
├── classifier.ts # Content type detection + category classification
├── storage.ts # Dual storage: local filesystem + OpenViking API
├── prompts.ts # Injection prompts for forget/search/list
├── openclaw.plugin.json
└── package.jsonAuthor
Credits
- OpenViking — Long-term memory backend
- openclaw-superpowers — Companion brainstorming plugin
License
MIT
中文
这是什么?
openclaw-smart-notes 是一个 OpenClaw 智能笔记插件,通过自动检测实现零操作笔记管理:
- "保存笔记:zoe是只小猪" → 自动分类,存本地 + OpenViking
- "zoe是小猪么?" → 自动搜索 OpenViking,注入结果
- "忘掉关于xxx的记忆" → 触发记忆删除
- "列出我的笔记" → 列出已保存笔记
所有操作在 before_prompt_build hook 里完成——agent 只看到结果。
工作原理
插件拦截用户消息并检测意图:
| 意图 | 检测 | 动作 | |---|---|---| | 保存 | "保存/记住/收藏..." | 分类 → 本地文件 + OpenViking API | | 忘记 | "忘掉/删除..." | 注入 memory_forget 指令 | | 搜索 | "找/搜索笔记..." | 搜索 OpenViking,注入结果 | | 回忆 | 任何问句(?) | 自动搜索,有结果就注入 | | 任务 | "帮我写/做/开发..." | 跳过,交给 superpowers 插件 |
保存操作在 hook 内直接执行(不需要 agent 参与)。
双重存储
| 存储位置 | 用途 | |---|---| | 本地文件 | 可浏览的 markdown 文件,按分类存储 | | OpenViking | 语义记忆,支持自然语言搜索 |
对话日志
每轮对话结束后自动记录结构化摘要(话题、时间戳、分类)到本地文件。不重复发送到 OpenViking(openviking 插件已负责原始对话捕获)。
分类
笔记自动分类到文件系统安全的目录:
| ID | 标签 | 触发词 |
|---|---|---|
| notes | 心得笔记 | 心得, 笔记, 总结 |
| links | 网站链接 | 链接, 网址, blog |
| tutorials | 教程指南 | 教程, guide |
| papers | 学术论文 | 论文, paper |
| docs | 技术文档 | 文档, API |
| videos | 视频教程 | 视频, video |
| code | 代码示例 | 代码, demo |
| images | 图片图表 | 图片, image |
| audio | 音频播客 | 音频, podcast |
| bookmarks | 收藏书签 | 收藏, bookmark |
OpenViking 集成
已装 openviking 插件则自动检测,零配置。
| 场景 | 行为 | |---|---| | 已装 openviking 插件 | 自动检测,笔记存本地 + OpenViking | | 没装插件,配了 baseUrl | 使用显式配置 | | 都没有 | 仅存本地文件 |
安装
openclaw install openclaw-smart-notes在 ~/.openclaw/openclaw.json 中添加:
{
"plugins": {
"allow": ["openclaw-smart-notes"],
"entries": {
"openclaw-smart-notes": {
"enabled": true
}
}
}
}配置
| 键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| enabled | boolean | true | 启用/禁用 |
| storagePath | string | ~/.openclaw/smart-notes | 本地存储路径 |
| openviking.baseUrl | string | — | OpenViking 地址(已装插件则自动检测) |
| openviking.apiKey | string | — | OpenViking API 密钥 |
| openviking.agentId | string | "main" | OpenViking agent ID |
作者
致谢
- OpenViking — 长期记忆后端
- openclaw-superpowers — 配套头脑风暴插件
协议
MIT
