Introduction¶
When implementing memory capabilities in DSH, the common approach is to have users manually paste chat history or rely on uploading externally exported files. The WeChat desktop client often holds a vast amount of traceable information—promises, deadlines, and conclusions from groups—but when you actually need it, you are left scrolling through hundreds of conversations, making it difficult to reliably filter the original text by “who,” “which group,” or “what time period.”
The following introduces the community plugin dsh-better-wechat (maintainer CH3SH-LC). It performs collection, decryption, and indexing locally, organizing computer-based WeChat chats into a searchable, filterable, and traceable private archive. It then uses models within DSH for natural language querying and organization; only the message text selected for the current analysis is sent to the model you choose in DSH.
What is This¶
dsh-better-wechat is a plugin for DeepSeek Harness (DSH), categorized as “Memory” in the SkillHub community directory. The current package version is 0.6.0 (subject to the repository’s package.json).
Its positioning can be summarized as: A local-first WeChat message organization assistant. The database, index, and complete history remain on your local machine; the plugin does not send messages via WeChat, modify WeChat settings, or execute tasks on your behalf. The analysis phase relies on models within the DSH host—if cloud models are used, the selected body text will leave the local machine with the model request; if local models are used in DSH, the analysis can be completed without any external data transmission.
Core Features¶
Natural Language Search¶
You do not need to remember underlying tool names or database paths. Simply describe clues in colloquial language (person, group, time, keywords), such as “the deadlines mentioned in the project group between last Wednesday and Friday” or “find the interface issues discussed with Engineer Wang yesterday and give me the original text.” The plugin will return the original text and context.
Candidate To-do Organization¶
It reads through messages within a specified time frame to organize drafts of tasks, owners, deadlines, etc., with each item annotated with its source message. The README emphasizes: drafts require manual verification, and it will not confirm “completed” status for you; tasks belonging to others in the group will not be attributed to you; if messages are updated, it will mark “basis has changed,” allowing for version-based traceability.
One-click Ignore for Muted Groups¶
During organization, it reads WeChat’s own “Message Mute” settings, consistent with the mobile client. Once “Ignore” is enabled, messages from muted groups will not enter the current organization scope. Conversations with unknown status will be retained and not mistakenly excluded; if mute information is missing from the index, it will explicitly state so rather than pretending it has been excluded.
Conversation Confirmation & Long-term Ignore¶
Groups or contacts with the same name can be confusing. The plugin first lists matching conversations (display name, type, message volume, last active time, mute status) and reads content only after confirmation. You can add specific conversations to a “Long-term Ignore” list, which will be automatically skipped in subsequent searches, context retrieval, and to-do organization, while the local archive remains intact.
Capability Components (Troubleshooting Reference)¶
The plugin is split into independently start/stop components by functional domain: core (config and local engine), stage-one (reading and refreshing), read (status, search, context, etc.), tasks (candidate to-dos), preferences (long-term ignore list). Common scope parameters include start_date / end_date, kinds (friend / group / official, etc.), exclude_muted, etc.; the README explains that filtering occurs in the second step, while the first step only accepts empty parameters.
Images, voice messages, videos, and files are only recorded as “a message of this type exists”; the body content is not read.
Installation & Activation¶
Environment Preparation (from README):
- DSH: A version supporting workspace bundles is required; the README states that plugin loading and tool registration have been verified on DSH
0.2.0-rc.2. - Python 3.10+ (64-bit recommended for automatic reading of local WeChat).
- Automatic reading of computer WeChat: Windows + WeChat 4.x + Logged in. macOS / Linux can import existing chat export directories, but do not support automatic reading of local WeChat.
Step 1 · Install Plugin
Install this plugin directory on the DSH plugin page, or use install_bundle via plugin_manager. Directory Page: SkillHub · dsh-better-wechat.
After the first installation of a local plugin directory, please fully exit and reopen DSH. Simply refreshing the page or disabling/enabling the plugin cannot replace a restart—the host needs to reload the plugin code for new tools to appear.
Step 2 · Initialize Reading
Say in a DSH conversation:
Initialize WeChat Assistant
The plugin will connect to the logged-in computer WeChat, perform a full read, verification, and build a local index (usually takes a few minutes for the first time). If it prompts that collection dependencies are missing, run Install Collection Dependencies.cmd in the plugin directory and retry. This script installs Python dependencies from public sources (unrelated to chat content) and is the only network behavior initiated by the plugin.
Step 3 · Daily Use
For example:
See what messages today need my reply
When you need to update the local snapshot, say “Refresh WeChat Records” without needing to reselect the source.
Typical Usage¶
The following examples are from the project README and can be directly reproduced in DSH:
- “Messages about acceptance in the group chat yesterday, give me the original text and context”
- “Summarize today’s discussion with this contact, provide message evidence for each conclusion”
- “Organize to-dos related to me this week, separate clear tasks from potential tasks, and do not attribute others’ tasks to me”
- “Only extract records from Project Group A and Project Group B between 9 AM and 12 PM today”
- “Organize today’s to-dos, ignore muted groups”
- “Do not pay attention to this chitchat group in the future — first list the matched conversations for me to confirm”
Use Cases & Notes¶
Who it is for: DSH users who need to archive WeChat chats locally, search and review via natural language, and organize to-do drafts with sources from chats; people who want to reduce noise using mute and “long-term ignore” features; people who care about data staying local and are willing to control the model and transmission scope themselves.
Data Boundaries (Must understand):
| Remains Local | Sent to Model in DSH |
|---|---|
| WeChat database and decrypted copies, complete index and history | Selected message body text for current analysis |
| Account mapping, local keys, ignore list, to-do drafts | Contact/group display names, time, evidence numbers, and scope in queries |
It reads local snapshots, not real-time chats; if a time period cannot be found, first “Refresh WeChat Records” and check the coverage in the status. One private data directory is bound to one WeChat account; you can use the environment variable DSH_WECHAT_STATE_DIR to specify the directory. After upgrading or renaming the plugin, existing indexes can continue to be used (the private data directory is decoupled from the plugin name).
Security & Compliance: The plugin runs with the permissions of the current DSH process. Before installing, please review the GitHub Source Code, PRIVACY.md, and License (MIT for original parts, Apache-2.0 for modified collector parts) yourself. The community directory SkillHub is an independent site and has no official affiliation with DeepSeek / High-Flyer.
Conclusion¶
dsh-better-wechat transforms “scrolling through hundreds of conversations to find one conclusion” into a locally searchable and filterable archive, and limits model calls to the text you select; combined with mute ignoring and long-term ignore features, the organization scope is more controllable.
- Community Directory: https://www.skillhub.cn/plugins/CH3SH-LC/dsh-better-wechat
- Source Code & Docs: https://github.com/CH3SH-LC/dsh-better-wechat