Appearance
Backlog / Prioritized TODO
用于持续跟踪 openclaw-channel-dingtalk 的任务优先级、推进顺序和治理项。
P0
1. 消息接收稳定性 / 长时间待机可靠性
相关 Issues:
任务:
- 跟进
#550的 IPv6 路由异常排障方案:维护者倾向先用NODE_OPTIONS=--dns-result-order=ipv4first、resolver/代理等宿主机层处理,暂不在插件层新增OPENCLAW_DINGTALK_FORCE_IPV4API;优先沉淀 troubleshooting 文档,若更多环境反复出现再评估代码兜底- #550 fix(http): allow opt-in IPv4-only HTTP agent for IPv6-broken environments(状态:已关闭未合并(维护者倾向宿主机层处理;CI 通过,Greptile 仅 P2 风格建议))
已完成:
- 复核现有稳定性问题是否仍可复现
- 验证
#313在“冷启动后立即主动发送”场景的稳定性 - 验证
#323/#325后长待机与恢复窗口是否仍出现“间歇性收不到消息”(关联#104新增反馈) - 复核
#336在低流量静默群聊下是否消除“空闲误重连”,并确认不影响真实断链恢复 - 跟进
#390的 callback ack 时序修复方案,补齐no-dedupKey与 in-flight 分支 ACK 行为一致性回归 - 跟进终态 FAILED 后
waitForStop卡死导致无法自动恢复的问题,并确认修复已落地 - 同步
#400已关闭结论(关联#399),后续仅保留旧版本存量告警观察
2. AI Card 发送链路一致性
相关 Issues:
任务:
- 复盘
#363关闭未合并方案与当前主线差异,确认其风险点已被后续修复覆盖 - 跟进
#357升级后“卡片仅处理中”反馈,核对cardRealTimeStream默认值与迁移提示 - 跟进
#358/#541的表格转换后续(是否移除历史convertMarkdownTablesToPlainText路径),补钉钉 markdown 表格分隔行提示与跨端渲染回归 - 跟进
#379的“上游返回 0 字节时钉钉前端无错误反馈”场景,明确插件侧兜底提示与日志建议(/verbose on)边界 - 跟进
#407的“card 模式下无回复 + ackReaction 不显示”现场,区分卡片发送链路异常与 thinking 反馈配置问题 - 跟进
#538的 thinking-only assistant message 静默丢弃:先用 v3.6.1 复测;若仍可复现,评估 thinking 降级为 text 或显式“模型输出格式异常”提示,避免用户无感知 - 跟进
#551的 AI Card 二次流式/合并回归:复核长输出与 Markdown 图片file://场景下是否重复追加内容和重复发送图片,重点验证用户 2026-05-06 反馈的“删除图片引用容器组件 + 删除/替换下方 AI 流式富文本块”模板调整是否能同时保留图片发送与上方流式输出,并确认自定义卡片模板变量说明是否足够支撑用户侧实验 - 复核
#419关闭结论:确认“会话锁外提前建卡/空 Done 卡片”修复是否已入main;若未落地,按最小补丁重提
已完成:
- 跟进
#457对/reasoning on与/reasoning stream的统一交付方案,确认多轮 assistant turn 与 finalize 边界在 card 模式稳定 - 回归媒体消息
仅媒体/仅文本/媒体+文本的 deliver 组合行为(#321/#311) - 评估并实现
card.stream节流/合并策略,降低限流风险(#318)- #179 hardening send path(状态:要求修改,已关闭未合并)
- #191 serialize send pipeline with session-scoped dispatch lock(状态:合并)
- 复核 reasoning 重复堆叠修复是否稳定(#290/#291)
- 回归“多个 final chunk + 工具报错”场景,确认最终输出不会被吞(#326)
- 复核
#327恢复后的 reply-stream 契约是否完整(cardUpdateMode=replace、payload.text路径) - 复核
#231合并后的真实净变更与#208关闭结论是否一致,避免“状态已关闭但用户侧仍无错误提示” - 跟进
#311的 review blocking 项,基于已 rebase 分支复核 deliver MEDIA 边界(入站回包/主动回复/卡片并行) - 复盘
#334对#295的回滚影响,明确 async ack 是否保留为后续可选能力 - 校验
#300/#335的 markdown 表格兼容策略与默认值,避免不同钉钉客户端表现分叉 - 跟进
#396内置卡片模板与停止按钮方案,复核其与message-context-store主路径的一致性后再决定合入 - 跟进
#444重提的内置卡片模板 + 停止按钮方案,当前已合并入main,后续重点转向与 v2 草稿方案的重叠收敛 - 跟进
#448/#480的 AI Card v2 结构化CardBlock[]草稿方案,评估其与#444的重叠/替代关系后再决定推进路径 - 跟进
#427文本停止指令 pre-lock bypass 方案,补“空确认文本兜底 + 多次 deliver 文本选取”回归后再评估合入 - 跟进 AI Card finalize 收尾修复并回归“多轮 tool + final chunk + 首行重复”组合场景(#348/#350/#352)
- 回归 Markdown 模式分块回复被拆分问题,确认非卡片模式走单次投递(#360)
- 复核
#368reply strategy 重构后 card/markdown 投递行为与动态 reaction 装饰器兼容性 - (拟完成,请评估)跟进
#513的 session-recovery 卡片冻结问题:当前已补 markdown fallback 兜底,仍需在 Anthropic thinking recovery 实机路径确认第二轮恢复后的最终用户观感 - 跟进
#543的同会话并发建卡 guard:#543已合并并补同步 in-flight guard、markdown 降级与并发回归,待一次真机快速连发验证 - 跟进
#544的主动推送 card final 空白问题:#546/#548已修复 proactive block finalize 与 opened streaming lifecycle,待一次主动推送 + 打开态流式卡片真机回归 - 同步
#531stop 按钮未中止 underlying embedded run 的关闭结论:当前由#495回滚 AI Card v2 hybrid streaming 关闭,后续若重启 v2 卡片方案需重新验证 stop button 与/stop中止语义一致性 - 同步
#534finalize 延迟反馈关闭结论:#548已修复 opened streaming lifecycle finalization,仍将“慢 streaming PUT warn/timeout 可观测性”保留为后续卡片链路排障关注点
3. 文件上传 / 文件读取 / 文件预览 / 大文件链路
相关 Issues:
任务:
- 核对基础文件发送能力的当前边界
- 拆分文件上传、读取、预览、扩展名处理、大文件、钉盘访问子任务
- 为每个子任务补最小复现和验收标准
- 明确哪些属于补尾,哪些需要新增开发
- 复核
#315场景在当前版本中的行为与诊断提示是否一致 - 评估
#298的附件正文抽取边界(类型/长度/失败回退)与现有文件链路兼容性 - 跟进
#207新增进展:robotCode已配置仍失败,补充“企业认证/权限付费门槛”前置条件说明 - 将
#366的“文本正常但文件发送失败”场景补充到文件链路最小复现矩阵,并对齐与#207/#315的同源性判断 - 合并
#270的“仅文件占位符”现场日志,补齐“下载成功但提取失败”与“未落盘”两类分流排障步骤 - 跟进
#391的钉盘自然语言检索诉求,明确“仅引用直发/文件名模糊搜索/全量语义搜索”分级能力与前置权限 - 跟进
#505/#482的“原始文件名透传 / 文件名显示异常”回归,确认原始文件名已透传到saveMediaBuffer与消息上下文链路,并区分插件侧透传与钉钉落地文件重命名 - 跟进
#397的 sandbox 路径兼容缺口,sendMedia -> uploadMedia已补齐loadWebMedia桥接能力 - 跟进
#411恢复“附件抽取文本注入 inbound body”修复并确认 quotedRef 链路已补齐(file/audio/video + Step 0 下载) - 补充
#415单聊收文件失败最小复现:区分“单聊附件入站限制”与“提取/落盘链路异常” - 跟进
#422的“模型不会触发文件发送动作”反馈,补充提示词/动作能力边界说明与可复现样例 - 跟进
#430群聊文件读取反馈:确认#411发布版本已覆盖“引用文件 + @Bot”路径,并补权限/时效性说明与版本提示 - 跟进
#442入站附件下载超时阻塞问题,补“第二跳下载 timeout + host 日志”回归 - (拟完成,请评估)跟进
#452/#454的 messaging 分域迁移 PR,确认quoted-file-service与attachment-text-extractor搬迁后文件链路回归覆盖完整
4. 图片 / 语音 / 媒体链路补强
相关 Issues:
任务:
- 回归本地图片发送
- (拟完成,请评估)跟进
#542的富文本多图片入站链路:#545已补inbound-handler.ts多媒体下载、上下文注入、sub-agent/quote 恢复与回归用例,待一次实机多图确认 - 回归语音消息发送
- (拟完成,请评估)跟进
#516的媒体类型判定回归:.mp3默认按附件发送的修复已合入,仍需补一次 v3.5.3 升级后的文件/语音分流实机回归 - 回归入站媒体大小限制覆盖配置
- (拟完成,请评估)评估 AI Card 内媒体一体化展示是否值得推进
- 明确哪些项已完成、哪些项仍待开发
- 回归 Windows 绝对路径/相对路径下图片与文件发送(#316, #241)
- 跟进
#248的mediaUrl路径归一化修复,并在 rebase 到最新main后回归远端 URL/本地路径分流 - 针对
#333增补robotCode缺失/错误时的启动校验与日志提示,避免仅出现<media:image>占位文本 - 明确
#351的能力边界说明(客户端压缩 / API 不支持原图参数),在文档中补“可控项与不可控项”说明 - 跟进
#365的图片占位符问题,修复sampleImageMsg参数与上传mediaId语义不匹配 - 将
#394纳入图片入站回归矩阵,补充“仅识别为 [图片] 占位符”场景的格式/大小/日志采样 - 合并
#394最新评论,补充“模型是否支持多模态”的前置检查与提示路径 - 跟进
#408的 DM TTS 附件链路:区分deliverMediaAttachments与sendMedia路径,补“回复型语音附件”回归与降级提示 - 同步
#429关闭结论:移除[media_path:]注入后,sandbox 模式媒体读取回归
P1
5. 引用消息 / chatRecord / 转发记录解析收口
相关 Issues:
任务:
- 梳理各 PR 的前后替代关系
- #128 feat(dingtalk): support quoted messages(状态:合并)
- #202 fix(dingtalk): improve quote and forward handling(状态:要求修改,已关闭未合并)
- #209 fix(dingtalk): handle empty forward payload(状态:要求修改,已关闭未合并)
- #210 fix(dingtalk): improve quote journal compatibility(状态:要求修改,已关闭未合并)
- #233 quote/chatRecord/stream-card hardening(状态:要求修改,已关闭未合并)
- #257 clarify empty chatRecord payload behavior(状态:合并)
- 明确引用消息解析的最终行为
- 明确 chatRecord 空内容提示策略
- 明确转发记录展示策略
- 做一次集中回归并沉淀结论
- 补充富文本 markdown/代码块引用场景回归,确认引用内容传递边界(#286)
- 跟进
#507的 chatRecord 引用摘要修复,确认repliedMsg.content.summary/title会进入 quoted preview - 跟进
#503的 quote visibility follow-up,确认群聊 quoted sender allowlist 不再串用 DMallowFrom,并统一布尔解析 helper - 评估
#364/#371的消息上下文持久化统一方案对 quote/chatRecord 的迁移兼容与回归面 - 落地
quotedRef引用链并对齐 runtime reply context(#375/#377/#378) - 跟进
#389对#377的后续补丁(preview fallback/attachment excerpt/TTL),确认与现有message-context-store语义一致并已合入 - (拟完成,请评估)跟进
#401quoted-only 回归修复的后续项:补 handler 层回归测试,并评估 QuotedRef-first 输入策略 - (拟完成,请评估)跟进
#525的 chatRecord 明细解析补强:已合并并覆盖chatRecord/records/messages三种别名、summary-only 平台边界与注释说明,待做一次引用消息 / chatRecord / 转发记录集中回归 - 跟进
#515的 quoted chain 可见性收口:确认allowlist/allowlist_quote只保留连续可见 hop,避免 deeper blocked chain 继续泄漏到 runtime- #515 fix(inbound): trim blocked quoted chain context(状态:新(草稿,CI 通过))
6. 建立 Issue 提交标准化
任务:
- 新增 Bug report 模板
- 新增 Feature request 模板
- 新增 Regression report 模板
- 新增 Docs / onboarding 模板
- 统一必填字段:版本、部署方式、AI Card、messageType、复现步骤、预期/实际、日志、复现稳定性
- 建立标签标准:stability / streaming / media / files / ai-card / multi-agent / docs
- 在 README 或贡献文档中补提单说明
7. 建立 PR / Issue 自动化流程
相关参考:
任务:
- 新增 PR Template
- 增加 Issue / PR labeler
- 增加 stale 自动提醒
- 增加 needs-info 自动提醒
- 增加
Closes #.../Refs #...校验 - 增加 PR CI gate:type-check / lint / test
- 增加 release note automation
- 规划自动化分阶段落地顺序
P2
8. 多账号 / 多 agent / schema 与路由配置收敛
相关 Issues:
任务:
- 补齐配置示例
- 增加配置校验
- 优化启动时报错
- 补齐文档说明
- 跟进
#514的多账号 schema 报错反馈:issue 已关闭,当前重点转为补accounts.main/default形态、遗留corpId/robotCode字段与缓存命中旧 schema 的迁移说明 - (拟完成,请评估)跟进
#528的clientSecretSecretInput 支持:已合并并补 env/file/exec 文档、占位符校验、配置态与 onboarding 回归,待发布后配置迁移验证 - 吸收
#492的“同一机器人按用户路由到不同 agent”案例:补bindings.peer.id/directstaffId 示例,并明确这属于框架 routing 能力而非插件新增特性 - 跟进
#460的多 agent 指令路由回归:复核#478在当前版本对@agent /new、@agent /stop与/reasoning stream的覆盖范围,并补最小复现与版本结论 - 区分
#530的“用户直接 @agent 路由”与“Agent 间自主通信并回写群聊”两类诉求,明确前者已有能力边界、后者是否需要新的编排/回传方案 - 明确
session-alias与框架 routing bindings 的职责边界(#307) - 评估
@sub-agent能力与现有路由模型整合方案(#317) - 复核 dashboard schema 渲染与 legacy key 归一化行为在 UI/Raw 配置路径的一致性(#304/#324)
- 跟进
#317review blocking 项与“先暂缓”结论,冻结范围在基础路由能力并避免再次回归#327已修复的 inbound 能力 - 排查并修复
#185反馈的多 agent workspace 绑定异常(疑似默认main绑定导致配置失效) - 补充
#185/#267的“多账号配置是否生效”快速诊断步骤,减少重复提问 - 跟进
#354的peer.kind/peer.id绑定案例:新增“staffId 配置正确仍不生效”反馈,补最小复现与peerId/senderStaffId对照日志诊断 - 吸收
#510的配置追问:补充allowFrom/groupAllowFrom/cid/...的最小可用示例,并说明群聊白名单不命中时的排查步骤 - 复核
#356的 schema 导入路径争议,确认buildChannelConfigSchema兼容策略后再决定是否合入 - 评估
#372的 displayName 目标目录学习能力与既有 routing 规则的兼容性(命名冲突、跨群歧义、隐私边界) - 收敛
main会话默认路由 owner 隔离,避免群聊流量意外接管私聊主会话(#382) - 补齐群聊访问控制(allowlist/sender restriction/disabled)并确认 legacy
allowFrom兼容(#385) - 跟进
#380HTTP callback 多实例方案的 review 阻塞项(签名校验、TOPIC_CARD 回调行为、部署文档边界) - (拟完成,请评估)跟进
#383入站命令分发抽离重构,确认 command 域边界与现有 owner/session 命令回归覆盖 - 跟进
#395plugin-sdk API 对齐分支并完成兼容层回归(入口/类型导出/onboarding) - 跟进
#472的 scoped import 对齐收尾,确认command-auth测试 mock 与 peer dependency 约束后再合入 - 跟进
#412的 DM@sub-agent路由方案,重点复核 DM richText/quoted 场景误触发与回归覆盖 - 跟进
#453targeting 分域迁移,确认 group member store 搬迁后路由与缓存语义保持不变 - 跟进
#420私聊会话疑似误路由反馈:补senderStaffId/senderOriginalId冲突诊断日志与复现用例
9. 支持群聊 @人 / @all
相关 Issues:
任务:
- (拟完成,请评估)明确 @单人 需求范围
- 明确 @多人 需求范围
- 明确 @all 需求范围
- 设计失败降级与兼容行为
- 整理
#288/#305重复诉求,收敛为#67验收标准 - 同步
#486的平台侧结论:明确“仅 @所有人”不会触发机器人回调,并补“同时 @机器人 / 改走 webhook”两条替代路径 - 跟进
#305新增用户追问,补充当前版本可行配置与仍未覆盖场景的状态说明 - 跟进
#353最新追问(是否排期),补当前“仅 @sender 能力”与“@指定成员待规划”状态说明 - 跟进
#417的“触发全员工作通知”风险,补充@all防护说明与默认关闭/显式开启策略 - 合并
#522的 AI Card 群聊可追溯诉求:明确应走atUsers、引用原消息,还是与#480的卡片引用回复方案组合交付 - 明确 card 模式下
@sender通知能力边界,避免与“@指定成员”诉求混淆(#369)
10. 支持对话打断 / 取消任务
相关 Issues:
任务:
- 明确用户主动取消的交互形式
- 明确长任务中断机制
- 明确中断后状态回收方式
- 明确 UI / 提示语反馈
- 明确 ACP 最小可用范围(
/acp spawn)及status/steer/cancel分阶段目标(#310) - (拟完成,请评估)跟进
#508的/btw旁路问答方案,确认“绕过 session lock + 强制 markdown + 不新建卡片”在实机卡片/群聊场景稳定 - 跟进
#489的原生审批卡片方案,确认 approval callback / 文本命令回退 / origin surface 投递边界后再决定是否推进 - 评估
#427的“停止指令绕过 session 锁”方案与现有卡片停止流程整合边界(避免空卡片 finalize) - 同步
#531AI Card stop button 中止语义反馈:issue 已随#495回滚 v2 hybrid streaming 关闭,后续若恢复卡片按钮驱动中止能力,需验证底层 embedded run abort 与卡片 finalize 状态一致
11. AI Card usage footer / thinking 展示行为可配置
相关 Issues:
任务:
- 明确 thinking 展示可配置项
- 明确 tool use 展示可配置项
- 明确 usage footer 展示策略
- 补齐默认值与文档说明
- (拟完成,请评估)评估卡片模板多参数/多按钮交互支持方案(#312)
- 明确
/reasoning stream在钉钉通道的提示与降级策略(#320) - 回归 reasoning 结束态在钉钉卡片上的收敛行为(#282)
- 回归
/verbose on下 tool result 流式展示在卡片模式的可见性(#322) - 修复升级后未配置
ackReaction时“无反馈”回归(#359) - 复核
#332“思考中表情”在钉钉 UI 延迟显示场景下的撤回收敛行为与 API 调用成本 - 跟进
#344的 review blocking 项(冲突、默认值语义、media deliver 覆盖回归、超时设置),确认ackReaction对齐策略后再评估可合并性 - 评估
#314的“工具执行实时进度提示”与现有 thinking/usage 提示的职责边界及节流策略 - 复盘
#314合并后的会话隔离/kaomoji 兼容/状态机测试覆盖结论,沉淀回归清单 - 复盘
#367关闭未合并方案与当前主线差异(模板变量契约、callback 入口边界、synthetic message 生命周期) - (拟完成,请评估)跟进
#383入站命令分发重构的阻塞项(CI 失败 + ack reaction 重复/额外时延),确认不引入普通消息路径回归 - 跟进 AI Card dynamic summary 默认行为,确认配置与展示不引入额外噪声
- 复核
#374的“无思考中反馈”现场是否已被#362完全覆盖(含用户配置位置错误场景) - 跟进
#424的/verbose on可见性反馈,区分“thinking 展示变更”与“工具链路输出被覆盖”两类问题 - 跟进
#428的单时间线重构非阻塞 review 建议,确认cardUpdateMode类型收敛与兼容说明 - 跟进
#447markdown 增量时间线方案,已合并,后续重点观察与#428单时间线语义一致性及回归反馈 - 同步
#446已由#447替代并关闭,避免重复跟踪 - (拟完成,请评估)跟进
#456在单聊场景反馈的/verbose与/reasoning失效问题,复核#447/#457是否已完整覆盖(含卡片与 markdown 两种模式)
P3
12. 流式与响应时延
相关 Issues:
任务:
- 评估 20 秒延迟是否仅在超大规模部署下发生
- #255 make stream keepAlive configurable and default off(状态:要求修改,已关闭未合并)
- 评估个人场景是否真的需要真流式
- 评估消息更新 API 配额消耗
- 评估低更新频率的替代方案
- 修复 chunk 模式仅显示增量字符的问题
- 给出“继续投入 / 保持现状”的结论
- 跟进
#416的“分步骤执行但钉钉端最终一次性可见”反馈,明确是通道节流策略、上游 buffering 还是客户端展示限制 - 回归
#341引入的实时流式开关与默认值,验证“时延改善 vs API 成本”是否达到可接受平衡 - 跟进
#414最新讨论:核对#447是否已恢复 markdown 增量时间线,排查后续 card 修复是否造成 markdown 回退,并补真机复现记录与文档说明 - 跟进
#425乱序反馈,补“卡片模式/markdown 模式/客户端顺序渲染差异”对照复现记录
13. README / 截图 / onboarding / 配置说明补齐
相关 Issues:
任务:
- (拟完成,请评估)补 README 截图
- 补 onboarding 示例
- (拟完成,请评估)跟进
#537的 DingTalk Device Flow 自动注册 onboarding:已合并并关闭扫码绑定诉求#532,仍建议补一次手动扫码/失败回退实机验证 - 补配置说明
- 补常见问题
- 补排障说明
- 增补
400/protocol mismatch常见排障示例与配置核对清单(#243/#303) - 补充
dingtalk.docs.*gateway methods 的使用示例与权限/参数说明(#301) - 整合
#328的多 bot 多 agent 绑定示例到 onboarding/FAQ,减少与#317相关配置误解 - 补充
debug->dwClientDebug的迁移说明与兼容窗口说明(#337)- #337 refactor: deprecate legacy dingtalk debug config(状态:要求修改,已关闭未合并)
- 增补“钉钉上游能力边界”FAQ:项目管理接口、文档表格编辑、消息输出类型限制(#293/#340/#342)
- 增补“主动消息发送”FAQ 与前置条件(
robotCode、会话预热、机器人类型权限、流式模式差异)(#144/#355) - (拟完成,请评估)跟进
#527的dingtalk-connector.*Gateway RPC 兼容:已合并,后续仅需观察兼容 namespace 使用反馈与文档理解成本 - 增补“定时/主动发送到指定群”说明(
conversationId直发 +displayNameResolution能力与版本门槛)(#376/#372) - 合并
#455追问:补充cron/jobs.json中conversationId: group:cid...与session_key两种定向发送写法示例 - (拟完成,请评估)跟进
#519的 CLI 子命令加载噪音:循环依赖已拆除,待补一次发布后 CLI 子命令真实安装路径回归确认噪音已消失 - 合并
#520的 SDK 兼容结论:明确message send在 PR#499之后依赖openclaw >= 2026.4.5,补版本矩阵、升级提示与低版本保护策略 - 增补“Markdown 表格渲染差异”说明(客户端差异 + 自定义机器人 vs 应用机器人;
#192已按 stale 治理关闭,#358已关闭) - 补充
gatewayToken缺失/错误时的配置排障指引与默认回退行为说明(#370) - (拟完成,请评估)跟进
#402/#404/#405安装失败闭环:补版本兼容矩阵与升级指引,并同步已由#406修复的范围边界 - 跟进
#413的“插件内嵌 openclaw 目录”安装反馈:补充“全新安装仍可出现目录”的复现结论与清理/规避建议 - 基于
#2262026-03-25 新线索(竞品疑似可读群聊)补一条能力边界说明:若无公开 API 支持则保持wontfix,避免误导承诺 - 跟进
#421的 Windows 路径报错反馈:在 FAQ 明确“旧版本(v2.x)升级到 v3.x”优先路径与校验步骤 - 跟进
#423/#426/#434/#435安装失败反馈:补“安装方式 + OpenClaw 最低版本 + semver 兼容”检查清单 - 合并
#498/#502的兼容性结论:确认v3.5.3已修复telegram-core导入缺失,但qa-lab / install.runtime安装噪音仍属上游 OpenClaw 打包问题,并补最低兼容版本与升级/回退指引 - 补充
#434/#435最新进展:标注 clawhub 安装路径缺陷与 semver 紧急修复(b21e501)的适用边界,给出临时 git 安装指引 - (拟完成,请评估)跟进
#552的 OpenClaw 2026.5.3+ 安装失败:#553已合并并关闭 issue,后续同时回归 npm 包安装、本地 tarball 安装与源码目录安装路径,补充scripts/仅开发使用且不随 npm/clawhub 包发布的说明 - 同步
#445配置字段收敛(移除corpId/agentId/robotCode)与 README/onboarding 更新,减少安装与升级期配置歧义 - 补充
cardAtSender配置参考说明,确保字段类型、默认值与群聊 @sender 行为说明同步到 reference 文档 - 评估
#393的 structured real-device debug sessions 文档/脚本方案,决定合并范围与最小维护面
14. 群聊历史滚动摘要 /summary 命令
任务:
- 同步
#331状态变更:PR 已关闭未合并,原范围拆分为#440(message context metadata)与#441(owner-only /summary) - 跟进
#440的基础能力拆分方案,确认 message-context metadata 暴露不引入跨会话串扰 - 跟进
#441owner-only/summary命令实现,复核 owner 鉴权/历史窗口限制/帮助文本一致性 - 对齐
historyLimit默认值语义(代码默认关闭 vs 注释默认 50)并补充文档 - 在 rebase 后复核
/summary命令边界(owner 鉴权、token 成本、历史窗口与归档段限制) - 跟进
#331最新阻塞项:conversationId归一化冲突导致历史聚合错路由,需统一 canonical key 策略 - 结合
#3312026-03-22 最新更新复核“DM scope 统一 / 引用+附件 fallback / target-directory 测试矩阵”是否已消除阻塞项 - 合并
#3312026-03-25 最新 review:reviewDecision=CHANGES_REQUESTED仍未翻转,优先收敛 CL test 报错后再复核合并条件 - 同步
#3312026-03-25 review 阻塞项:将channel.ts中新增 chatType/storePath 业务逻辑下沉至目标域并消除与send-service的重复推断 - 同步
#3312026-03-26 最新进展:CI 通过但CHANGES_REQUESTED未解除,需逐条核对 reviewer 阻塞项是否全部关闭
Milestone 建议
Milestone A:基础可用性收敛
- 消息接收稳定性 / 长时间待机可靠性
- AI Card 发送链路一致性
- 文件上传 / 文件读取 / 文件预览 / 大文件链路
- 图片 / 语音 / 媒体链路补强
Milestone B:高频消息类型与治理能力补齐
- 引用消息 / chatRecord / 转发记录解析收口
- 建立 Issue 提交标准化
- 建立 PR / Issue 自动化流程
Milestone C:配置与体验增强
- 多账号 / 多 agent / schema 与路由配置收敛
- AI Card usage footer / thinking 展示行为可配置
- README / 截图 / onboarding / 配置说明补齐
Milestone D:增强能力与低优先级优化
- 支持群聊 @人 / @all
- 支持对话打断 / 取消任务
- 流式与响应时延
建议拆分顺序
第一阶段
- 消息接收稳定性 / 长时间待机可靠性
- AI Card 发送链路一致性
- 文件上传 / 文件读取 / 文件预览 / 大文件链路
- 图片 / 语音 / 媒体链路补强
第二阶段
- 引用消息 / chatRecord / 转发记录解析收口
- 建立 Issue 提交标准化
- 建立 PR / Issue 自动化流程
第三阶段
- 多账号 / 多 agent / schema 与路由配置收敛
- AI Card usage footer / thinking 展示行为可配置
- README / 截图 / onboarding / 配置说明补齐
第四阶段
- 支持群聊 @人 / @all
- 支持对话打断 / 取消任务
- 流式与响应时延
/btw bypass session lock — 验证 TODO (PR #508)
- DM
/btw 这个函数为什么慢while bot is idle → blockquote + answer rendered correctly - DM
/btw <question>while a main run is in PROCESSING → BTW answer arrives without waiting for main run - Group
@Bot /btw <question>while main run in PROCESSING → mention stripped from blockquote, sender nickname displayed -
/btw(no question) → openclaw usage error rendered with> [<sender>: ]/btwblockquote prefix (note:<side question>placeholder eaten by markdown — upstream issue openclaw/openclaw#62877) - Long question (> 80 chars) → blockquote shows truncated form with
… - Card mode (
messageType: card):/btwand/stopdo NOT create orphan PROCESSING cards (createAICard hoist regression) - After upgrading to openclaw with
isBtwRequestTextexported, BTW activates without channel config change