{"id":49226518,"url":"https://github.com/supercrzy/ai-memory-sync","last_synced_at":"2026-04-30T14:00:57.165Z","repository":{"id":353474484,"uuid":"1219575927","full_name":"SuperCrzy/AI-Memory-Sync","owner":"SuperCrzy","description":"Universal AI Memory Sync — One tool to sync memory across all your AI agents (OpenClaw, Hermes, Cursor, Windsurf,WorkBuddy) to a GitHub private repo.","archived":false,"fork":false,"pushed_at":"2026-04-24T04:18:53.000Z","size":250,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-29T13:33:46.686Z","etag":null,"topics":["ai-agent","cross-device","cursor-ai","git-sync","hermes-agent","memory-sync","openclaw","windsurf-ai","workbuddy"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SuperCrzy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-24T02:34:03.000Z","updated_at":"2026-04-24T04:07:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/SuperCrzy/AI-Memory-Sync","commit_stats":null,"previous_names":["supercrzy/workbuddy-memory-sync"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/SuperCrzy/AI-Memory-Sync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperCrzy%2FAI-Memory-Sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperCrzy%2FAI-Memory-Sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperCrzy%2FAI-Memory-Sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperCrzy%2FAI-Memory-Sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SuperCrzy","download_url":"https://codeload.github.com/SuperCrzy/AI-Memory-Sync/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperCrzy%2FAI-Memory-Sync/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32466333,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","cross-device","cursor-ai","git-sync","hermes-agent","memory-sync","openclaw","windsurf-ai","workbuddy"],"created_at":"2026-04-24T08:01:20.432Z","updated_at":"2026-04-30T14:00:57.119Z","avatar_url":"https://github.com/SuperCrzy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Universal AI Memory Sync\n\n\u003e One tool to sync memory across all your AI agents — Cursor, OpenClaw, Hermes, Windsurf, WorkBuddy, and more.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-blue)]()\n[![Python](https://img.shields.io/badge/python-3.8%2B-green)]()\n[![Version](https://img.shields.io/badge/version-1.5.0-brightgreen)]()\n\n![Demo](demo.gif)\n\n---\n\n## Vision\n\n\u003e **\"Every AI agent has memory. No AI agent should lose it.\"**\n\nToday, every AI developer uses multiple AI tools: Cursor for coding, Windsurf for design, OpenClaw for automation, Hermes for tasks… but each tool's memory is an island — the project context you built in Cursor disappears the moment you switch to Windsurf.\n\n**This shouldn't be a problem.**\n\nUniversal AI Memory Sync aims to become the **public infrastructure for AI memory** — one tool that connects all AI platforms, syncing scattered memory files to GitHub, so that AI context follows the user, not the device or application.\n\n```\nToday's Reality:\nCursor    ──── isolated memory ──── (no sync)\nOpenClaw  ──── isolated memory ──── (different repo)\nWindsurf  ──── isolated memory ──── (no sync)\nHermes    ──── isolated memory ──── (no sync)\n\nWith Universal Memory Sync:\nCursor    ──┐\nOpenClaw  ──┼── unified sync ── GitHub private repo ── any device\nWindsurf  ──┤                     (one tool, all agents)\nHermes    ──┘\nWorkBuddy ──┘\n```\n\n---\n\n## Competitive Landscape\n\n| Project | Focus | Stars | Notes |\n|---------|-------|-------|-------|\n| **mem0** | Universal Memory Layer | ⭐ 53.9k | Vector DB + semantic search; requires LLM API, paid cloud service |\n| **AgentMem** | SaaS Cross-Agent Sync | Commercial | API service, $29/mo+ |\n| **SAMEP** (arXiv) | Enterprise Protocol | Paper only | PostgreSQL + Pinecone + Redis, complex setup |\n| **ClawSouls Memory Sync** | OpenClaw Official | — | `age` encryption + GitHub API, OpenClaw-only |\n\n\u003e **Key insight:** Heavy solutions (mem0/AgentMem) are too complex and expensive; lightweight solutions (ClawSouls/ours) are each tied to a single platform. **Nobody is doing \"cross-platform + lightweight + pure Git files + zero dependencies\" — that's our positioning.**\n\n---\n\n## Features\n\n| Feature | Description |\n|---|---|\n| ✅ **One-phrase trigger** | Just say \"sync memory\" — no commands needed |\n| ✅ **Multi-agent support** | cursor / openclaw / hermes / windsurf / workbuddy / generic / all |\n| ✅ **Full workspace scan** | Auto-scans all workspaces in one shot |\n| ✅ **Cross-platform** | Windows / macOS / Linux |\n| ✅ **Conflict handling** | Latest mtime wins; full Git history for rollback |\n| ✅ **Version history** | Every sync creates a Git commit; revert anytime |\n| ✅ **Privacy-first** | Private repo; token stored locally only |\n| ✅ **Zero dependencies** | Python 3.8+ and Git — that's it |\n| ✅ **Discovery command** | `agents` command scans all AI platforms on your machine |\n\n---\n\n## Supported Agents\n\n| Agent | Memory Files | Search Paths |\n|---|---|---|\n| **cursor** | `CLAUDE.md`, `.cursorrules`, `.cursor/rules/` | `~/.cursor/rules/` + `~/projects/*/` |\n| **openclaw** | `MEMORY.md`, `SOUL.md`, `USER.md`, `IDENTITY.md`, `AGENTS.md`, `memory/*.md` | `~/.openclaw/workspace/` + `~/.openclaw/agents/\u003ccid\u003e/` + project dirs |\n| **hermes** | `MEMORY.md`, `USER.md`, `state.db` | `~/.hermes/memories/` |\n| **windsurf** | `.windsurf/rules/`, `.windsurf/memory/` | `~/.windsurf/rules/`, `~/.windsurf/memory/` |\n| **workbuddy** | `.workbuddy/memory/*.md` | `~/.ai-memory/memory/workbuddy/` + `~/WorkBuddy/\u003cid\u003e/.workbuddy/memory/` |\n| **generic** | Any directory | Custom via `MEMORY_DIR` env var |\n| **all** | All of the above | All detected sources |\n\n---\n\n## Quick Start\n\n### Step 1: Create a GitHub Private Repo\n\n1. Go to [github.com/new](https://github.com/new)\n2. Create a **Private** repo, name it: `ai-memory`\n3. Check **Add a README file**\n\n### Step 2: Get a Personal Access Token\n\n1. Go to [github.com/settings/tokens/new](https://github.com/settings/tokens/new)\n2. Note: `ai-memory-sync`\n3. Scopes: check `repo` (full control)\n4. Generate and copy the token\n\n### Step 3: Install\n\n```bash\n# Clone anywhere convenient:\ngit clone https://github.com/SuperCrzy/AI-Memory-Sync ~/.ai-memory/skill\n\n# Or as a WorkBuddy skill:\ngit clone https://github.com/SuperCrzy/AI-Memory-Sync ~/.workbuddy/skills/memory-sync\n```\n\n### Step 4: Initialize\n\n```bash\n# Windows\npython ~/.ai-memory/skill/scripts/memory_sync.py setup --repo https://github.com/yourname/ai-memory --token ghp_xxxxx\n\n# macOS / Linux\npython3 ~/.ai-memory/skill/scripts/memory_sync.py setup --repo https://github.com/yourname/ai-memory --token ghp_xxxxx\n```\n\n---\n\n## Usage\n\n### Talk to Your AI (Recommended)\n\n| What you say | AI does |\n|---|---|\n| \"sync memory\" / \"push memory\" | Push all agent memory to GitHub |\n| \"sync all agents\" / \"push all\" | Push all platforms at once |\n| \"sync openclaw\" / \"sync hermes\" | Push specific agent |\n| \"pull memory\" / \"download memory\" | Pull latest memory from GitHub |\n| \"memory sync status\" | Show repo and local file info |\n| \"agents\" / \"show agents\" | Scan all AI platforms on this machine |\n| \"setup memory sync\" | Initialize configuration |\n\n### Run Commands Directly\n\n```bash\n# Push specific agent\npython memory_sync.py push --agent cursor\npython memory_sync.py push --agent all          # Push all at once\n\n# Pull\npython memory_sync.py pull --agent openclaw\npython memory_sync.py pull --agent all          # Pull all at once\n\n# Discover agents on your machine\npython memory_sync.py agents\n\n# Check status\npython memory_sync.py status\n```\n\n---\n\n## Language / i18n\n\nOutput language is auto-detected from your system locale. You can also set it manually:\n\n```bash\n# Force English (default if not set)\nAI_MEMORY_LANG=en python memory_sync.py agents\n\n# Force Chinese\nAI_MEMORY_LANG=zh python memory_sync.py agents\n```\n\nWithout the env var, the script reads `os.environ.get(\"LANG\")` or `locale.getpreferredencoding()` to decide — Chinese system → Chinese output, otherwise English.\n\n---\n\n## Repository Structure\n\nAfter sync, your GitHub private repo stores memory for all agents:\n\n```\nai-memory/\n├── agents/\n│   ├── cursor/\n│   │   ├── rules/               # ~/.cursor/rules/\n│   │   └── projects/             # Project-level CLAUDE.md\n│   ├── openclaw/\n│   │   ├── workspace/            # ~/.openclaw/workspace/\n│   │   │   ├── MEMORY.md\n│   │   │   ├── SOUL.md\n│   │   │   ├── USER.md\n│   │   │   ├── IDENTITY.md\n│   │   │   └── memory/\n│   │   │       └── YYYY-MM-DD.md\n│   │   └── agents/\u003ccid\u003e/        # Per-session state dirs\n│   ├── hermes/\n│   │   ├── memories/             # ~/.hermes/memories/\n│   │   │   ├── MEMORY.md\n│   │   │   └── USER.md\n│   │   └── state.db              # SQLite session state\n│   ├── windsurf/\n│   │   ├── rules/\n│   │   └── memory/\n│   └── workbuddy/\n│       ├── __user__/             # User-level memory\n│       │   └── MEMORY.md\n│       └── workspaces/           # Per-workspace memory\n│           ├── 20260424095145/\n│           └── Claw/\n```\n\n---\n\n## Multi-Device Workflow\n\n```\nDevice A (Home)                              Device B (Office)\n───────────────────────                      ───────────────────────\n1. Install Skill                             1. Install Skill\n2. Run setup                                 2. Run setup\n3. Say \"sync memory\" ────────→               3. Say \"pull memory\"\n   (push --agent all)                           (pull --agent all)\n                                              4. AI resumes context\n                                                 on all platforms\n```\n\n---\n\n## Environment Variables\n\n| Variable | Description | Default |\n|---|---|---|\n| `AI_MEMORY_WORKSPACE_ROOT` | Workspace root directory | `~/WorkBuddy` |\n| `AI_MEMORY_LANG` | Force output language (`en` or `zh`) | Auto-detect from system locale |\n| `MEMORY_DIR` | Memory dir for generic mode | (none) |\n\n---\n\n## Project Structure\n\n```\nuniversal-ai-memory-sync/\n├── SKILL.md              # Skill descriptor\n├── README.md             # This document\n├── LICENSE               # MIT License\n├── .gitignore            # Excludes config (contains token)\n├── demo.gif              # Terminal animation demo\n└── scripts/\n    ├── memory_sync.py    # Core script v1.5.0\n    └── generate_demo_gif.py  # Demo GIF generator (optional)\n```\n\n---\n\n## Conflict Resolution\n\nWhen the same file is modified on multiple devices simultaneously, the **latest mtime wins**. Every push creates a Git commit — use `git log` to review history and revert if needed.\n\n---\n\n## FAQ\n\n**Q: Push failed with authentication error?**\nA: Your token may have expired. Re-run `setup` to update it.\n\n**Q: AI still doesn't remember after pulling?**\nA: Run `status` to confirm files were pulled, then **start a new conversation** — AI reads memory at the start of each session.\n\n**Q: How do I sync Cursor memory?**\nA: `python memory_sync.py push --agent cursor` — auto-scans `~/.cursor/rules/` and project directories.\n\n**Q: Does it support OpenClaw?**\nA: Yes. Detects `MEMORY.md` / `SOUL.md` / `USER.md` / `IDENTITY.md` / `AGENTS.md` and `memory/*.md` files, archives to `agents/openclaw/`.\n\n**Q: Is my token safe?**\nA: Token is stored in `~/.ai-memory/config.json`, which is in `.gitignore` and never pushed.\n\n---\n\n## Roadmap\n\n- [ ] **v1.6** — Optional `age` encryption layer (end-to-end encryption)\n- [ ] **v2.0** — Universal AI Memory Spec: a unified `.ai-memory/` directory structure adopted across all platforms\n- [ ] **v2.1** — MCP protocol integration: agents can query each other's memory\n- [ ] **Community** — Drive adoption of standardized memory file formats across AI agents\n\n---\n\n## Contributing\n\nIssues and PRs are welcome!\n\n- Bug reports → [Issues](https://github.com/SuperCrzy/AI-Memory-Sync/issues)\n- Feature requests → [Issues](https://github.com/SuperCrzy/AI-Memory-Sync/issues)\n- Add new platform support → Open a PR, reference the `discover_agent_dirs()` function\n\n---\n\n## License\n\nMIT © [SuperCrzy](https://github.com/SuperCrzy)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupercrzy%2Fai-memory-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupercrzy%2Fai-memory-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupercrzy%2Fai-memory-sync/lists"}