MemoBridge extracts, standardizes, and migrates AI memories across tools and workspaces. AI assistants accumulate valuable context over time — user preferences, project history, knowledge progress, vocabulary lists, daily routines. This skill ensures none of that is lost when switching tools or machines.
Node.js >= 22.0.0 must be installed. The MemoBridge CLI is available at the project root.
| Tool | Extract | Import | Method |
|---|---|---|---|
| ------ | --------- | -------- | -------- |
| CodeBuddy | ✅ | ✅ | Direct file read (.codebuddy/ + .memory/) |
| OpenClaw | ✅ | ✅ | Direct file read (~/.openclaw/workspace/) |
| Hermes Agent | ✅ | ✅ | Direct file read (~/.hermes/memories/) |
| Claude Code | ✅ | ✅ | Direct file read (CLAUDE.md + ~/.claude/) |
| Cursor | ✅ | ✅ | Direct file read (.cursorrules + ~/.cursor/) |
| ChatGPT | ✅ (prompt) | ✅ | Prompt-guided export, instruction-based import |
| Doubao / 豆包 | ✅ (prompt) | ✅ | Prompt-guided export, instruction-based import |
| Kimi | ✅ (prompt) | ✅ | Prompt-guided export, context injection import |
Run the detect command to discover all AI tools on the system:
cd {project_root}
node dist/cli.js detect
This scans for local tools (CodeBuddy/OpenClaw/Hermes/Claude Code/Cursor) and lists cloud tools (ChatGPT/Doubao/Kimi) that require prompt-guided export.
For local tools (direct file access):
# CodeBuddy — auto-scans all workspaces
node dist/cli.js extract --from codebuddy -o ./memo-bridge.md
# CodeBuddy — specific workspace
node dist/cli.js extract --from codebuddy --workspace /path/to/project -o ./memo-bridge.md
# OpenClaw
node dist/cli.js extract --from openclaw -o ./memo-bridge.md
# Hermes Agent
node dist/cli.js extract --from hermes -o ./memo-bridge.md
# Claude Code
node dist/cli.js extract --from claude-code -o ./memo-bridge.md
# Cursor (with workspace for project rules)
node dist/cli.js extract --from cursor --workspace /path/to/project -o ./memo-bridge.md
For cloud tools (prompt-guided), generate the optimal export prompt:
node dist/cli.js prompt --for doubao
node dist/cli.js prompt --for kimi
node dist/cli.js prompt --for chatgpt
Then instruct the user to: copy the prompt → paste into the AI tool's chat → copy the AI's response → save as a file.
For file-based tools:
# To Claude Code (appends to CLAUDE.md)
node dist/cli.js import --to claude-code --input ./memo-bridge.md
# To Hermes Agent (auto-trims to 2200 UTF-8 bytes)
node dist/cli.js import --to hermes --input ./memo-bridge.md
# To OpenClaw (appends to MEMORY.md)
node dist/cli.js import --to openclaw --input ./memo-bridge.md
# To Cursor (requires --workspace)
node dist/cli.js import --to cursor --input ./memo-bridge.md --workspace /path/to/project
# To CodeBuddy
node dist/cli.js import --to codebuddy --input ./memo-bridge.md --workspace /path/to/project
For instruction-based tools:
# Generates text for user to paste into ChatGPT/Doubao/Kimi
node dist/cli.js import --to doubao --input ./memo-bridge.md
node dist/cli.js import --to chatgpt --input ./memo-bridge.md
node dist/cli.js import --to kimi --input ./memo-bridge.md
node dist/cli.js migrate --from codebuddy --to claude-code
node dist/cli.js migrate --from openclaw --to hermes
| Option | Description |
|---|---|
| -------- | ------------- |
--workspace | Specify a single workspace path |
--scan-dir | Specify root directory for auto-discovery |
--output | Output file path (default: ./memo-bridge.md) |
--input | Input file path |
--dry-run | Preview mode, no actual writes |
--overwrite | Overwrite existing files instead of appending |
--verbose | Detailed output |
Third-party adapters can be registered at runtime via the public registry
API — useful when a user has a proprietary or yet-unsupported tool:
import { extractorRegistry, importerRegistry, BaseExtractor } from 'memo-bridge';
class MyToolExtractor extends BaseExtractor {
readonly toolId = 'my-tool' as any;
async extract() { /* ... */ }
}
extractorRegistry.register('my-tool' as any, () => new MyToolExtractor());
See references/adapter-guide.md for the full three-step adapter recipe.
The standard interchange format is memo-bridge.md — Markdown with YAML front matter. See references/format-spec.md for the complete specification.
Key properties:
extensions section preserves tool-specific data(Hermes skills, OpenClaw SOUL/DREAMS, …) across migrations without
polluting the common memory lists.
information (API keys, passwords, tokens, SSH keys, emails, private
IPs, Authorization headers, custom API headers like X-API-Key,
database connection strings with embedded credentials).
case-insensitive on Windows so c:\program files can't bypass the
denylist.
every extractor file read (no more unbounded reads).
/etc, /bin, /usr, etc. — except OS-managed temp subtrees (/var/folders/,
/var/tmp/, /private/tmp/).
--from / --to / --for argsare validated against the registered tool list before dispatch.
--workspace or --scan-dir flags--dry-run firstTo build the CLI before first use:
cd {project_root}
npm install
npm run build
The project has 395 unit tests and a GitHub Actions CI that runs
lint → test → build on every push. To verify the local install:
npm test # ~500ms
共 1 个版本