makecindy / makecindy/cindy

工具调用执行中收到新消息时任务无提示中止并直接恢复输入

Open
#2,496 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
2.7k
Forks
395
Avg merge
21h 48m
Merged PRs (30d)
776

Description

**提交人**: Alexdwbh
**客户端版本**: 0.1.44

---

## 现象

Cindy 在执行包含工具调用的较长任务时,会在任务尚未完成的情况下突然停止,并直接回到可输入状态。界面没有说明停止原因,也没有清晰展示当前任务是否可以继续。

用户观察到该问题似乎可能发生在多种工具调用中。在已确认的一类场景里,工具仍在运行时发送“继续”或“从中断的地方继续”等新消息,会导致当前工具调用中止。

## 复现步骤

1. 在 Cindy 中发起一个包含工具调用、执行时间较长或包含多步操作的任务。
2. 等待工具仍在运行时,再发送一条新消息,例如“继续”或“从中断的地方继续”。
3. 观察当前执行是否被中止,界面是否直接恢复为可输入状态。
4. 再次要求从中断处继续;在后续工具调用中可能再次遇到相同现象。

补充:用户还观察到“似乎调用工具都会触发”,但尚未确认是否在完全不发送新消息时也能稳定复现。

## 期望行为

- 新消息不应在没有明确提示的情况下中止正在运行的工具。
- 如果产品设计要求新消息打断当前执行,应清楚提示中止原因、受影响的工具调用和当前进度。
- 应提供可靠的续跑机制,让“从中断处继续”能够承接原任务状态,避免重复操作或丢失上下文。

## 实际行为

当前工具调用突然停止,界面直接回到可输入状态。用户只能手动发送“从中断处继续”,且后续执行仍可能再次停止。

## 复现频率

在本次长任务中多次发生。用户感觉多种工具调用都可能触发,但精确触发范围和在不发送新消息时的复现率尚未确定。

## 已尝试

- 重新打开 Cindy。
- 多次发送“从中断的地方继续”恢复任务。

问题仍会再次发生。

## 脱敏诊断摘要

用户已同意公开经过脱敏的诊断摘要:

- 部分中止发生在工具仍运行时又发送新消息之后。
- 相关调用被记录为 `aborted by user`,但界面未向用户解释这一原因,而是直接恢复输入状态。
- 暂未发现可公开的异常堆栈。
- 本摘要不包含密码、令牌、邮箱、个人路径、业务数据或无关文件内容。
---
**版本区域**: CN
**OS**: darwin arm64 (25.6.0)
**界面语言**: zh-CN

Contributor guide

Open the contributing guide

Research direction

The report names no files, tests, or entry points. Start by tracing the tool-execution lifecycle around the `aborted by user` diagnostic when a new message arrives, then reproduce the interruption with a long-running tool. Done means the behavior is either prevented or clearly reported, and continuation preserves the task state without silently losing context.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.