Repository navigation
Description
Parent
QQ group chat specification #1149
What to build
Connect one already configured official QQ app through the Provider-owned setup, bind it to one PersonaBot in the existing Bind app experience, mention it in one ordinary QQ group, and receive one text answer from that Bot's own app in that same group. This is the first complete QQ vertical slice, including actual account/transport qualification and usable Client state.
Reuse the completed shared one-step binding, conversation entry and app ownership model. Extend QQ's public checked dsh-im Service contracts as needed; keep SDKs, credentials and lifecycle in the Provider. Provider scaffolding or an enum without the real reply does not complete this ticket.
Acceptance criteria
- The Client offers QQ in the existing app-binding experience, lists only eligible unowned connected apps, identifies official QQ app authorization clearly, and shows saved configuration separately from actual receiver state and qualified group-mention support.
- Provider-owned authorization and credentials remain usable without a BotHarness credential store. If setup needs a missing public contract, contribute it within this behavior rather than introduce a parallel setup screen. Inline creation expansion is not a separate gate when an app is already connected.
- A dedicated real QQ QA group receives a trusted mention of the bound app. Its app-scoped group/sender addresses and native message identity remain attributable; guilds, private messages and text-only guesses of mentions are not accepted as this proof.
- One exclusive account Consumer commits a canonical Source Event, conversation entry and Bot Inbox admission before acceptance acknowledgement. The existing Orchestrator executes the actual model and produces one checked original-group own-app reply with an independently inspected native receipt.
- The first eligible mention works without mandatory saved-target/per-group reception onboarding, following the shared default-traffic and new-conversation policy. Blocked/held conversations and bounded admission follow their actual shared semantics.
- Default collection is mentions-only. No ordinary group-message collection, implicit Human DM placement or Provider standalone Session execution happens alongside it.
- Focused public-contract regressions cover trusted identity and route fences, account ownership, canonical commit and same-account duplicate delivery, admission failure, archived/paused/unbound state and unknown send outcomes. Other qualified providers keep working.
- Receiver disconnect, reconnect, cold start and disposal release the owning resources, prevent two active Consumers and reject stale lease callbacks. Unknown started sends are retained without automatic retry or proactive conversion.
- Native reply deadlines/counts and relevant rate refusals are mapped truthfully. Unavailable official group permissions or actual transport support are visible qualification failures, not a switch to a personal account or a claim that QQ works.
- Use an isolated supported DSH Profile and immutable qualified Provider input/product artifact. Record actual Host, Client, SDK, Provider and DSH revisions plus sanitized lifecycle diagnostics and the runnable real QQ verification path.
- Provide real Client evidence, affected English/Chinese connection guidance, required checks and release-ledger updates for the user-visible change. Reusable Provider changes are submitted to the maintained fork and upstream; upstream merge is not required to qualify the fork.
- Obtain and record Human feedback on this first runnable slice before closing it and expanding sibling QQ slices. This ticket proves mention/text support only; the rest of Spec: QQ group chat through dsh-im with own Bot identities and media understanding #1149 stays unfinished.
Blocked by
None — can start immediately. Reuse completed shared binding/conversation/multiplicity work #1108, #1109 and #1110; neither the open parent #1107 nor optional inline creation #1111 is a blanket blocker for binding a connected app.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
- StatusShow more project fieldsDone
Activity
DoodleBears commentedon Oct 7, 2026
Agent work claim
codex/local/01a117bf-865d-72d1-a9c6-88658c59f844(not a DSH Session)codex/1152-qq-mentioned-textfix(qq): fence actual dispatch and isolate source proof
fix(qq): retain safe account qualification diagnostics
fix(qq): expose bounded native account query failures
fix(qq): accept authenticated robot details without optional flag
4 remaining items
DoodleBears commentedon Oct 7, 2026
Agent-Task:
codex/local/01a117bf-865d-72d1-a9c6-88658c59f844Claim: #1152 (comment)
Status: active — implementation and draft review artifacts published; real first-slice acceptance remains pending.
37e97bde9539e66af850b7329b95f630f107f23d, 404 runtime files, SHA25652e4b96d10a006a8844252ffb2b250e0c200f6c7eb24284774b42e25d0c5b9d6.561f42d0(23 failures/7 passes across three files). The entire failure set is not classified.fix(docs): route QQ guide Markdown twins to the product site
DoodleBears commentedon Oct 7, 2026
QQ slice #1152 CI follow-up — Agent-Task
codex/local/01a117bf-865d-72d1-a9c6-88658c59f844.Initial product Linux CI passed 3,117 tests and failed only the existing product-guide migration regression because the new QQ guide lacked
.mdredirects. Fixed in113c71b6; all 5 routing regressions pass locally. The new two product CI runs are pending.Upstream Linux CI passed 3,977 tests and failed one unchanged Feishu SDK 100ms wait timing assertion (request had not reached its loopback server before timeout). Its entire 3-test file passes independently at original upstream base
0dbc2d46. Windows workspace CI passes. GitHub refused this contributor's rerun request because the repository requires admin rights; a maintainer can rerun the failed job. No unrelated Feishu runtime or test change is included in the QQ PR.Final QA Profile verifies fork
37e97bde, 404 runtime files and the committed SHA256. Host is running on 31852; official authorization and binding are retained. Real QQ input/reply/receipt, Human feedback and final-build recording remain pending. Both PRs stay draft.DoodleBears commentedon Oct 7, 2026
Product PR #1163 at
113c71b6has green main CI and exact package preparation. Linux full regression: 3,118 passed, 9 skipped, 0 failed. QQ guide routing is fixed and the developer Profile independently verifies final fork37e97bde.The existing claim remains active. Both PRs stay draft pending actual QQ group input, model reply, native receipt, independent Human confirmation and final-build screenshots/video. Upstream #324 still has one unchanged Feishu 100ms timing-test failure (3,977 tests pass); this contributor has no upstream admin right to rerun it.
Agent-Task:
codex/local/01a117bf-865d-72d1-a9c6-88658c59f844fix(qq): guide empty conversations through group mentions
DoodleBears commentedon Oct 7, 2026
本任务 claim 继续保持 active;第一片尚未完成真实 QQ 收发验收。
277257a3的全部 CI 已通过:381 个测试文件通过、5 个跳过;3,118 项测试通过、9 项跳过。lint、format、typecheck、构建、文档和包准备检查通过。561f42d0/55b45284完成 Standards 与 Spec 审查,修正后的 QQ 群聊空状态指引也通过两路复审。真实 Client 的前后截图与 15.57 秒逐帧操作录制已加入 PR;GitHub 图片和视频实际加载成功。录制压缩空闲停顿,仅证明应用绑定、群聊指引和 Inbox 入口。@DeepSeekBot QQ QA的测试输入“请计算 17×23,并只回复结果”,再完成原群回复、回执和 Human 反馈。此前不扩展 QQ tracer: manage conversations, Channel sync and truthful reconnect history #1153–QQ tracer: incoming voice playback and understanding with original-group text answers #1159。上游贡献保持 draft:dsh-im #324。其 Linux CI 仅有未修改的 Feishu SDK 100ms 时序测试失败;该基线测试独立运行通过,QQ 覆盖通过。当前账号没有上游重跑权限,已记录供维护者重跑。
Agent-Task:
codex/local/01a117bf-865d-72d1-a9c6-88658c59f844DoodleBears commentedon Oct 8, 2026
Agent work outcome
codex/local/01a117bf-865d-72d1-a9c6-88658c59f844277257a3;Closes #1152is recorded for merge.37e97bdeand upstream #324, ready for review. Upstream has one unchanged Feishu SDK timing-test failure awaiting a maintainer rerun; QQ regressions pass.391; independently inspected Source / Inbox / Outbox records show one trusted mention, handled group-mention admission, one checked own-app send attempt, and a distinct native receipt in the same app-scoped QQ group. Evidence and exact runtime revisions.Merge main into QQ mentioned-text slice
test(qq): retain group-only onboarding guidance
feat(qq): bind official apps for checked group text replies (#1163)
DoodleBears commentedon Oct 9, 2026
Agent work outcome
codex/local/01a117bf-865d-72d1-a9c6-88658c59f844829cc671.