boardx / boardx/workspacex

chat: 非 call_skill 的 L2 工具中断没有任何审批入口,run 永久停在「等待确认」

Open
#3,084 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
1h 7m
Merged PRs (30d)
969

Description

## 现象
用户提交「同时推演四个画布」后,执行过程条显示「等待确认 · 历时 00:07 · 工具 1 次」,历时停住,页面上没有弹出任何审批界面,run 永远不继续。

## 根因
- `tool-risk-tier.ts` 的 `classifyToolRisk` 对未列出的工具兜底为 L2,所以 `wx_canvas_update` / `task` / `write_todos` 等在 native runtime 下都进 `interruptOn`,调用前停在 `awaiting_tool_permission`。
- 前端 `RestoredRunApproval`(`apps/web/components/chat/workbench/restored-run-approval.tsx`)只对 `call_skill` 渲染 `ToolPermissionCard`;其余非表单工具只渲染一句 `确认请求暂时无法恢复` 的 alert,还挂在线程顶部(`TaskTimeline` 之前),用户在底部完全看不到。
- 服务端 `decidePermissionRequest` 本来就接受所有非表单工具,只是前端没放行。

## 修法
去掉 `call_skill` 限定:任何没有可恢复表单的 L2 工具都渲染授权卡弹窗。

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in apps/web/components/chat/workbench/restored-run-approval.tsx and inspect how RestoredRunApproval handles call_skill versus other tools, then trace the placement relative to TaskTimeline. Confirm that non-form L2 tools such as wx_canvas_update, task, and write_todos show a ToolPermissionCard and that the existing decidePermissionRequest flow can resume the run.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.