npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

openclaw-smart-notes

v0.3.0

Published

Smart notes plugin for OpenClaw — auto-classify, store to OpenViking + local filesystem

Downloads

14

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 | 中文


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-notes

Then 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.json

Author

Bill ZhaoLinkedIn | GitHub

Credits

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 |

作者

Bill ZhaoLinkedIn | GitHub

致谢

协议

MIT