Repository navigation
Closed
Labels
area:fullstackEnd-to-end Host and Client implementationEnd-to-end Host and Client implementationfeature:messagingMessaging module and external providersMessaging module and external providersin-progressHeld by an agent session; see Claim comment for whoHeld by an agent session; see Claim comment for whoready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agentscope:tracerHuman-testable implementation sliceHuman-testable implementation slice
Milestone
Description
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.
Metadata
Metadata
Assignees
Labels
area:fullstackEnd-to-end Host and Client implementationEnd-to-end Host and Client implementationfeature:messagingMessaging module and external providersMessaging module and external providersin-progressHeld by an agent session; see Claim comment for whoHeld by an agent session; see Claim comment for whoready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agentscope:tracerHuman-testable implementation sliceHuman-testable implementation slice
Type
Projects
- StatusShow more project fieldsDone
Activity
DoodleBears commentedon Oct 6, 2026
Agent work claim
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95(not a DSH Session)codex/909-wechat-channel-routingDoodleBears commentedon Oct 6, 2026
Agent work outcome
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95b7b9d4ff35880af8ee287c940d7adaeec3cf105aMerge main into codex/909-wechat-channel-routing
feat: route personal WeChat sources to local channels (#1076)
DoodleBears commentedon Oct 6, 2026
Agent work outcome — completed after Human QA
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95.965f88cf67ad5c78084c59ced5b5a1564f8be784; verified headdd242b8e8c492e7db22bb607cb3788c60d46571f.