Legacy history sources

These are the published Message Like Me history readers. Their import capabilities are separate from Textbutler’s planned live Messages transport, which remains disabled pending qualification.

Message Like Me supports 4 messaging-history inputs and one optional Contacts enrichment source. The messaging inputs normalize into one private local corpus; Contacts adds exact labels in the same private local store. Every ingest path is read-only with respect to its source and bounded by its source contract.

Legacy reader support in v0.8.9

The source is part of the evidence.

These labels describe observed inputs—not account connections, complete histories, or permission to operate a messaging service.

Messaging history

Apple Messages

SupportedNative · read-only

Reads a stable private copy of the current macOS user’s iMessage database.

Import command and limits for Apple Messages

Message Like Me never modifies Messages, chat.db, or its transactional sidecars.

messagelikeme ingest imessage

Messaging history

Beeper via Ghostget

SupportedBounded local bundle

Adds a finished Beeper bundle from Ghostget v0.17.1 and adapter 2.4.0 to the private local evidence corpus.

Import command and limits for Beeper via Ghostget

All 32 reviewed operations stay in Ghostget: 26 through one pinned Beeper CLI 0.6.2 executable, including supported actions and writes, plus six fixed Desktop loopback reads. Message Like Me receives no provider credentials, calls no Ghostget or Beeper operation, never sends, and does not claim complete history.

messagelikeme ingest bundle --input /absolute/private/bundle

Messaging history

WhatsApp via Ghostget

SupportedNative · bounded local bundle

Ingests one native WhatsApp linked-device observation exported by Ghostget through official Wacli.

Import command and limits for WhatsApp via Ghostget

Ghostget omits reaction-shaped rows when Wacli cannot prove current state; Message Like Me verifies the finished bundle and never operates WhatsApp.

messagelikeme ingest bundle --input /absolute/private/whatsapp-bundle

Messaging history

X data archive

SupportedCaller-owned archive

Reads supported direct-message entries from a private X archive ZIP without extracting it.

Import command and limits for X data archive

This path covers archive DMs, not X Chat, and never accesses X or downloads media.

messagelikeme ingest x-archive --input /absolute/private/archive.zip

Label enrichment

macOS Contacts

SupportedOptional · read-only

Adds private local names to exact email and phone matches across direct conversations.

Import command and limits for macOS Contacts

Contacts supplies labels only; it is not messaging history and ambiguous matches stay separate.

messagelikeme ingest contacts

Beeper via Ghostget

Bring Beeper history into the same private evidence corpus.

Ghostget turns bounded Beeper reads into a finished private bundle. Message Like Me verifies that bundle into the same local corpus as its other read-only sources. The two tools do not share credentials or a live session.

  1. Ghostget writes the private bundle.

    Verified producer Ghostget v0.17.1 uses beeper-local adapter v2.4.0. Its 32 reviewed Beeper operations comprise 26 through one pinned Beeper CLI 0.6.2 executable, including supported actions and writes, plus 6 fixed Desktop loopback reads.

    The pinned executable reports v0.6.2 and is runtime authority. At the upstream tag, packages/cli/package.json declares v0.6.1; that source-package value is provenance only and never overrides the executable runtime identity.

    ghostget beeper export-message-like-me --auth <id> --output /absolute/private/path/beeper-bundle
  2. Message Like Me verifies before ingest.

    It accepts bundle schema 1, source beeper-local, and transform 1.1.0. Package age never overrides those manifest coordinates.

    messagelikeme ingest bundle --input <private-directory>

Native WhatsApp via Ghostget

Exact JIDs in. No provider session crosses over.

Ghostget owns Wacli and the live linked-device boundary. Message Like Me receives only one finished private v2 directory and performs no process, authentication, synchronization, network, preview, or send operation.

  1. Ghostget writes one native account observation.

    Ghostget v0.17.1 owns official Wacli v0.15.0, linked-device authentication, synchronization, and the bounded local export. It omits reaction-shaped rows with reaction-state-unproven when current state cannot be proved.

    ghostget whatsapp export-message-like-me --auth <id> --output /absolute/private/path/whatsapp-bundle
  2. Message Like Me proves the v2 coordinates.

    It accepts schema 2, source wacli-local@1.0.0, provider whatsapp@0.15.0, and exact canonical WhatsApp JIDs.

    messagelikeme ingest bundle --input <private-whatsapp-directory>

Local is a process boundary

You choose when an agent sees a packet.

Deterministic storage and measurement stay in Message Like Me’s private local data root. A study packet leaves that root only at an explicit path. Opening one makes its bounded excerpts visible to the agent environment you chose; the CLI cannot make a hosted agent local.