dsh-better-wechat
把电脑上的微信聊天,变成你随时能问的私人消息工作台。 本地优先:采集、解密、索引、筛选都在你的电脑上完成;只有你这次分析真正用到的消息文本,才会交给你在 DSH 里选择的模型。
微信里其实躺着大量有价值的信息 —— 谁答应了什么、哪条通知有时限、上周讨论的结论是什么。但真要用的时候,你只能在几百个会话里往上翻。
dsh-better-wechat 是 DeepSeek Harness(DSH)的一个插件。它在你的电脑本地把微信聊天整理成一份可检索、可筛选、可追溯的私人档案,然后让 DSH 里的助手用自然语言帮你查、帮你总结、帮你把「要做的事」挑出来。
- 🗂️ 一句话找消息 —— 按人、按群、按时间、按关键词找,返回原文和上下文
- ✅ 自动整理待办 —— 从聊天里挑出与你有关的承诺和截止时间,每条都带原文出处
- 🔕 免打扰群一键忽略 —— 整理消息时跳过你早已静音的群,只看真正重要的会话
- 🔒 本地优先、按需外发 —— 数据库、索引和完整历史留在本机;只有本次分析用到的消息文本交给 DSH 里的模型,换成本地模型即可完全不外发
它把什么变简单了
| 你现在的麻烦 | 用它可以这样 |
|---|---|
| 重要信息淹没在几百个群聊里 | 直接问「昨天关于验收的消息」,拿到原文和上下文 |
| 每天翻聊天记录找「谁答应了什么」 | 让它按日期整理候选待办,逐条附上消息依据 |
| 几十个免打扰群刷屏,整理时全是噪声 | 说一句「忽略免打扰群」,整理范围立刻干净 |
| 想知道「这事上周谁提的」 | 按时间回看,结论可追溯到具体某条消息 |
| 不想把聊天记录交给云端工具 | 采集、索引、完整历史都在本机;只把你选中的文本交给模型分析,也可以改用本地模型完全不外发 |
核心功能
1. 用大白话检索聊天记录
不需要记命令,也不需要知道消息存在哪个数据库。直接描述你记得的线索:谁、哪个群、大概什么时候、聊了什么。
「上周三到周五,项目群里提到的截止时间」 「查一下昨天跟王工讨论的接口问题,给我原文」
2. 把聊天里的「事」挑出来
它会通读你指定时间范围内的消息,整理成候选待办:任务、负责人、截止时间、状态,并且每条都标注来自哪条消息。
更重要的是它的分寸感:
- 草稿不等于完成 —— 它给你的都是需要你核对的草稿,不会替你确认「已完成」
- 别人的事不算你的事 —— 群里的任务不会硬算到你头上
- 证据可回溯 —— 消息更新后会标记「依据已变化」,可以按版本回查当时的原文
「整理本周与我有关的待办,明确任务和可能任务分开」
3. 免打扰群,一键忽略
这是最好用的一条「减负开关」。
你手机里静音的群,插件读的是微信自己的「消息免打扰」设置,所以和你在微信里看到的是一回事。整理消息时开启忽略,免打扰群的海量消息就不会占用你的整理时间和模型上下文。
- 只排除确定处于免打扰的会话;状态不明的会话会保留,不会被误伤
- 会明确告诉你索引里是否已有免打扰信息,缺数据时不会假装「已排除」
「整理今天的待办,忽略免打扰群」
4. 会话视角:先找准人,再查内容
同名群、同名联系人很容易搞混。插件会先列出匹配到的会话(真实显示名、类型、消息量、最近时间、是否免打扰),确认后再读取内容 —— 不会擅自替你选一个。
5. 长期不关注名单
有些群你永远不想在整理时看到。可以把它们加入「长期不关注」名单:之后所有检索、上下文和待办都会自动跳过,但它仍然保留在本地档案里,随时可以查看或移出。
6. 结论带证据,越权的事不做
每条结论都能落到具体某条消息。插件不会发消息、不会改微信、不会替你执行任务、不会创建提醒 —— 它只做「读懂 + 整理」。
三分钟上手
第 0 步 · 准备:DSH(支持 workspace bundle 的版本)、Python 3.10+。要让插件自动读取电脑微信,还需要 Windows 上的微信 4.x 并已登录。
第 1 步 · 安装插件
在 DSH 的插件页面安装本插件目录(或让 plugin_manager 用 install_bundle 安装)。
⚠️ 首次安装本地插件目录后,请完整退出并重新打开 DSH。仅刷新或禁用/启用不能替代重启 —— 插件代码必须由宿主重新加载,新的工具才会出现。
第 2 步 · 让它读一次微信 安装完成后,在 DSH 里说:
「初始化微信助手」
插件会接入你已登录的电脑微信,做一次完整读取、校验并建立本地索引(首次通常需要几分钟)。若提示缺少采集依赖,运行插件目录里的 安装采集依赖.cmd 后重试。
第 3 步 · 开始提问
「看看今天有哪些需要我回的消息」
之后每天想更新时,说一句「刷新微信记录」即可,不需要重新选择来源。
没有 Windows 微信也没关系:可以导入已有的聊天导出(完整导出目录即可),macOS / Linux 同样支持。
可以这样问它
- 「昨天群聊里关于验收的消息,给我原文和上下文」
- 「总结今天和这位联系人的讨论,每条结论给出消息依据」
- 「整理本周与我有关的待办,明确任务和可能任务分开,不把别人要做的事算到我名下」
- 「只提取今天上午 9 点到 12 点,项目甲群和项目乙群的记录」
- 「总结昨天的消息,排除闲聊群,不读公众号」
- 「以后不关注这个闲聊群 —— 先把匹配到的会话列出来给我确认」
- 「整理今天的待办,忽略免打扰群」
隐私:本地优先,但要看你把模型放在哪
先把话说清楚:**采集、解密、校验、索引、筛选、会话查找全部在你的电脑上完成,微信数据库、解密副本和完整索引不会上传到任何地方。**但插件不是“本地总结器”——分析必须由 DSH 里的模型来做,所以你要知道哪些内容会随模型请求离开本机。
| 留在本机 | 会交给 DSH 里的模型 |
|---|---|
| 微信数据库与其解密副本 | 本次分析被选中的消息正文 |
| 完整聊天历史与全文索引 | 联系人 / 群显示名、时间、证据编号 |
| 账号映射、本地随机密钥 | 你提问里的时间 / 会话 / 类型范围 |
| 长期不关注名单、候选待办草稿 | — |
- 这不是“完全离线总结”。 如果 DSH 用的是云端模型(例如 DeepSeek API),上表右列的内容会随模型请求发送给对应服务商。这不是插件在“上传”,而是“让模型帮你分析”本身的含义。
- 想让内容完全不外发:在 DSH 里改用本地模型,那就真的不出本机。
- 你能控制发多少:范围与条数由你决定——按日期、按会话、按类型筛选,用「忽略免打扰群」跳过高噪声会话,一次只读你真正要用的那几条。图片、语音、视频和文件正文不会被读取,未读取的内容会明确标注。
- 插件自己不碰微信:不向微信写入数据、不注入进程、不保存数据库密钥、不发送消息、不执行任务、不创建提醒。
插件主动发起的联网行为只有一个:运行 安装采集依赖.cmd 时从公开源安装 Python 依赖包(与聊天内容无关)。其余网络流量来自 DSH 与它所选择的模型,遵循 DSH 自身的配置与权限。
完整的数据边界见 PRIVACY.md,安全反馈见 SECURITY.md。
适用环境与边界(如实说明)
| 项目 | 情况 |
|---|---|
| DSH 宿主 | 已在 DSH 0.2.0-rc.2 真实运行时验证插件加载、工具注册、返回格式与审批 |
| 自动读取电脑微信 | 需要 Windows + 微信 4.x + Python 3.10+(64 位) |
| macOS / Linux | 支持导入已有聊天导出;不支持自动读取本机微信 |
| 图片 / 语音 / 视频 / 文件 | 只记录「有一条这样的消息」,不读取正文 |
| 实时性 | 读的是本地快照,不是实时聊天;空结果不等于「没有消息」,需要时先刷新 |
| 待办准确性 | 结论是需要人工核对的草稿;请以原文为准 |
常见问题
会把我的聊天记录上传吗? 分两层看。微信数据库、解密副本、完整索引和历史都只在本机,插件不会上传它们;但被选中用于分析的那段文本会交给 DSH 里的模型——如果那是云端模型,文本就会随模型请求发送给该服务商。想让内容完全不出本机,请把 DSH 换成本地模型。
免打扰状态是怎么判断的? 读的是微信自己的「消息免打扰」设置。状态不明的会话不会被当成「没开免打扰」,也不会被误排除。
升级或改名后我的索引会丢吗?
不会。私有数据目录与插件名字解耦:如果本机已有旧目录里的索引,改名后会继续使用它,不需要重新采集(也可以用环境变量 DSH_WECHAT_STATE_DIR 指定目录)。
为什么重启 DSH 之后工具还是没出现? 说明宿主没有重新加载插件。请在任务结束后正常重启 DSH;仅刷新页面或禁用/启用插件可能清不掉旧模块缓存。
为什么有的时候查不到消息? 常见原因是本地快照还没覆盖到那个时间段。状态信息会告诉你是否需要刷新,以及当前覆盖范围 —— 空结果不等于当天没有消息。
支持多个微信账号吗? 一个私有数据目录绑定一个账号。切换账号请使用另一个数据目录,避免混在一起。
深入一点
- 架构与数据边界:docs/ARCHITECTURE.md
- 安装升级与排障:docs/TROUBLESHOOTING.md
- 发布流程:docs/RELEASING.md
- 隐私说明:PRIVACY.md | 安全反馈:SECURITY.md | 参与贡献:CONTRIBUTING.md | 更新记录:CHANGELOG.md
本项目原创部分采用 MIT,采集器上游改写部分采用 Apache-2.0,见 第三方归属。
附录 · 插件由哪些能力组成(排障与进阶使用)
插件按功能域拆成 5 个可独立启停的组件,每个组件只提供自己那组能力:
| 组件 | 能力 |
|---|---|
core |
配置、本地引擎与审批状态(不直接提供工具) |
stage-one |
读取与刷新本机聊天(wechat_prepare、wechat_refresh) |
read |
状态、检索、上下文、按范围复核、会话查找(wechat_status、wechat_search、wechat_context、wechat_review、wechat_conversations) |
tasks |
候选待办的保存与读取(wechat_save_tasks、wechat_list_tasks) |
preferences |
长期不关注名单的查看与修改(wechat_get_preferences、wechat_set_preferences) |
常用范围参数:start_date / end_date、start_time / end_time、kinds(friend / group / official / private / system)、conversation_ids、exclude_conversation_ids、exclude_muted。
第一步只接受空参数;筛选与忽略全部发生在第二步。
No comments yet. Be the first to write one.