OpenKakao

doctor / auth-status / probe / profile-hints

Diagnostics, persisted recovery state, connection testing, raw LOCO probing, and reverse-engineering snapshots.

doctor

Run diagnostic health checks.

openkakao-rs doctor [--loco]
FlagDescription
--locoAlso test LOCO booking connectivity

Checks performed:

  • KakaoTalk.app installed and version
  • KakaoTalk process running
  • Cache.db accessible and fresh
  • Saved credentials valid
  • Version drift (installed vs. saved app version)
  • REST API token validity
  • LOCO booking connectivity (with --loco)
  • persisted auth recovery state
  • current safety guard policy and recent guard hits
  • Protocol constants verification

doctor --json now emits:

  • checks
  • recovery_state
  • safety_state

auth-status

Inspect the persisted recovery state without the broader environment checks.

openkakao-rs auth-status
openkakao-rs auth-status --json

This is the fastest way to answer:

  • when recovery last succeeded
  • which transport last succeeded
  • whether auth is cooling down
  • when relogin and renew are available again

The JSON output includes:

  • last_success_at
  • last_success_transport
  • last_recovery_source
  • last_failure_kind
  • consecutive_failures
  • cooldown_until
  • auth_cooldown_remaining_secs
  • relogin_available_in_secs
  • renew_available_in_secs

Use auth-status when you want recovery state only. Use doctor when you want environment checks plus recovery and safety context together.


loco-test (legacy)

loco-test remains available as a hidden compatibility command, but new usage should move to doctor --loco.

openkakao-rs loco-test

It still performs Booking → Checkin → LOGINLIST and reports success with chat room count.

Debug Mode

For verbose protocol logging:

OPENKAKAO_RS_DEBUG=1 openkakao-rs loco-test

probe

Probe a LOCO method directly and print the raw response.

openkakao-rs probe BLSYNC --body '{"r":0,"pr":0}'
openkakao-rs probe GETMEM --body '{"chatId":382416827148557}' --json

Use this when you are reverse-engineering or validating a new LOCO surface.

loco-probe remains available as a hidden compatibility command.

probe is a developer tool. Payloads can be wrong, and mutation methods can have real side effects. Do not treat it like a safe operator command.


profile-hints

Inspect cached profile requests, local LOCO graph hints, and optional app-state snapshots.

openkakao-rs profile-hints --local-graph --json
openkakao-rs profile-hints --app-state --json
openkakao-rs profile-hints --app-state --app-state-diff /tmp/profile-before.json --json

Use this when you are reverse-engineering:

  • SYNCMAINPF
  • UPLINKPROF
  • profileToken
  • multiProfileId
  • before/after file changes in the KakaoTalk container

Important pieces:

  • --local-graph correlates cached REST profile requests with the LOCO-derived friend graph
  • --local-graph also carries per-chat GETMEM tokens so profile-hints --user-id ... --probe-syncmainpf can try chat-scoped token candidates
  • when --user-id is present, profile-hints prefers chat IDs inferred from cached profile hints before scanning the full LOCO graph
  • --app-state captures file metadata from the KakaoTalk container, preferences, and Cache.db
  • --app-state-diff <baseline.json> compares the current snapshot against a previous profile-hints --app-state --json output

If the desktop app is logged in and you want to inspect what changes when opening a profile or multi-profile UI, the recommended flow is:

openkakao-rs profile-hints --app-state --json > /tmp/profile-before.json
# open the target profile or multi-profile UI in KakaoTalk
openkakao-rs profile-hints --app-state --app-state-diff /tmp/profile-before.json --json

On this page