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]| Flag | Description |
|---|---|
--loco | Also 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:
checksrecovery_statesafety_state
auth-status
Inspect the persisted recovery state without the broader environment checks.
openkakao-rs auth-status
openkakao-rs auth-status --jsonThis 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_atlast_success_transportlast_recovery_sourcelast_failure_kindconsecutive_failurescooldown_untilauth_cooldown_remaining_secsrelogin_available_in_secsrenew_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-testIt 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-testprobe
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}' --jsonUse 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 --jsonUse this when you are reverse-engineering:
SYNCMAINPFUPLINKPROFprofileTokenmultiProfileId- before/after file changes in the KakaoTalk container
Important pieces:
--local-graphcorrelates cached REST profile requests with the LOCO-derived friend graph--local-graphalso carries per-chatGETMEMtokens soprofile-hints --user-id ... --probe-syncmainpfcan try chat-scoped token candidates- when
--user-idis present,profile-hintsprefers chat IDs inferred from cached profile hints before scanning the full LOCO graph --app-statecaptures file metadata from the KakaoTalk container, preferences, andCache.db--app-state-diff <baseline.json>compares the current snapshot against a previousprofile-hints --app-state --jsonoutput
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