← Back to Plugins
Tools

Qa Logger

haoyun18881-beep By haoyun18881-beep ⭐ 1 stars 👁 87 views ▲ 0 votes

OpenClaw local QA diary plugin for readable conversation logs and memory workflows

GitHub

Configuration Example

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

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:

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

It writes:

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

Example output:

```text
时间: 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:

```bash
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:

```bash
openclaw plugins disable qa-logger
openclaw plugins enable qa-logger
```

## Configuration

Edit `openclaw.plugin.json`:

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

```bash
npm run lint
npm pack --dry-run
```

## License

BUSL-1.1. See [LICENSE](LICENSE).
tools

Comments

Sign in to leave a comment

Loading comments...