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-qa-logger

v5.0.0

Published

OpenClaw local QA diary plugin that turns main conversation sessions into human-readable daily Markdown logs for search, audit, and memory workflows.

Readme

OpenClaw QA Logger

OpenClaw QA Logger turns the main OpenClaw conversation stream into local, human-readable Markdown diaries.

It is not a hosted memory service and it does not send your conversations anywhere. It watches local OpenClaw session files, filters obvious tool/sub-agent noise, and appends clean Q/A entries to daily files under memory/dialog/gateway/.

Why This Exists

Raw agent session JSON is useful for machines but painful for humans and weak for long-term recall. A daily QA diary gives an agent a better evidence layer:

  • humans can skim what happened;
  • search tools can find old decisions by natural words;
  • memory/indexing systems can build vectors or summaries from clean text;
  • a future agent can recover the reasoning path without opening raw session dumps.

The core idea is simple: keep the original runtime data private, but maintain a readable diary that is easier to audit, compact, search, and reuse.

What Makes It Different

  • Local-first(本地优先): reads and writes local OpenClaw files only.
  • Human-readable(人能读): stores daily Markdown, not opaque JSON blobs.
  • Main-session focused(主会话优先): skips common sub-agent task prompts, heartbeats, system noise, and empty replies.
  • Incremental(增量): records file offsets in a local state.json so repeated scans do not duplicate old turns.
  • Memory-friendly(适合长期记忆): the output can feed keyword search, vector search, summaries, or a separate memory pipeline.
  • Configurable names(可配置称呼): diary labels can be changed in openclaw.plugin.json.

Core Behavior

When enabled, the plugin reads:

~/.openclaw/agents/main/sessions/*.jsonl

It writes:

~/.openclaw/workspace/memory/dialog/gateway/YYYY-MM-DD/对话日记.md

Example output:

时间: 2026-06-19 17:30:00

用户(Q):
How should we structure this project?

AI(A):
Use a small current snapshot, keep long history in indexed archives, and store evidence separately.

Typical Use Cases

  • Keep a durable local diary for long-running OpenClaw conversations.
  • Search old decisions without opening raw JSONL session files.
  • Feed a separate memory/indexing pipeline with readable text.
  • Build a project handoff trail from real conversation records.
  • Debug when an agent claims “we decided this before” by checking the diary.

Install

Clone or download this package into your OpenClaw plugins/ directory:

git clone https://github.com/haoyun18881-beep/openclaw-qa-logger.git qa-logger

Then restart OpenClaw Gateway and enable the plugin from the plugin panel.

If OpenClaw blacklists the plugin after a crash, disable and re-enable it after fixing the error:

openclaw plugins disable qa-logger
openclaw plugins enable qa-logger

Configuration

Edit openclaw.plugin.json:

{
  "userName": "User",
  "assistantName": "Assistant"
}

Restart Gateway after changing config.

Package Boundary

This repository includes the plugin source and docs. It intentionally does not include:

  • real session JSONL files;
  • generated diaries;
  • state.json;
  • vector indexes;
  • memory databases;
  • logs, cookies, tokens, keys, or account data.

Safety

Conversation logs may contain private instructions, project details, credentials, business data, or user identity clues. Keep generated diaries private unless you have reviewed and redacted them.

Use this plugin only for authorized local logging. If you connect the generated diaries to search, crawling, embedding, or multi-agent workflows, configure conservative concurrency limits, rate limits, timeouts, stop conditions, and quota controls. The maintainers are not responsible for misuse, provider charges, account restrictions, privacy exposure, or disruption caused by unbounded workloads.

Validation

npm run lint
npm pack --dry-run

License

BUSL-1.1. See LICENSE.