## 问题描述 Claude Code 在执行 Bash 时触发原生危险操作确认(例如检测到变量可能为空的 `rm -rf`)后,终端里已经出现选项: ```text Dangerous rm operation on possibly-empty variable path: ... Do you want to proceed? ❯ 1. Yes 2. No ``` 但飞书话题中有时不会同步弹出可操作的选项卡,用户只能打开 Web Terminal / 本地终端处理,远程会话看起来像是一直卡住。 ## 期望行为 Claude Code 的原生权限/危险操作确认出现时,Botmux 应可靠识别并在飞书中发出对应的确认卡片;用户选择后,将按键安全地回填到仍处于同一提示页、同一 CLI generation 的终端。 ## 实际行为 终端停留在 `Do you want to proceed? / Yes / No`,飞书侧没有出现选项卡。该现象是间歇性的。 ## 初步定位 当前 Claude 的结构化问答桥主要覆盖 `AskUserQuestion` hook;现有 AI-free `StuckDetector` 又明确只识别 Codex 的两级 hook-review 页面,通用 `[Y/n]` / permission / press-to-continue 类提示暂未覆盖。因此截图中的 Claude Bash 危险操作确认可能落在现有检测范围之外。 相关代码: - `src/adapters/cli/claude-code.ts`:`asksViaHook: true`,负责 Claude `AskUserQuestion` 路径 - `src/utils/stuck-detector.ts`:目前只匹配 Codex hook-review,并明确排除 generic permission prompt - `src/worker.ts`:TUI prompt blocking / 按键投递与 generation guard ## 建议验收项 1. 覆盖 Claude Bash 危险操作确认的 `Yes / No` 页面。 2. 兼容 ANSI、窄视口、内容换行和不同选中项。 3. 严格锚定当前 viewport/footer,避免把历史 transcript 或用户粘贴文本误判为活动提示。 4. 点击卡片前重新抓取屏幕,校验 CLI generation 与页面类型;页面已变化时拒绝注入按键。 5. 覆盖 PTY、tmux/ZMX 以及会话恢复场景。 6. 增加真实终端快照 fixture 和回归测试。 ## 环境 - 在 `master` 最新提交 `43f228a068d2c71d49d0b3770958e78046966c0b` 上核对现有实现。 - 原始截图包含内部路径,未附到公开 Issue;上述文本保留了可复现的关键 UI 特征。
Activity
deepcoldy commentedon Oct 25, 2026
已由维护者核对:#1656(PermissionRequest 桥接为允许/拒绝卡片)和 #1679(Claude Code 权限确认框通知飞书话题)已覆盖;两者共存的去重在 #1686 跟进
先关闭这个 issue。如果在最新版本上仍能复现,欢迎随时 reopen 或补充复现步骤。