[Bug] 桌面端与移动端会话运行状态文案不一致
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 395
- Avg merge
- 21h 48m
- Merged PRs (30d)
- 776
Description
## 问题描述 / What happened
同一会话执行长回复时,桌面端与移动端展示的运行状态文案不一致:
- macOS 桌面端显示「正在生成…」
- iOS 移动端显示「思考中…」
两端都在表达会话仍在运行,但用户难以判断这是同一状态的不同呈现,还是模型进入了不同阶段。
## 环境 / Environment
- Cindy 版本或 commit / version or commit:待补充
- 平台与版本 / platform & OS version:macOS、iOS,具体版本待补充
- 安装方式 / install method:待补充
## 复现步骤 / Steps to reproduce
1. 在同一 Cindy 会话中发送一个会触发较长回复的提示词。
2. 在 macOS 桌面端观察输入框上方的运行状态。
3. 在 iOS 端观察同一会话的运行状态。
4. 对比两端文案。
## 实际行为
- 桌面端显示「正在生成…」。
- 移动端显示「思考中…」。
- 两端缺少统一的状态语义与文案策略。
## 预期行为
同一会话、同一运行阶段在桌面端与移动端应使用一致且可理解的状态文案;若确实代表不同阶段,应明确约定状态映射与切换条件,避免造成误解。
## 日志与截图 / Logs & screenshots
macOS 桌面端显示「正在生成…」:

iOS 移动端显示「思考中…」:

## 源码定位
- Desktop 的运行状态栏消费 `agentStatus.status`;当 Agent 上报 `Generating` 时,经本地化后显示「正在生成…」。
- `apps/desktop/src/renderer/features/cc-agent/CCAgentSessionView.tsx`
- `apps/desktop/src/renderer/features/cc-agent/lib/localizeAgentStatus.ts`
- `apps/desktop/src/renderer/i18n/locales/zh-CN/common.json`
- Mobile 的 thinking 卡独立依据流式 `thinking` 消息与计时显示「思考中 {{elapsed}}」。
- `apps/mobile/src/session/MessageRenderer.tsx`
- `apps/mobile/src/i18n/locales/zh-CN/message.json`
- Mobile 已保存来自 `maker:event/status` 的会话运行状态与原始 `status`,但消息区的 thinking 卡未消费该状态。
- `apps/mobile/src/session/remoteSessionStore.ts`
## 建议修复方向
先确定跨端统一的运行状态文案规范,再让桌面状态栏和移动端会话状态消费同一映射:
- 无法区分具体阶段时,统一显示「正在生成…」或「思考中…」。
- 可以区分时,明确 `Thinking`、`Generating`、工具调用等状态分别对应的跨端文案和优先级。
- 保留移动端思考卡的时长信息,但其标题应与会话运行状态策略一致。
- 补充 Desktop/Mobile 状态映射回归测试。
## 验收标准
- [ ] 同一会话的同一运行阶段在桌面端与移动端文案一致。
- [ ] 有明确的阶段差异时,两端均按统一映射展示。
- [ ] 移动端思考卡的时长与展开内容不受影响。
- [ ] 覆盖 `Thinking`、`Generating`、工具执行和完成态的跨端回归测试。
Contributor guide
Research direction
Read the desktop status consumer in apps/desktop/src/renderer/features/cc-agent/CCAgentSessionView.tsx and lib/localizeAgentStatus.ts, then compare the mobile flow in apps/mobile/src/session/MessageRenderer.tsx and remoteSessionStore.ts. Check the zh-CN locale files and existing status handling first. Done means Thinking, Generating, tool execution, and completion states follow one documented cross-platform mapping while the mobile thinking duration and content remain intact, with regression coverage added for both clients.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- desktop, frontend, localization, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100