Baoyu Wechat Summary
Summarizes WeChat group chat highlights into a structured digest using the local wx-cli binary (https://github.com/jackwener/wx-cli). Generates a normal dige... Skill: Baoyu Wechat Summary Owner: jimliu Summary: Summarizes WeChat group chat highlights into a structured digest using the local wx-cli binary (https://github.com/jackwener/wx-cli). Generates a normal dige... Tags: latest:1.117.4 Version history: v1.117.4 | 2026-06-13T05:01:34.492Z | auto baoyu-wechat-summary 1.117.4 - Added per-group fact memory (memory.md) support for richer fact continuity across runs. - New EX
Rank
62
Safety
84
Downloads
1.4k
Updated
Oct 10, 2026
Version
1.117.4
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.4K downloadsadoption · observed Oct 10, 2026
- Latest release
- 1.117.4release · observed Jun 13, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17dfbhg0khk4fvtnx0stqg0yx83j25z:baoyu-wechat-summary- Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-wechat-summary/snapshot"
Documentation
CLAWHUB
143,120 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: baoyu-wechat-summary
description: Summarizes WeChat group chat highlights into a structured digest using the local wx-cli binary (https://github.com/jackwener/wx-cli). Generates a normal digest by default; a roast (毒舌) version is opt-in. Maintains per-group history (history.json + history-digests.jsonl), per-user profiles, and per-group fact memory (memory.md) across runs, with privacy guardrails baked in. Use when the user asks to "总结群聊", "群聊精华", "群聊摘要", "summarize group chat", "group chat digest", mentions a WeChat group name with a time range, says "帮我看看 XX 群最近聊了什么", "XX 群有什么值得看的", or asks to "回溯画像" / "初始化画像" / "backfill profiles". Adds the roast version when the user says "毒舌版", "roast 版", "再来个毒舌的", or similar.
version: 1.117.4
metadata:
openclaw:
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-wechat-summary
requires:
anyBins:
- wx
---
# WeChat Group Summary
群聊精华提取专家。把零散的微信群聊记录提炼成结构化、可读性强的简报,并维护跨次运行的群聊历史与群友画像。底层依赖外部 [wx-cli](https://github.com/jackwener/wx-cli) 二进制(`wx` 命令),不打包脚本。
> **⚠️ Sandbox restriction**
>
> wx-cli reads from `~/.wx-cli/` (config, cache, daemon socket) and from WeChat's data directory (`~/Library/Containers/com.tencent.xinWeChat/` on macOS). Both paths are outside Claude Code's default sandbox. Every `wx` command in this skill needs to run with `dangerouslyDisableSandbox: true` from the start — don't waste a sandbox attempt first. The user can use `/sandbox` to view/edit restrictions.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
## Prerequisites
Before invoking the workflow, verify the environment. Run these checks in order; stop at the first failure and surface the exact next command the user needs.
1. **wx-cli installed** — run `wx --version`. If missing, tell the user to install it themselves (`npm install -g @jackwener/wx-cli` or use one of the alternatives at https://github.com/jackwener/wx-cli). **Do NOT auto-install** — this repo forbids piped/silent installs.
2. **`~/.wx-cli` directory owned by the current user** — `sudo wx init` historically chowned this directory to root, which breaks every subsequent non-sudo `wx` call. Check:
```bash
ls -la ~/.wx-cli/ 2>/dev/null | head -5
```
If the directory exists but the owner is `root` (or anything other than `$(whoami)`), tell the user to repair_meta.json
{
"ownerId": "kn7csrrndw79hpke5d0gsnx93d82k67r",
"slug": "baoyu-wechat-summary",
"version": "1.117.4",
"publishedAt": 1781326894492
}references/output-formats.md
# Output formats — normal & roast digest
This reference defines the two digest variants the skill produces: the **normal** version (default, sober summary) and the **roast** version (毒舌,sarcastic critique, opt-in). Load this file during Step 4 (skeleton) and keep it open through Step 6 (audit).
Both versions share the same overall layout and writing rules; the differences are tone, the leaderboard annotations, the portraits, and the footer. Write the normal version first when both are requested — it's the anchor for incremental mode and the source of truth for the profile updates.
---
## 1. Normal version
### 1.1 Five-part structure
```
[Title line]
[📊 Stats block + Top 10 leaderboard]
[Opening summary — 1-2 paragraphs of prose]
[群友画像 — one entry per active user (3+ msgs)]
[Categorized body — 3-6 self-named sections per day]
[Optional pain-point section]
[Optional @bot Q&A section]
[Fixed footer]
```
### 1.2 Title line
- Single line, no markdown heading.
- Form: `{群名} 群聊精华 · {日期或日期区间}`
- Date single day: `2026-03-12`. Date range: `2026-03-12 ~ 2026-03-15`.
Example:
```
相亲相爱一家人 群聊精华 · 2026-03-12
```
### 1.3 Statistics block
- Starts with `📊 消息统计: 共 N 条消息`.
- Followed by a leaderboard, top 10 senders by message count, one per line.
- Form per line: `{排名}. {昵称}: {消息数} 条`
- Counting rules:
- Include images, emojis, links, voice transcripts — anything that occupies a chat row is one message.
- Exclude system messages and revoked messages (`[系统]`, `revokemsg`).
- For the `self_wxid` user, substitute `self_display` from EXTEND.md before counting/displaying.
- Resolve ambiguous nicknames (per SKILL.md Step 3.6) before tallying so the same person isn't double-counted.
Example:
```
📊 消息统计: 共 387 条消息
1. 蛙总: 92 条
2. 老王: 58 条
3. 阿喵: 41 条
...
```
### 1.4 Opening summary
- 1-2 paragraphs, plain prose, no headings, no bullets.
- Hook the reader: lead with the most distinctive thread of the day (a heated debate, a surprising announcement, a market move someone reacted to).
- Reference 2-4 of the day's category titles in the prose so the reader knows what's coming.
- Mention 1-2 specific people only if their contribution is central; otherwise stay topic-focused.
- No timestamps, no message counts (those live in the stats block).
### 1.5 群友画像 section
- Heading line: `群友画像`
- One entry per user with 3+ messages this batch.
- Order: by message count, descending.
- Entry header: `{昵称}({角色标签})` — the role tag is your one-line read on this person *today*. Examples: `做空美股的乐子人`, `深夜技术指导`, `论坛级吐槽担当`.
- Body: 2-5 bullets with `•` prefix. Each bullet states one observation. Quote evidence inline where natural.
- Continuity: if you loaded a prior profile in Step 3.7, carry forward the established tags/observations that still apply, and call out *change* explicitly (`今天罕见地没提空头`, `从昨天的乐观转向今天的焦虑`).
- Don't invent backstory — only what's in the messages or the prior profile.
Example:
```
群友画像
蛙总(做空美股的乐子人)
• 全天反复提"做空 SPY",被群友提醒已连续三周看错方向
• 难得正面回应技术问题references/profiles.md
# Profiles — user portrait files
This reference defines the per-user profile system. Profiles let the digest carry forward observations across many days so the 群友画像 section in each new digest can show continuity (`蛙总今天罕见地没提空头`) instead of starting from scratch.
Two parallel profile directories live alongside each group's digests:
- `profiles/` — observations sourced from the **normal** version of the digest.
- `profiles-roast/` — observations sourced from the **roast** version.
They are kept strictly separate. The normal-version generation reads only `profiles/`; the roast-version generation reads only `profiles-roast/`. This prevents roast snark from contaminating the sober summary and vice versa.
Load this file during Step 3.7 (load profiles for active users), Step 8.5 (update profiles after digest is written), and Step 9 (backfill).
---
## 1. File format
### 1.1 Path & naming
- Normal: `wechat/{group_id}-{group_name}/profiles/{wxid}-{nickname}.md`
- Roast: `wechat/{group_id}-{group_name}/profiles-roast/{wxid}-{nickname}.md`
The **stable** identifier is the `wxid` prefix. The `-{nickname}` suffix is for human browsability — if it changes, rename the file.
Filename sanitization: replace `/`, `\`, `:`, `*`, `?`, `"`, `<`, `>`, `|`, NUL, and control characters with `_`. Trim trailing dots and whitespace. Cap total filename length at 200 chars (rare nicknames can be very long).
### 1.2 Frontmatter
YAML frontmatter at the top of every profile file:
```yaml
---
name: "<current display name>"
wxid: "<wxid>"
group_nicknames: ["<历史群昵称 1>", "<历史群昵称 2>"]
aliases: ["<群友给的称呼 1>", "<群友给的称呼 2>"]
tags: ["<标签 1>", "<标签 2>"]
first_seen: "YYYY-MM-DD"
last_seen: "YYYY-MM-DD"
total_messages: N
digest_appearances: N
avg_messages_per_digest: N.N
---
```
Field rules:
- `name`: the most recent display name from `from_nickname` (or `self_display` for the owning user).
- `wxid`: stable; never changes once written.
- `group_nicknames`: append-only history of the user's own prior display names in the group. Push the prior `name` here when `name` changes. Dedupe, preserve chronological order (oldest → newest). Do not include the current `name`.
- `aliases`: nicknames **other members** call this user (e.g., `蛙总`, `老王`, `X 哥`). Dedupe-append when observed in this batch. Do not include the current `name`, and do not duplicate `group_nicknames` entries — those record the user's own past handles, not how the group addresses them.
- `tags`: free-form labels for the user, **independent** of the body's 角色标签 / 人设标签 section. Use for cross-cutting attributes that don't fit the role/personality framing (region, profession, community, recurring long-form interests, etc.). Agent may append or refine when observing stable patterns. No hard cap.
- `first_seen` / `last_seen`: dates of first/most-recent digest appearance, YYYY-MM-DD.
- `total_messages`: cumulative count across all digests this profile has been updated from.
- `digest_appearances`: how many digest files this uskill-card.md
## Description: Summarizes WeChat group chat history into structured normal or opt-in roast digests using the local wx-cli binary, while maintaining per-group history, user profiles, and fact memory across runs. This skill is ready for commercial/non-commercial use. ## Publisher: [jimliu](https://clawhub.ai/user/jimliu) ### License/Terms of Use: MIT-0 ## Use Case: External users and developers use this skill to turn WeChat group conversations into readable digests, optionally including a sharper roast version, while preserving continuity through history, profiles, and group memory. ### Deployment Geography for Use: Global ## Known Risks and Mitigations: Risk: The skill requires broad local access to wx-cli data and WeChat data paths. Mitigation: Install only when comfortable granting local WeChat data access, prefer path-scoped sandbox permissions where available, and verify and pin the wx-cli package before use. Risk: The skill keeps long-lived named summaries, user profiles, and group memory on disk. Mitigation: Store the configured data root in a private non-synced location and periodically delete old history, profile, and memory files. Risk: The optional roast mode can produce sharper personal commentary about group participants. Mitigation: Use roast mode only when participants expect that style, and review outputs for inappropriate personal or sensitive inferences before sharing. ## Reference(s): - [Baoyu WeChat Summary homepage](https://github.com/JimLiu/baoyu-skills#baoyu-wechat-summary) - [wx-cli dependency](https://github.com/jackwener/wx-cli) - [Output formats](artifact/references/output-formats.md) - [Profiles reference](artifact/references/profiles.md) ## Skill Output: **Output Type(s):** [text, markdown, shell commands, configuration, guidance] **Output Format:** [Plain text or Markdown guidance with inline shell commands; generated digests are plain text.] **Output Parameters:** [1D] **Other Properties Related to Output:** [Can write local digest history, profile files, profile-roast files, and group memory under the configured data root.] ## Skill Version(s): 1.117.4 (source: frontmatter and server release evidence) ## Ethical Considerations: Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/jimliu/skills/baoyu-wechat-summary",
"sourceUrl": "https://clawhub.ai/jimliu/skills/baoyu-wechat-summary",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T13:58:14.623Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-wechat-summary/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-wechat-summary/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T13:58:14.623Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.4K downloads",
"href": "https://clawhub.ai/jimliu/baoyu-wechat-summary",
"sourceUrl": "https://clawhub.ai/jimliu/baoyu-wechat-summary",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T13:58:14.623Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.117.4",
"href": "https://clawhub.ai/jimliu/baoyu-wechat-summary",
"sourceUrl": "https://clawhub.ai/jimliu/baoyu-wechat-summary",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-13T05:01:34.492Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-wechat-summary/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-wechat-summary/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.117.4",
"description": "baoyu-wechat-summary 1.117.4 - Added per-group fact memory (memory.md) support for richer fact continuity across runs. - New EXTEND.md preference key: `bot_aliases` to configure names for triggering the 「@bot 答疑」 Q&A section, with customizable comma-separated values. - Updated documentation to reflect the above enhancements. - Removed deprecated file: skill-card.md. - No breaking changes to workflow or major interfaces.",
"href": "https://clawhub.ai/jimliu/baoyu-wechat-summary",
"sourceUrl": "https://clawhub.ai/jimliu/baoyu-wechat-summary",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-13T05:01:34.492Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
