Catalog PyPI
PACKAGE EXPLORERView in registry

aimem-cli

PyPI

AI Memory Switcher - Save, compress, and transfer context between AI agents

aiclaudecontextgeminillmmemoryopencodeqwenswitchertransfer
Versions collected1
Direct dependencies9From release 0.2.8
Last observed21 Oct, 11:17 UTC

README

Version 0.2.8 documentation

AiMem - AI Memory Switcher

AiMem - Transfer context between AI agents

PyPI Python License GitHub stars

AiMem helps you save, inspect, compress, and transfer conversation context between AI coding agents. When one agent hits a token limit, rate limit, or you simply want to switch tools, AiMem lets the next agent continue with the context you already built.

Install

pip install aimem-cli

From source:

git clone https://github.com/ThangTo/AiMem.git
cd AiMem
pip install -e .

Run the interactive TUI:

aimem-cli

What Is New In 0.2.8

  • Fixed OpenCode injection so imported messages no longer block the next real prompt from calling the LLM.
  • Fixed OpenCode message timestamps so new chats are not inserted between older imported messages.
  • Restored TUI resume flow after injection, including opening opencode -s <session-id> in a new terminal.
  • Fixed Codex CLI injection by writing complete base instructions and visible transcript events.
  • Improved Codex VS Code extension launch through the correct deep link flow.
  • Added --no-compress so compression is only used when explicitly requested or enabled.
  • Added regression tests for OpenCode injection ordering, model selection, and context budgeting.

Core Features

  • Interactive TUI with session selection, analysis, chunking, compression, injection, and resume actions.
  • Save sessions from Claude, Gemini, Qwen, OpenCode, Codex, Cursor, Aider, Continue.dev, or clipboard.
  • Load sessions as Markdown, Claude, Gemini, Qwen, OpenCode, Codex, Cursor, Continue.dev, or prompt format.
  • Inject directly into supported agent storage, then resume in the target tool.
  • Analyze context size against the target model before loading.
  • Chunk large sessions while preserving all messages.
  • Optional LLM compression with explicit --compress and --no-compress controls.
  • Merge multiple sessions into a single context package.

Quick Start

Interactive Mode

aimem-cli

Use the TUI to:

  • Pick a source session.
  • Analyze, chunk, compress, copy, or inject it.
  • Open the injected target session directly when supported.

Transfer Claude To OpenCode

aimem-cli save --from claude
aimem-cli load <session-id> --to opencode --inject
opencode -s <opencode-session-id>

In the TUI, after injection you can choose to open the OpenCode session immediately in a new terminal.

Transfer To Codex

aimem-cli save --from claude
aimem-cli load <session-id> --to codex --inject
codex resume <codex-session-id>

The TUI also supports opening the injected Codex session in the terminal or in the VS Code extension.

Transfer Through Markdown

aimem-cli save --from claude
aimem-cli load <session-id> --to markdown --copy

Paste the generated context into any AI assistant.

Commands

Initialize Config

aimem-cli init
aimem-cli init --force

Save A Session

aimem-cli save --from claude
aimem-cli save --from gemini
aimem-cli save --from qwen
aimem-cli save --from opencode
aimem-cli save --from codex
aimem-cli save --from cursor
aimem-cli save --from aider
aimem-cli save --from continue
aimem-cli save --from clipboard

Save a specific session when the adapter supports it:

aimem-cli save --from opencode --session-id <session-id>

Load Or Convert A Session

aimem-cli load <session-id> --to markdown
aimem-cli load <session-id> --to claude
aimem-cli load <session-id> --to gemini
aimem-cli load <session-id> --to qwen
aimem-cli load <session-id> --to opencode
aimem-cli load <session-id> --to codex
aimem-cli load <session-id> --to cursor
aimem-cli load <session-id> --to continue
aimem-cli load <session-id> --to prompt

Inject Into Target Storage

aimem-cli load <session-id> --to claude --inject
aimem-cli load <session-id> --to gemini --inject
aimem-cli load <session-id> --to qwen --inject
aimem-cli load <session-id> --to opencode --inject
aimem-cli load <session-id> --to codex --inject
aimem-cli load <session-id> --to cursor --inject

OpenCode model override:

aimem-cli load <session-id> --to opencode --inject --opencode-model google/gemma-4-31b-it

Analyze, Chunk, Compress

aimem-cli load <session-id> --to opencode --analyze
aimem-cli load <session-id> --to opencode --chunk
aimem-cli load <session-id> --to opencode --compress --inject
aimem-cli load <session-id> --to opencode --no-compress --inject

Merge Sessions

aimem-cli merge <session-a> <session-b>
aimem-cli merge <session-a> <session-b> --smart
aimem-cli merge <session-a> <session-b> --smart --to gemini

Config

aimem-cli config
aimem-cli config set compression.enabled true
aimem-cli config set compression.enabled false
aimem-cli config set compression.api_key YOUR_API_KEY
aimem-cli config set compression.provider groq
aimem-cli config set output.clipboard_auto true

Delete

aimem-cli delete <session-id>

Supported Agents

Sources

AgentNotes
ClaudeReads Claude Code JSONL project sessions
GeminiReads Gemini CLI chat sessions
QwenReads Qwen CLI logs
OpenCodeReads OpenCode database/export sessions
CodexReads Codex rollout sessions
CursorReads Cursor composer data
AiderReads .aider.chat.history.md
Continue.devReads Continue session database
ClipboardSaves current clipboard content

Injection Targets

TargetResume Command
Claudeclaude --resume
Geminigemini --resume
Qwenqwen --resume
OpenCodeopencode -s <session-id>
Codex CLIcodex resume <session-id>
Codex VS CodeOpens vscode://openai.chatgpt/local/<session-id>
CursorOpens the target project/session in Cursor

Configuration

Config file:

~/.aimem/config.json

Important options:

OptionDefaultDescription
compression.enabledfalseEnable automatic LLM compression
compression.providergroqCompression provider
compression.api_keyemptyAPI key for compression
output.formatmarkdownDefault output format
output.clipboard_autotrueAuto-copy generated output
storage.path~/.aimem/sessionsSaved session directory

Development

pip install -e ".[dev]"
python -m pytest
python -m build

Project layout:

aimem/
  cli.py
  tui.py
  models.py
  storage.py
  compression.py
  context_manager.py
  adapters/
    claude.py
    gemini.py
    qwen.py
    opencode.py
    codex.py
    cursor.py
    aider.py
    continue_dev.py

License

MIT License. See LICENSE.

Contributing

See CONTRIBUTING.md.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.2.825 Apr 20269

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
thangto/aimem

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 11:17 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:236128aa38c20afa8715ee560f46f627adb525b32c183ff73f0769854aea1596