Skip to content

zjp1997720/wechat-radar

Repository files navigation

WeChat Radar

群太多,真正有价值的消息却总是被淹没。 WeChat Radar turns noisy WeChat groups into a local-first intelligence dashboard.

GitHub stars GitHub forks Issues Last commit License: MIT

WeChat Radar product preview

中文 | English


中文

WeChat Radar 是一个本地优先的微信群聊情报看板。它把群消息、话题、链接、@我的消息和高信号人物聚合成一个可按日期查看的工作台。

你得到的不是“聊天记录列表”,而是每天可以直接处理的情报:

  • 今日优先看:消息、文章、工具、异动分区展示
  • 话题雷达:用 Codex CLI 按天聚合跨群话题
  • 链接情报:文章/工具资源去重,生成可读标题
  • 群日报:每天活跃群可生成摘要报告,方便复制给 AI 继续处理
  • 本地存储:聊天数据落到你自己的 SQLite,不上传到第三方服务
  • 明暗主题:默认奶白色浅色主题,也支持深色模式

快速开始

git clone https://github.com/joeseesun/wechat-radar.git
cd wechat-radar
pnpm install
pnpm rebuild better-sqlite3
pnpm dev

打开 http://localhost:3000。首次进入会跳到 /setup,按页面提示填写你的微信名、确认隐私说明,也可以先启用 demo 数据体验。

前置条件

  • macOS,且已登录微信 4.x
  • Node.js 20+:node --version
  • pnpm:corepack enable && pnpm --version
  • wx-cli:wx --version
  • wx daemon 正在运行:wx daemon status
  • 如果要让话题聚合更好,安装并登录 Codex CLI:codex --version

wx-cli 可参考原项目安装与初始化:jackwener/wx-cli

配置

默认数据目录是 ~/.wechat-radar/,不会写进项目目录。

你可以用环境变量覆盖:

cp .env.example .env.local

常用配置:

WECHAT_RADAR_DATA_DIR=~/.wechat-radar
WECHAT_RADAR_MY_NAMES=张三,San Zhang,zhangsan
WECHAT_RADAR_DEMO=0
WECHAT_RADAR_CODEX_MODEL=

也可以直接在 /setup 页面配置。配置会写入 ~/.wechat-radar/config.json

使用方式

  1. 进入首页,选择日期或时间范围。
  2. 点击“重扫”同步当前范围消息。
  3. 点击“全量同步”拉取更长历史。
  4. 打开“话题雷达”查看跨群主题。
  5. 打开“链接情报”查看文章和工具资源。
  6. 在活跃群列表点击“日报”查看单群日报。

你可以这样和 AI 配合:

  • “把今天所有 Codex 相关话题整理成一篇博客大纲。”
  • “复制这个群日报,帮我提炼值得回复的机会。”
  • “把链接情报里的工具做成一张试用优先级表。”

数据与隐私

WeChat Radar 默认只在本机读写数据:

  • ~/.wechat-radar/radar.db:SQLite 主数据库
  • ~/.wechat-radar/config.json:本地配置
  • ~/.wechat-radar/backups/:可选备份

安全设计:

  • wx-cli 调用使用 child_process.execFile 参数数组,不拼 shell
  • SQLite 使用 prepared statements
  • 页面只以 React 文本节点渲染聊天内容
  • 不把微信密钥、会话、数据库、模型缓存提交进仓库

重要提醒:这个项目会读取你本机微信数据。请确认你的使用方式符合微信客户端规则、当地法律、群成员隐私预期和你所在组织的合规要求。不要把包含真实聊天内容的数据库或截图上传到公开仓库。

项目结构

app/                 Next.js App Router 页面与 API
components/          看板、侧边栏、图表、消息渲染组件
lib/                 wx-cli 封装、SQLite、话题/链接聚合逻辑
scripts/             本地维护脚本
docs/assets/         README 图片与公开素材

常见问题

问题 解决方法
wx daemon 未运行 先运行 wx daemon start,再刷新页面。
better-sqlite3 native 模块报错 运行 pnpm rebuild better-sqlite3
首页没有数据 先完成 /setup,确认 wx sessions --json 有输出,然后点击“重扫”。
话题雷达为空 打开对应日期会自动构建;也可以点击“构建话题”。需要本机可运行 codex
不想读取真实微信 /setup 勾选 demo 模式,或设置 WECHAT_RADAR_DEMO=1

致谢


English

WeChat Radar is a local-first intelligence dashboard for WeChat groups. It turns noisy group chats into daily briefings, cross-group topics, link intelligence, mentions, and per-group reports.

Features

  • Daily dashboard for messages, links, tools, anomalies, and people
  • Codex CLI powered topic clustering by date
  • Link intelligence with generated titles and deduplication
  • Per-group daily reports with copy-friendly output
  • Local SQLite storage by default
  • Light and dark themes

Install

git clone https://github.com/joeseesun/wechat-radar.git
cd wechat-radar
pnpm install
pnpm rebuild better-sqlite3
pnpm dev

Open http://localhost:3000. The first run redirects to /setup, where you can configure your WeChat display names and privacy confirmation, or enable demo mode.

Requirements

  • macOS with WeChat 4.x logged in
  • Node.js 20+
  • pnpm
  • wx-cli initialized and running
  • Optional: Codex CLI for better topic/link summaries

Privacy

By default, runtime data is stored locally under ~/.wechat-radar/. The app does not upload your chat database. You are responsible for using it in a way that respects WeChat rules, local laws, group privacy expectations, and organizational compliance.

Troubleshooting

Problem Fix
wx daemon is not running Run wx daemon start.
better-sqlite3 fails to load Run pnpm rebuild better-sqlite3.
No dashboard data Finish /setup, confirm wx sessions --json works, then click rescan.
Topic radar is empty Open the date or click build topics; make sure codex is available.

License

MIT

About

微信聊天情报看板:聚合群聊信号、话题、链接和趋势

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors