feat(group): 支持群昵称/群名片展示 (#23)

* feat: support group nicknames

* fix(group): keep duplicate nickname senders separate in stats

---------

Co-authored-by: jackwener <jakevingoo@gmail.com>
This commit is contained in:
Haoqing Wang
2026-05-14 14:22:55 +08:00
committed by GitHub
co-authored by jackwener
parent d750ef6e9f
commit 35a8f0e94b
3 changed files with 583 additions and 31 deletions
+13
View File
@@ -11,6 +11,7 @@ description: "wx-cli — 从本地微信数据库查询聊天记录、联系人
- 微信消息历史
- 微信联系人
- 微信群成员
- 微信群昵称 / 群名片
- 微信收藏
- wechat history / messages / contacts
- wx-cli
@@ -137,6 +138,8 @@ wx search "会议" --in "工作群" --since 2026-01-01
`wx unread --filter` 支持 `private` / `group` / `official` / `folded` / `all`,逗号分隔多选。默认 `all`。
群聊消息里的 `last_sender`、`sender` 和 `stats.top_senders` 会优先显示群昵称(群名片)。如果本地数据库没有群昵称,再回退到联系人备注、微信昵称或 username。
### 联系人与群组
```bash
@@ -148,6 +151,16 @@ wx contacts --query "李"
wx members "AI交流群"
```
`wx members --json` 每个成员包含:
- `username`:微信内部 username
- `display`:推荐展示名,优先使用群昵称
- `contact_display`:联系人备注或微信昵称
- `group_nickname`:群昵称;没有记录时为空字符串
- `is_owner`:是否群主
Agent 展示群成员时优先用 `display`。需要区分群昵称和联系人名时,再读取 `group_nickname` 与 `contact_display`。
### 朋友圈(SNS)
三个命令,作用各不同: