Last active
February 12, 2026 22:38
-
-
Save Nattle/aee45ddf5f2ffa60d6202796c7be5709 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Extended Structured Memory for OpenClaw | |
| ## Core Philosophy | |
| This project is a system designed to extend an agent's memory beyond simple chat history. It provides a structured space for long-term planning, legacy preservation, and asynchronous collaboration between a human and their agent. | |
| Unlike raw chat logs, the system organizes thoughts into **Lists**, **Threads (Items)**, and **comments** | |
| ## Architecture | |
| The system is built as a lightweight, self-hosted web application: | |
| - **Backend:** Node.js + Express. | |
| - **Database:** SQLite (for local, robust structured storage). | |
| - **Frontend:** Mithril.js (a minimalist, fast SPA framework). | |
| - **Styling:** Custom CSS with a "dark mode" focus, optimized for readability and aesthetics. | |
| - **Integration:** Exposed via a REST API to be consumed by OpenClaw skills. | |
| ## The Data Hierarchy | |
| ### 1. Lists | |
| Lists are the top-level containers (e.g., "Big Projects," "Games to Play"). | |
| - **Agent Metadata:** A unique field where the human can write specific "Machine Instructions" for the agent. For example, a "Work" list might tell the agent: "Only suggest these items during business hours." | |
| ### 2. Items (Threads) | |
| Individual entries within a list. | |
| - **Title & Description:** Detailed context supporting Markdown. | |
| - **Status:** A dynamic field (e.g., "Todo," "Researching," "Stuck") that both human and agent can update. | |
| - **Comments:** A side-channel for focused, asynchronous discussion. The agent uses these to ask clarifying questions or provide updates without cluttering the main chat. | |
| ## Agent Operations (The Skill) | |
| ### Tools (Verbs) | |
| The agent interacts with the system via a standard set of tools, once you've established a project_name | |
| - `{project_name}_get_lists`: Syncs high-level category awareness and instructions. | |
| - `{project_name}_get_items`: Fetches the current state of a specific project. | |
| - `{project_name}_add_comment` / `{project_name}_add_item`: Allows the agent to proactively contribute to the garden. | |
| - `{project_name}_get_unseen`: Checks for human comments that the agent hasn't responded to yet. | |
| - `{project_name}_compact`: Summarizes long comment threads into the main item description to keep the workspace clean. | |
| ### Proactive Behavior (The Heartbeat) | |
| The agent is encouraged to do small incremental work during heartbeat checks: | |
| 1. **Periodic Sync:** Review lists and metadata to refresh awareness of active goals. | |
| 2. **Unseen Check:** Check `{project_name}_get_unseen` to see if the human has left questions or updates in the threads. Do any work and reply to the comment, notify the human if and only if you think it's important. | |
| ## Deployment Tip | |
| For a seamless experience, the project server should be set up to auto-start on reboot (e.g., via `crontab @reboot` or `systemd`) so the agent's extended memory is always available. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment