Skip to content

Migrate from the old container

Version 0.x ran the WeChat Linux app inside a Docker container and drove its UI. The native daemon talks to WeChat directly, and can keep using the same profile files, so you keep your login and history.

stop, back up wx auth login --official 0.x containerWeChat app + UI server Profilelogin + history wx servehost or container
  1. Find the profile. It’s the container’s home directory: a bind mount or a named volume.

    Terminal window
    docker inspect OLD_CONTAINER --format '{{json .Mounts}}'
  2. Stop the old container and back up the profile. Wait for any sends in progress to finish first. Keep the old container and its volumes; don’t delete them.

    Terminal window
    docker stop OLD_CONTAINER
    # named volume:
    docker run --rm -v OLD_VOLUME:/src:ro -v "$PWD":/out busybox \
    tar -czf /out/wechat-profile-backup.tgz -C /src .
    # bind mount:
    tar -czf wechat-profile-backup.tgz -C /path/to/old/bind-mount .
  3. Point the native daemon at the profile.

    Install wx, then run wx serve and, in a second terminal:

    Terminal window
    wx auth login --official=/path/to/old/bind-mount

    For a named volume, copy its contents to a folder on the host first, or use the container option.

  4. Check history and contacts before changing anything else.

    Terminal window
    wx accounts list
    wx messages list filehelper --limit 5
  5. Update OpenClaw, if you use it. Replace the old serverUrl and token settings with a native block, as shown in OpenClaw quick setup. Remove serverUrl, token, pollIntervalMs and authPollIntervalMs. Keep dmPolicy, allowFrom and groups, and check they still do what you want once the channel is running.

What changed

0.x1.x
wx up / wx down start the containerwx serve or wx daemon start
API at /apiAPI at /v1, with different routes and IDs. See HTTP API.
OpenClaw serverUrl + tokenOpenClaw native block with a token reference
Screenshots, VNC, chat selectionGone; the daemon has no UI
Wechaty puppetRetired
Proxy settingsNot supported yet