Cross-agent observational memory and local search for Claude Code, Codex CLI, Grok Build TUI, Cowork, and Hermes Agent
Project description
Observational Memory
Local memory for the agents you already use.
Observational Memory, or om, gives Claude Code, Codex, Grok Build TUI, Claude Cowork, and Hermes one shared memory on your machine. It watches agent transcripts, writes useful notes into local Markdown files, and gives new sessions a compact startup context. You can search that memory later, export reviewed memory bundles for hosted platforms, or opt in to encrypted multi-machine sync with OM Cluster.
The current release is v0.6.3. It includes:
- first-class Grok Build TUI hooks and transcript observation
- budgeted startup context through
om context - compact startup profile projection for long-running memory corpora
- project-level active context routing so large active files still fit
- first-class recall through
om recall - richer reflection metadata and host-memory controls
- OM Cluster relay operations and health checks
- public-safe cluster validation docs
- Windows, macOS, and Linux install paths
Quick Install
macOS with Homebrew:
brew install intertwine/tap/observational-memory
om install
om doctor
Linux, macOS, or Windows with uv:
uv tool install observational-memory
om install
om doctor
Install the optional enterprise auth extras if you use Anthropic through Vertex AI or Bedrock:
uv tool install "observational-memory[enterprise]"
What It Does
om keeps four main memory files under your local data directory:
| File | Purpose |
|---|---|
observations.md |
Recent notes from sessions and checkpoints. |
reflections.md |
Longer-term facts, preferences, decisions, and active work. |
profile.md |
Compact stable context for startup. |
active.md |
Compact current context for startup. |
Those files are plain Markdown. You can read them, back them up, and search them.
Default paths:
| Platform | Memory directory | Config directory |
|---|---|---|
| macOS / Linux | ~/.local/share/observational-memory/ |
~/.config/observational-memory/ |
| Windows | %LOCALAPPDATA%\observational-memory\ |
%APPDATA%\observational-memory\ |
How Memory Flows
flowchart LR
A["Claude Code, Codex, Grok, Cowork, Hermes logs"] --> B["om observe"]
C["Claude auto-memory files"] --> D["search index"]
B --> E["observations.md"]
E --> F["om reflect"]
D --> F
F --> G["reflections.md"]
G --> H["profile.md + active.md"]
H --> I["om context startup pack"]
G --> J["om recall / om search"]
First Week Workflow
- Install
om. - Run
om installand answer the provider questions. - Run
om doctor. - Start using Claude Code, Codex, or Grok normally.
- Search memory when you need it:
om recall --query "current project status"
om search "release checklist"
- Check generated startup context:
om context --for codex --cwd "$PWD" --task "finish docs"
Guides
Start here:
- Documentation index
- Install and setup
- Platform integrations
- Search, recall, and startup context
- Configuration
- OM Cluster sync
- OM Cluster validation checklist
- Host memory coexistence
- Maintainer guide
Agent Support
| Host | Current support |
|---|---|
| Claude Code | Hooks for startup context and checkpoints. |
| Codex | Hooks-first startup and Stop checkpoints, with an AGENTS fallback. |
| Grok Build TUI | Native hook file with Claude-compatibility awareness, plus updates.jsonl observation. |
| Claude Cowork | Local plugin on macOS with hooks and /recall. |
| Hermes | Manual session-log ingestion. A first-class Hermes plugin is planned in plans/hermes-first-class-plugin.md. |
| ChatGPT / Claude Managed Agents | Reviewed export bundles through om export; om does not silently write hosted memory. |
Common Commands
om status
om doctor
om observe --source codex
om reflect
om recall --query "what was decided about sync?"
om recall --handle startup:active
om search "preferences" --json
om export --target chatgpt
om export --target claude-managed-agents --output ./om-claude-memory
OM Cluster is off until you initialize or join a cluster:
om cluster init --name "Personal Memory" --transport filesystem:~/Sync/om-cluster --import-existing
om cluster invite --expires 10m
om cluster join "omc1:..."
om cluster requests
om cluster approve join_...
om cluster sync
om cluster status
Do not sync ~/.local/share/observational-memory/ directly with Dropbox, iCloud, Syncthing, rsync, or a NAS. Use the cluster transport directory instead.
Architecture At A Glance
The short version:
om observeturns transcripts into recent notes.om reflectturns recent notes into durable memory.om contextgives agents a bounded startup pack.om recallandom searchretrieve more when the startup pack is not enough.om exportprepares reviewed memory seed bundles for hosted systems.om clustersyncs encrypted records across machines when you opt in.
Release State
v0.6.3 is the current release. It makes Grok Build TUI a first-class local agent in the ecosystem while keeping the v0.6.2 startup-context improvements for large real-world memory corpora.
Before the next release, maintainers should run:
make check
uv run ruff check .
uv run ruff format --check .
uv run pytest
See docs/MAINTAINERS.md for the full release workflow.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file observational_memory-0.6.3.tar.gz.
File metadata
- Download URL: observational_memory-0.6.3.tar.gz
- Upload date:
- Size: 2.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8900f97202c76347a155044dfd61fa203459bac4345c2465f22008411ed8374c
|
|
| MD5 |
b41d68b4f0b8041b925cd9e6a226931a
|
|
| BLAKE2b-256 |
3332faa0e5a8dd1182b941e53aedcd8a8c605c86d72df66711d989282adeb479
|
File details
Details for the file observational_memory-0.6.3-py3-none-any.whl.
File metadata
- Download URL: observational_memory-0.6.3-py3-none-any.whl
- Upload date:
- Size: 151.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c9c660f15d214c4f8a37fbb5afd0a7fb1d4fb0250e8e3c6ee07eaa4915cd1d1
|
|
| MD5 |
4ae9558713d8899fdb864c7012742282
|
|
| BLAKE2b-256 |
a447d591b68909fce83184fe6c8aaf021f71c35853f0b627630e088460e4ab40
|