Self-Driving AgentsGitHub →

OpenClaw

OpenClaw agents that learn from every conversation.

--harness openclaw

What you get

OpenClaw out of the box runs your agent statically — every conversation starts fresh. Self-driving agents make the agent get better with use: it picks up your preferences, the patterns that work, the corrections you make, and walks into the next session already informed.

  • Learns from every conversation — preferences, decisions, and recurring patterns are captured automatically. The agent walks into the next session already knowing them.
  • Builds its own playbooks — the agent maintains long-form pages (a personal wiki) that self-rewrite from what it has learned. Read them yourself, or let the agent read from them.
  • Each agent stays separate — every agent in the gateway gets its own isolated learning, so multiple agents on one OpenClaw instance don't mix memories.

Setup

  1. 1

    Have OpenClaw on PATH

    The CLI shells out to OpenClaw's own plugins install and agents add commands.

  2. 2

    Install the agent

    One CLI call sets up the plugin, configures the connection, ingests seed content, and registers the agent.

    npx @vectorize-io/self-driving-agents install marketing/seo --harness openclaw
  3. 3

    Restart the gateway

    OpenClaw caches plugin and agent state at startup.

    openclaw gateway restart
  4. 4

    Open a session

    Memory works automatically from here on.

    openclaw tui --session agent:marketing-seo:main:session1

How it works

The integration is the @vectorize-io/hindsight-openclaw plugin (≥ 0.7.2), installed at ~/.openclaw/extensions/hindsight-openclaw/. It registers two hooks: a pre-turn recall step pulls relevant memories and injects them as an invisible <hindsight_memories> system block, and a post-turn retain step saves the conversation. The plugin also exposes the tools below so the agent can manage its own pages.

Tools the agent gets

list_pagesList page ids and names.
get_pageRead the content of a page.
create_pageDeclare a new page recipe.
update_pageChange a page's name or source query.
delete_pageRemove a page.
recallSearch retained memories.
ingestAdd new text content as a memory.

Bank mapping