Repository navigation
Description
Goal
Align personal WeChat/iLink with BotHarness's verified Lark/Slack product behavior wherever the native transport supports it. Human approved this ten-slice breakdown and Project 10 / v1.1 on 2026-10-06. This is a coordination hub, not an implementation slice.
Context and authority
- IM coordination reference: IM identities and messaging: provider coordination #48. Existing specifications: Spec: Channel- and Inbox-targeted external Bridges #629 (Channel/Inbox Bridges), Spec: external identities and Channel connectors — current ownership and closeout #693 (external identity and connector management).
- Completed prerequisite: WeChat tracer: paired-owner text → Bot Inbox → own-identity reply #878, delivered and merged by PR WeChat: receive paired-owner text into Bot Inbox and reply in the original DM #894. It proves paired-owner plain-text DM intake, canonical Bot Inbox admission and own-identity original-DM reply. It does not prove media, native groups, remote history, proactive posting or native read receipts.
- Enterprise WeChat/WeCom is explicitly out of scope. Existing paired-owner/account authorization boundaries remain in force; no automatic expansion to other contacts or groups.
- Tencent's official client/protocol provides evidence for image/file/video media, voice reception/transcript fields, references and typing. A type field alone is not a server guarantee. Qualify each changed contract against fresh native E2E before advertising it.
- Preserve one canonical Source Event authority, existing Channel placements/Inbox admissions and Wake/Orchestrator boundaries. Each Bot sends with its own identity and current Grant. Do not introduce a shared-Inbox store or standalone Provider Sessions.
- Reusable dsh-im changes should be offered upstream; implementation can proceed on the verified fork without waiting for upstream merge.
Approved slices and genuine blockers
- Checked file intake/processing and original-DM file reply — no unfinished blocker.
- Checked image intake and native image reply — blocked by slice 1's checked media path.
- Native voice transcript intake and text reply — no unfinished blocker.
- Raw voice access and supported audio processing — blocked by slice 1.
- Checked video intake and native video reply — blocked by slice 1.
- Quoted-message resolution and bounded retained-source context — no unfinished blocker.
- Channel connector routing and shared-source delivery — no unfinished blocker.
- Authorized external-only proactive text delivery — no unfinished blocker.
- Real typing indication and lifecycle cleanup — no unfinished blocker.
- Global behavior defaults and Profile inheritance — no unfinished blocker.
Native sub-issues provide the ticket index. Only slices 2, 4 and 5 depend on slice 1. Other independent slices are not artificially serialized by dependency edges; execution still respects one accepted tracer at a time and Human QA.
Acceptance and delivery cadence
Every child must deliver a production-shaped, Human-operable path with fresh WeChat E2E, focused automated regressions, packaged-product verification, GitHub-renderable screenshots/recording and illustrated English/Chinese guide updates. Human controls WeChat; do not automate its UI without renewed authorization. Each issue PR pauses for Human QA. Merge and deployment have separate authorization boundaries.
Capability fog — validate before adding implementation promises
- Native outgoing voice: type/upload enums exist but the documented client file sender selects image/video/file. Verify actual accepted codecs and voice-bubble behavior before adding a dedicated ticket; an audio file is not a native voice reply.
- Native WeChat groups/Threads, other-contact access, remote history/search/contact-directory APIs and read receipts are not established by the completed integration or the inspected endpoint list. Do not declare them impossible, and do not synthesize support based on fields such as group_id.
- Quote resolution uses existing canonical retained sources and real native IDs when available, not an invented remote-history API or a second transcript authority.
- Proactive sending depends on native session-context acceptance; an optional client field does not establish that sending without it works.
- Model understanding of images/audio/video is separately capability-bound; fetching bytes alone is not understanding.
Primary evidence
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
Activity
DoodleBears commentedon Oct 6, 2026
Cross-computer continuation checkpoint — 2026-10-07 (Asia/Tokyo)
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95.965f88cf67ad5c78084c59ced5b5a1564f8be784. Verified branch head:dd242b8e8c492e7db22bb607cb3788c60d46571f; current main integration base:1ff0291a. Human authorized the merge and requested GitHub synchronization for another computer.origin/main, which contains the completed work, rather than rebuilding an old test branch. feat: route personal WeChat sources to local channels #1076 retains all public evidence and the accurate old/new runtime version distinction.0.0.0-test.909.2and qualified Provider4.32.0-botharness.10at forke330c9ea0996935fd1266b8db358579e81de4d61. Main subsequently integrated Lark Channel images with a combined Provider; the current pins are Provider4.32.0-botharness.11, fork4fddcf7223e22a406989236f1e03a4af752b83f6; verify these against currentscripts/product-artifacts.mjs/scripts/dev-im-provider.mjs, rather than using the older QA artifact. Do not downgrade main's qualified media work.packages/core/src/messaging/{provider,dsh-im,outbound}.tsand the maintained dsh-im WeChat adapter. Qualify valid private context, missing/expired context, current own identity/grant and uncertain send outcomes. Real test: fresh unique unsolicited report without a new native trigger, actual owner receipt, no local DM mirror, follow-up canonical Inbox, revoked/invalid-context refusal. This issue adds send capability, not a new scheduling system.docs/wechat-connection.md,docs/wechat-connection.zh.md,docs/dev/guides/im-provider-integration.mdand its Chinese counterpart. Generated site content is not hand-edited. Honor repoAGENTS.md, claim/worktree trace, release ledger and current DSH Context/Decision Tree.DoodleBears commentedon Oct 7, 2026
Personal WeChat handoff — #910 merged and main CI green
codex/local/01a112f7-9794-7692-9b17-b71aa980b313(not a DSH Session).4ae1335302cbe4612d109d7cc626a68784ff16a5. Issue outcome.f2f95d62: verify and prerelease preparation success. Merged main verify success. Standards / Spec reviews found 0 / 0 actionable findings. Concurrent main ADR numbering was resolved as ADR-0139, with no runtime change.BH910-PROACTIVE-OWNER-0632andBH910-MODEL-POST-0640; the follow-up910 FOLLOWUP 蓝色灯塔63entered and was handled in the same Bot's canonical Inbox. No fresh incoming trigger was needed for the reports; no automatic local DM report mirror appeared. Provider acceptance is still distinct from real delivery/read proof.DoodleBears/dsh-imcommit4f4f0a6282580bb59968eb90571778eb7e37ee73, managed artifact4.32.0-botharness.12(397 files, SHA-2568c8d34fb8e85cb9845ca05d0cbc691d9a3373f051efa2da9e614315791975f98). It builds on the previous main-qualified4fddcf7and retains Lark image support plus personal WeChat media. The explicitly authorized maintained-fork branch is pushed; pairing, credentials and private QA data remain machine-local.ready-for-agent; no corresponding open PR was found. Recheck claims/dependencies/main before implementation. ADR-0139 is now occupied by this merged ticket.DoodleBears commentedon Oct 7, 2026
个人微信 Goal 交接:转到 Windows 继续 #911
任务
codex/local/01a112f7-9794-7692-9b17-b71aa980b313,状态 handed-off;Human 要求将当前代码/证据/未完成项同步到 GitHub,在 Windows 本地会话继续。完整接手入口:本次 #911 交接评论,含所有当前验证结果、固定 Provider、CI 链接与剩余验收。另有已提交的 Windows 操作记录。
4ae1335302cbe4612d109d7cc626a68784ff16a5。Human 已确认真实主动文字收到及 FOLLOWUP 回流;该票不再重做,也不把其图/录像作为 WeChat tracer: real typing indication with bounded lifecycle #911 的输入状态证明。435f694f82962cacd104d706673e2615457e920d,已整合 main009e020becc360763a8506fa1d95024b847e9c72,保留新 Lark 审批与原有 Provider/Lark 图片能力。83 项相关回归和类型/格式/lint/build 已通过;最终候选压缩包.911.3的未配对启动已验证。Native Human QA、真实截图/视频、最终配图指南、PR Lens 和二轴审查未完成,CI 仍需核对最终结果。d93f6236e4800dce06fc96506fc0e6a5b760476b,候选 managed Provider.13;不是 npm 发布。微信 typing 迁移改为 generation 61 / ADR-0142,避免覆盖 main 的 Lark generation 60 / ADR-0141。WSL 端口/API 探测正常但 Codex/Human 浏览器打开失败,原因未定位。交接前已准确停止本任务 WSL QA Hosts,保留本机私有文件;旧 31910 登录链接失效。配对、凭据和 QA 数据均未上传。Windows 需要独立 Profile、本机模型凭据、真实 DM 模型证明和 Human 重新扫码。
接手任务先读 #911 交接、认领和现有 Draft,追加自己的 Agent-Task 认领,并继续同一个 PR。继续遵守真实 E2E、截图/动态视频、visual-pr/show-me/PR Lens、中英 canonical 配图指南;不接 WeCom,不把 Provider accepted 当真实显示/送达。验收后等待 Human QA,#911 合并及部署均尚未授权。
**CI 补充:**交接 head
435f694f的 Verify 与 打包准备 均已 completed/success。全套 3,061 passed / 9 skipped,类型、格式、lint、构建与测试内真实 docs build 通过;固定 Provider 的远端 checkout、产品包准备、npm dry-run 和上传构件也通过,未发布 npm 或部署。CI synthetic merge tree 已核对与交接 head 完全一致。完整核验细节已追加到 #911 交接评论;真实微信/Windows E2E 及 Draft 剩余验收不变。