Skip to content

WeChat tracer: Channel connector routing and shared-source delivery #909

Closed

Description

@DoodleBears

Parent

#902 — Personal WeChat capability alignment. IM coordination reference: #48.

What to build

Human can connect the authorized WeChat owner-DM source to local DM/Group Channels or directly to a Bot Inbox, retaining one canonical source and existing per-Bot processing policy.

Scope: personal WeChat/iLink, explicitly authorized paired-owner DM. Enterprise WeChat/WeCom is excluded.

Acceptance criteria

  • Manage WeChat as a Channel connector in the existing Profile table/modal, with readable source name, enabled Switch, edit/delete and verified native capabilities. The external source remains a WeChat DM; a local Group placement does not imply native WeChat group support.
  • Route a source to explicitly configured local Channel targets or Inbox-only destinations. One source can reach multiple authorized targets through references to the same canonical Source Event, without copies masquerading as Bot/Human messages.
  • Channel delivery follows existing member Attention/Wake Policy, including bounded harvest or immediate wake. Inbox-only does not create a Human DM mirror or pollute local DM history.
  • Multiple local Bots can read the shared external source. Each outgoing action requires that acting Bot's own valid WeChat identity and external-target Grant; a receiving account is never borrowed by a second Bot.
  • Switch-off, delete, target authorization changes and restart have observable behavior consistent with existing connectors: preserve received history, stop new routing as applicable, and avoid replay duplicates.
  • Real E2E: route one owner-DM test source to a shared Group and Inbox-only target, verify the same Source Event ID and per-Bot wake behavior, then disable/re-enable the connector. Show native WeChat source plus operable Channel/Profile/Inbox evidence.

Blocked by

None — can start immediately. Completed prerequisite: #878 / PR #894.

Delivery and evidence

  • Deliver one production-shaped tracer through the qualified Provider, canonical Messaging authority, applicable PersonaBot/Channel/Inbox behavior, and an operable Client path. Reuse the existing exclusive Consumer; do not create standalone dsh-im Sessions or a parallel message store.
  • Keep the original external author, timestamp, lossless native message ID, Source Event ID, and trusted reply route. Every external send uses the acting Bot's own bound identity and current Grant; platform credentials, context tokens and media keys remain Provider-private.
  • Qualify the changed Provider capability on the maintained fork and pin the verified artifact. Submit reusable Provider changes upstream where appropriate, without making upstream merge a release prerequisite.
  • Complete fresh real WeChat E2E with the Human controlling WeChat. Include observable success and the relevant refusal/recovery behavior, focused regression coverage, and packaged-product verification. A model's claim, HTTP success, or client acknowledgement alone is not delivery/read proof.
  • Preserve real screenshots or recording during acceptance; embed GitHub-renderable evidence in the PR, including before/after and applicable light/dark states for visible UI changes. Do not publish credentials or unrelated chat contents.
  • Update the illustrated English and Chinese WeChat connection guide and reusable IM integration guidance with verified behavior and platform limitations; edit canonical source docs, not generated site content.
  • Create one issue-linked PR, then pause for Human QA. Merge and deployment require their own Human authorization. Issue closure requires the accepted behavior, not only documentation or a capability flag.

Activity

  1. added this to the v1.1 milestone on Oct 5, 2026
  2. added
    ready-for-agentFully specified, ready for an AFK agent
    area:fullstackEnd-to-end Host and Client implementation
    feature:messagingMessaging module and external providers
    scope:tracerHuman-testable implementation slice
    on Oct 5, 2026
  3. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim

    • Agent: Codex
    • Task: codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95 (not a DSH Session)
    • Issue scope: WeChat paired-owner DM connector routing to shared local Channels and Inbox-only, current per-Bot policy, toggle/restart recovery, real Human-operated WeChat E2E.
    • Branch: codex/909-wechat-channel-routing
    • Started: 2026-10-06 17:58 UTC
    • State: active
  4. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    in-progressHeld by an agent session; see Claim comment for who
    on Oct 6, 2026
  5. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome

    • Agent: Codex
    • Task: codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95
    • State: paused for Human QA
    • PR: feat: route personal WeChat sources to local channels #1076 — feat: route personal WeChat sources to local channels #1076
    • Exact head: b7b9d4ff35880af8ee287c940d7adaeec3cf105a
    • Delivered: paired-owner personal WeChat sources managed through Channel connector Profile, shared local Channel plus independent Inbox-only placement, canonical Source Event references, independent member wake policy and own-identity reply checks.
    • Fresh Human-operated WeChat E2E: ONE/TWO harvest, OFF Inbox-only, resume/same-Profile restart without backfill/duplicates, fresh ON shared intake and all four delivered private replies. Original native screenshot, matched light/dark before/after captures, actual sampled Switch video and two flow diagrams are in the PR; illustrated EN/ZH guides are updated.
    • Verification: 355 test files passed / 5 skipped; 2,967 tests passed / 9 skipped. Lint, format, typecheck, build, release ledger and docs build passed. Historical high-load timeout runs were retained; final full rerun passed without weakening tests. CI is pending.
    • Remaining: Human QA and separate merge/deployment authorization. No next issue started. WeCom/native WeChat groups/threads remain outside this slice.
  6. removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 6, 2026
  7. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome — completed after Human QA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:fullstackEnd-to-end Host and Client implementationfeature:messagingMessaging module and external providersin-progressHeld by an agent session; see Claim comment for whoready-for-agentFully specified, ready for an AFK agentscope:tracerHuman-testable implementation slice

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions