Skip to content

Enhancements: Windows compat, streaming edit, group @-mention filter, first-task preservation, /stop - #1

Open
caoxiaohu7745-bot wants to merge 6 commits into
shaobeichen:mainfrom
caoxiaohu7745-bot:enhancements
Open

Enhancements: Windows compat, streaming edit, group @-mention filter, first-task preservation, /stop#1
caoxiaohu7745-bot wants to merge 6 commits into
shaobeichen:mainfrom
caoxiaohu7745-bot:enhancements

Conversation

@caoxiaohu7745-bot

Copy link
Copy Markdown

PR 提案:dsh-im-bridge 增强合集(Windows 兼容 + 流式编辑 + 群聊 @ 过滤等 6 项)

目标仓库https://github.com/shaobeichen/dsh-im-bridge
基线:v1.0.5(ef7332e
提交:6 个(见本目录 0001-*.patch ~ 0006-*.patch,可 git am 直接应用)
测试:全套 131 例在 Windows 与 Ubuntu 双平台全绿(无真实凭据/网络)
真实联调:已在一台 Windows 主机上以真实飞书自建应用 + 真实 DeepSeek 模型完成端到端验证
(长连接收发、审批卡片、群聊 @、/stop、流式卡片)。


改动总览

# 提交 类别 内容
1 7e09310 fix Windows 兼容:3 个平台相关用例修复;demo 运行器硬编码 /bin/bash → 跨平台 demo/shell.mjs(win32 优先 pwsh、回退 powershell.exe);CI 矩阵增加 windows-latest
2 645b7e4 feat 流式消息原地更新:核心 notifications.streamEdit(默认开)——渠道实现 edit()send() 返回 messageId 时,增量首帧发送、后续帧原地编辑;飞书实现 im.message.patch 卡片更新(文本消息不可 patch,故流式帧渲染为卡片);出站业务失败(code != 0)一律抛出并带平台错误码
3 b78d1bd fix connection 可选依赖:飞书/微信适配器曾把 connection 写进 inject,裸 Context 运行器(demo)里插件永远 waiting、apply 不执行;web-rpc 改用 ctx.get('connection') 优雅降级 + 激活回归测试
4 975172b feat 飞书群聊 @ 过滤groupMentionOnly(默认 true)——群聊仅回复手动 @ 机器人的消息;机器人身份经 bot/v3/info 懒加载缓存,查询失败时失败关闭;@ 占位符清洗(机器人自身移除、他人替换 @昵称)
5 5c7bf3f fix 首次接触自动信任不吞首条任务:信任后立即按正常流程派发(autoCreate 时直接建会话执行)
6 38cbd83 feat /stop 命令agent.cancel({kind:'user'}) 中断运行中任务,turn 以 aborted 收尾并推送「任务已取消」卡片;此前任务卡住时 IM 内无法打断

测试增量

  • 修复 3 个 Windows 失败用例(POSIX 路径字面量、0600 权限断言)
  • 新增:跨平台 shell 单测、notify 流式 edit/回退/蓄水池上限、飞书流式卡片/patch/业务失败/超长截断、@ 过滤 7 例、激活回归 2 例、首条任务不丢失、/stop 集成
  • 全量:131/131 通过(Windows 本机 + CI 双平台矩阵)

说明

  • 所有测试离线可跑(stub SDK / 假 fetch),无凭据依赖
  • 内部标识(ctx.im、行 id、存储布局)保持与上游兼容,无破坏性变更
  • 补丁作者头已按贡献者要求使用中性身份

应用方式

git checkout ef7332e -b feat/enhancements
git am 0001-*.patch 0002-*.patch 0003-*.patch 0004-*.patch 0005-*.patch 0006-*.patch
npm install && npm test

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant