Files
nexus-terminal/.helloagents/archive/2026-04/202604192106_terminal-running-indicator/tasks.md
T
yinjianm 6253b90151 feat(frontend): 添加 SSH 终端运行中标记
为 SSH 顶部服务器标签和内部终端标签补充 `%` 运行中提示,
并基于发送命令、shell prompt、断连与错误链路派生运行态。
2026-04-19 21:33:24 +08:00

2.8 KiB

任务清单: terminal-running-indicator

@status: completed | 2026-04-19 21:31

@feature: terminal-running-indicator
@created: 2026-04-19
@status: completed
@mode: R2

进度概览

完成 失败 跳过 总数
6 0 0 6

任务列表

1. 运行态链路补齐

  • [√] 1.1 在 packages/frontend/src/stores/session/types.tspackages/frontend/src/stores/session/actions/sessionActions.ts 中为 SSH 会话补充命令运行态与终端输入缓存字段,并完成新会话初始化 | depends_on: []
  • [√] 1.2 在 packages/frontend/src/stores/session/getters.tspackages/frontend/src/composables/useSshTerminal.ts 中接入“发送非空命令置位、prompt/中断/断连清除”的派生逻辑 | depends_on: [1.1]

2. 标签 UI 展示

  • [√] 2.1 在 packages/frontend/src/components/TerminalTabBar.vue 中为 SSH 顶部服务器标签补充按连接聚合的 % 运行中提示 | depends_on: [1.2]
  • [√] 2.2 在 packages/frontend/src/components/LayoutRenderer.vue 中为当前服务器内部终端标签补充逐终端 % 运行中提示 | depends_on: [1.2]
  • [√] 2.3 在 packages/frontend/src/locales/zh-CN.jsonpackages/frontend/src/locales/en-US.jsonpackages/frontend/src/locales/ja-JP.json 中补充运行态 tooltip 文案 | depends_on: [2.1, 2.2]

3. 验证与同步

  • [√] 3.1 运行 npm --workspace @nexus-terminal/frontend run build 验证编译通过,并同步知识库与方案状态 | depends_on: [2.3]

执行日志

时间 任务 状态 备注
2026-04-19 21:06 方案包创建 完成 已创建 202604192106_terminal-running-indicator,按 R2 流程进入开发实施
2026-04-19 21:19 1.1 / 1.2 完成 已为 SSH 会话补充 isCommandRunningterminalInputBuffer,并在 useSshTerminal.ts 中接入发送置位、prompt/中断/断连清除逻辑
2026-04-19 21:23 2.1 / 2.2 / 2.3 完成 顶部服务器标签与服务器内终端标签已显示 % 运行态提示,并补齐中英日 tooltip 文案
2026-04-19 21:30 3.1 完成 npm --workspace @nexus-terminal/frontend run build 通过,并同步 frontend.mdCHANGELOG.md

执行备注

  • 本轮范围限制在 packages/frontend,不改 backend WebSocket 协议与 SSH session 模型。
  • 运行态以前端派生值为准,允许在无法识别 prompt 的极少数 shell 场景中退化为“中断/新输入/断连清除”。
  • 顶部服务器标签只做按连接聚合展示,内部终端标签负责表达具体哪一个终端仍在运行。
  • 方案设计时预估会在 WorkspaceView.vue 接入运行态,但最终为了覆盖文件管理器等直接调用 terminalManager.sendData() 的链路,将输入跟踪统一收口到了 useSshTerminal.ts