ADR-0004: HW-Bot-WB as Primary WorkBuddy ↔ WeCom Interface¶
- Status: accepted
- Date: 2026-09-27
- Deciders: Huashan Wang
Context¶
WorkBuddy needs an outbound channel into WeCom: posting session wrap
synopses, status updates, and notifications into groups such as
"Dept: Software 软件工程". The WeCom AI Bot connector (wecom-cli) drives
a personal 智能机器人 that acts under the authorized user's account.
Key properties learned by live verification (2026-09-27):
- The bot is a separate actor that borrows the account's infrastructure: own name, own permission toggles, own chat visibility. Messages appear under the bot's name, never the user's.
- Two authorization layers exist: (1) user → CLI (QR scan), and (2) bot → per-permission grants (e.g. 消息 messaging permission, errcode 850002 until granted). Both were completed 2026-09-27.
- The bot can only message chats where it has membership and recent traffic; group posting requires a one-time invite (群设置 → 群机器人) per group.
wecom-cliexposes exactly one bot identity (the authorized one); other WeCom-side bots are invisible to it.
The bot was renamed huashan_wang的机器人 → HW-Bot-WB (same bot ID;
authorization and permissions carry over unchanged).
Decision¶
- HW-Bot-WB is the primary WorkBuddy ↔ WeCom interface (user designation, 2026-09-27). It carries no knowledge set; it is driven by WorkBuddy with session context.
- Group posting follows the
post-to-wecom-groupskill workflow: auth pre-checks →sessions list→ group-name match → send, with ID fields never exposed to the user. - A bot roster tracks planned personalities (B1 posting agent live;
B2 Product Expert; B3 Software Dept; B4 Africa Ops; B5 Trading Desk).
Working copy at
~/.workbuddy/wecom-bot-roster.md; mirrored on the WeCom WorkBuddy Interface page. - Quota headroom confirmed: 20 bots per member / 300 per company.
Consequences¶
- Outbound WeCom posts are proven end-to-end (first group post 2026-09-27 16:44): invite → sessions list → name match → markdown send.
- Attribution: group members see posts as from
HW-Bot-WB. Content that must read as personally from Huashan is posted manually. - Open question: multi-bot personality management from WorkBuddy.
Candidate designs: (a) re-authorize
wecom-cliper bot and switch; (b) WorkBuddy as single brain, WeCom bots as thin frontends (API mode, consistent with ADR-0003 stage 3). To be tested when B2/B3 is created. - B5 (trading content) needs a sensitivity decision before creation.