Skip to content

flywheel-labs/dia-log

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dia-log

A shared, topic-based memory system for human-AI teaming. Record monologues, captain's logs, and dialogues. Track topics across sessions. Summarize, search, and set reminders — all stored locally in plain markdown.

Works with Claude Code and OpenClaw. When both are running, they share the same files.


Origin

dia-log was not designed top-down. It was discovered.

The same human asked two AI systems — Claude Code (running on Windows) and OpenClaw (running inside a Docker/k3s sandbox via NemoClaw) — to independently build a personal logging skill. Neither system knew what the other was building.

Claude Code built a structured journaling system with separate directories for monologues, captain's logs, and dialogues. OpenClaw built a simpler, topic-first timeline system — one file per topic, append-only, already in active use.

The two systems then found each other through a shared filesystem bridge: a directory mounted simultaneously into the Docker container and visible from the Windows host. They exchanged messages directly as text files, compared implementations, and negotiated a merged design — with the human watching but not directing.

The result is this skill. OpenClaw's topic/timeline format became the canonical storage structure. Claude Code contributed entry type tags, scheduled reminders, and MEMORY.md integration. The add_entry.sh bash helper works on both sides. One format. Two agents. One shared directory when bridged.

A third AI model helped name it. Learn more in HISTORYOFTHENAME.md.


What It Does

dia-log organizes everything by topic — a persistent thread that accumulates entries over time, regardless of which session or which AI added them.

Entry types

Every entry carries an optional type tag:

Type Purpose
[monologue] Solo reflection — the human speaks, the AI listens and captures
[dialogue] A conversation worth preserving across sessions
[log] Activity note, decision, or captain's log entry

Topic file format

# Topic: human-ai-interfaces
*Started: 2026-03-21 12:08 UTC*
*Last updated: 2026-03-21 20:33 UTC*

## Summary
Ongoing exploration of how humans and AIs communicate and collaborate.

## Timeline
- **2026-03-21 12:08 UTC** [log] Topic initiated
- **2026-03-21 19:48 UTC** [dialogue] Discussed shared filesystem bridge design
- **2026-03-21 20:14 UTC** [monologue] First cross-agent message sent

Plain markdown. Readable without Claude. Editable by hand. Committable to git.

Commands (Claude Code)

/dia-log                          show menu
/dia-log topic [name]             view or add to a topic
/dia-log list                     show all topics
/dia-log summarize [topic]        generate a summary
/dia-log remind [topic] [freq]    set a reminder
/dia-log preferences              view/edit settings

Bash helper (works anywhere)

./add_entry.sh reflections "Good session today" monologue
./add_entry.sh project-alpha "Switched to PostgreSQL" log

Why It Matters for Human-AI Teaming

Most AI interactions are stateless. Each session starts from zero. The human carries all the context — which topics were discussed, what was decided, what should happen next. This is asymmetric and exhausting at scale.

dia-log shifts that. Topics persist. Entries accumulate. Both the human and the AI can read the history, add to it, and build on it. The AI doesn't need to be told what was said last week — it can read the topic file.

When two AI systems are involved (as in the NemoClaw setup), the shared directory becomes a coordination layer. Each agent reads what the other wrote. Neither needs to be told what the other decided. The files are the memory.

This points toward a broader pattern for human-AI teaming:

  • Persistent shared memory — stored where both humans and AIs can reach it
  • Entry types — distinguishing reflection, dialogue, and activity preserves the texture of collaboration, not just the facts
  • Topic threads — organizing by subject rather than by date matches how humans actually think about ongoing work
  • Plain markdown — no lock-in, no proprietary format, no service dependency

dia-log is a small implementation of these ideas. It is also a record of itself: the human-ai-interfaces topic, started by OpenClaw on the day this skill was built, documents the conversation that produced it.


Installation

Claude Code

git clone https://github.com/your-org/dia-log ~/.claude/skills/dia-log

Restart Claude Code, then run /dia-log to set up your storage directory.

OpenClaw

Copy openclaw/SKILL.md into your OpenClaw skills directory. See INSTALL.md for the full setup including the NemoClaw shared filesystem bridge.


Storage

All files are stored locally in ~/dia-log/ by default — no cloud, no sync service, no telemetry. The path is configurable in preferences.md.

~/dia-log/
├── topics/
│   ├── index.md
│   └── {topic-name}.md
├── summaries/
├── add_entry.sh
├── template.md
└── preferences.md

See INSTALL.md for the NemoClaw bridge setup (shared access between Claude Code on Windows and OpenClaw in Docker).


Status

This skill is in active use. The OpenClaw edition is being tested concurrently with the Claude Code edition against a live shared directory. Feedback from both systems is incorporated before each release.

Contributions welcome. Issues and pull requests at https://github.com/your-org/dia-log

About

A skill for Claude Code and Openclaw that provides persistent storage of notes and conversations between a human user and the AI agent(s)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors