Files
deepseek-harness/.agents/notes/implemented/feature/2026-07-24-tui-prompt-workspace-label.zh.md
T
Turtle 4c5f92e0fd feat(tui): personal TUI rework, integrating upstream model reasoning-effort selection
Consolidates the personal dsh-tui customizations (module split into
components/session/extension, prompt template + running-glyph indicator,
copyable transcript, tool-card headers, timing placement, XML tool output,
status/footer rework) and ports upstream's model reasoning-effort selector
(Shift+Tab effort cycling, effort-aware /model, footer, and /status) onto
the personal module layout.
2026-07-27 18:55:13 +08:00

1.8 KiB

Agent Note:提示区上下文合并显示目录与分支

Status: implemented

English | 中文

问题

空闲提示区上下文(prompt context)把工作目录和 git:<branch> 作为两个独立片段渲染。在任务 worktree 中,目录本身往往已能标识当前检出,而带前缀的分支片段额外占用横向空间,且在较窄的终端上会被单独丢弃。

决策

  • 提示区上下文把工作目录和可用的 Git 分支渲染为一个工作区标签(workspace label):<directory> (<branch>)。
  • 目录仍为加粗强调色;括号内的分支仍为弱化色。
  • 合并后的工作区标签具有最高保留优先级,超出终端宽度时作为一个整体片段裁剪。
  • 不在 Git worktree 中或处于 detached HEAD 时,标签仍只显示目录。

考虑过的替代方案

保留 git:<branch> 作为独立片段。 否决:前缀和分隔符占用更多列宽,在此上下文中却不增加信息。

只显示分支。 否决:会话工作目录决定工具在哪里运行,仍是提示区上下文的首要信息。

派生一个特殊的 worktree 根目录标签。 否决:现有的格式化目录和 Git 分支已经提供了这两项相关信息,无需引入对仓库布局的假设。

后果

  • 典型的检出渲染为 ~/git/tui-staging (tui-staging)。
  • 窄终端把目录和分支作为整体保留或裁剪,而不是单独丢弃分支。
  • 嵌入方通过 TuiRuntime.formatCwd 提供的标签以同样的形式与分支组合。

测试

packages/ui/tui/tests/tui.spec.ts 固定了主目录、绝对路径、格式化及窄终端下的工作区标签。包内快照与可运行示例的 TUI 快照验证了组装后的提示区上下文。