Skip to content

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-cli exposes 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

  1. 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.
  2. Group posting follows the post-to-wecom-group skill workflow: auth pre-checks → sessions list → group-name match → send, with ID fields never exposed to the user.
  3. 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.
  4. 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-cli per 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.