WeChat Chat Export
SkillDev toolsLocate, inspect, filter, and locally package authorized WeChat for Windows chat history for AI use. Use when a user wants to export selected conversations, dates, or attachment types; do not use to access another person's account or to modify WeChat data.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the WeChat Chat Export skill
What this skill tells your AI
The instructions your AI receives, as published by dlborjigin/zanmenliaotian-ai-exporter in skill/wechat-chat-export/SKILL.md and read by ahel’s review.
Give nontechnical users a local, read-only workflow. The user chooses the account, conversation, time range, message types, and whether attachments may be copied. Do not ask them to find database files or run shell commands themselves. Use Codex's bundled workspace Python runtime when available; do not ask a nontechnical user to install Python or packages manually.
- Run
scripts/wechat_export.py onboard --json. If it reportsneeds_fixed_drive_scan, explain the bounded read-only scan in one sentence, obtain confirmation, and rerun with--scan-fixed-drives. - When exactly one usable active account exists, use it without asking the user
to interpret paths. If several exist, show opaque IDs, freshness, and path hints.
After local-path disclosure is confirmed, rerun onboarding with
--show-pathsand use every message database in itsdatabase_plan. - If the user already has a database key, never ask them to paste it into chat or place it on a command line. Use the local hidden-entry flow.
- Prefer a verified supplied key. Use automatic key discovery only after explicit authorization for the exact read-only method and databases reported by the tool.
- List conversations and preview counts before reading bodies. Resolve duplicate
display names with opaque conversation IDs; do not expose internal usernames.
Treat every
message_N.dbcontaining the selectedMsg_<md5>table as one conversation: merge chronologically and deduplicate by stable message ID. Map ordinary-language media requests strictly:图片means image messages only;表情means emoticon messages only;视频means playable original video only; and视频封面means the video's image thumbnail only. Never add neighboring media kinds merely because their files share an image extension. A request for语音转文字,语音转写, or equivalent means include audio, copy only the selected voice blobs after attachment confirmation, and enable the bundled local transcriber after separate confirmation to process voice content. Default to languagezh; useautoonly for clearly mixed-language audio or when the user requests automatic language detection. - Export only the approved scope. Attachments and image-key discovery require separate confirmation. Remote media completion requires another explicit network confirmation and stays disabled otherwise. Preserve the original database and media files unchanged.
- Return a clickable ZIP link and a short summary of included and excluded counts. For mixed or large attachment exports, prefer separate media ZIPs while keeping every selected media message and its attachment mapping in the records ZIP. Translate failures into plain language with one safe next action; keep raw diagnostics redacted and never make the user debug a command line.
- Report missing, expired, or unsupported media explicitly rather than silently
omitting it. Never report
not_foundwhen a targeted media directory could not be read completely; useindex_incompleteand one safe next action instead. - Voice transcription must remain offline. Use the release-bundled SILK decoder,
whisper.cpp executable, and multilingual model; never send voice bytes or
generated text to an online transcription API. Preserve the original
.silkbeside the machine-generated transcript for verification. Clearly label the result as machine generated, warn that it may contain errors, and preserve per-message failure statuses without aborting the rest of the export.
Read references/security-modes.md before any key or process operation. Read references/export-contract.md when producing an export. Read references/discovery.md when discovery returns multiple, stale, or no account candidates. Read references/compatibility.md before retaining a decrypted database or interpreting an unknown schema. Read references/selection.md when resolving a contact, time range, or message-type scope. Read references/media.md before searching for or copying attachments. Read references/key-discovery.md before requesting any process-memory access or handling an unknown WeChat build.
Signals
- GitHub stars
- 23
- Forks
- 7
- Last commit
- Sep 2026
ahel review
K3info
injectionK6low
bundled executables the agent is told to run
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Catalog kind
- skill
- Gateway key
wechat-chat-export- Source
- github.com/dlborjigin/zanmenliaotian-ai-exporter