You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
现象
Web GUI 里目标栏(
GoalBar,composer 上方conversation.input.dock的第二张卡片)是固定 36px 高的一条 strip,目标文本用white-space: nowrap+ 省略号截断,没有展开入口。目标写得长一点(例如「在工作区路径下创建……、并生成……、另外还要……」这种带多项要求的 objective)时,末尾只能看到…。两个具体问题:
GoalBar只在phase === 'blocked'时才把blockedReason.message放进title,active / paused 目标的title是undefined。所以目标一旦超过一行宽度,界面上就再也读不到完整内容。height: 26px的<input type="text">,长目标只能在框里横向滚动;多行、多要求的 objective 基本没法通读和修改。对照:同一个 composer 上下文栈里的「任务 / Todo」卡片已经有折叠/展开(
ui-conversation/src/client/skeleton/TodoPanel.tsx里的aria-expanded+ chevron,默认收起、点击展开),GoalBar没有任何对应的展开/收起能力。源码位置(master 现状)
GoalBar.module.css:.bar { height: 36px };.objective { overflow: hidden; white-space: nowrap; text-overflow: ellipsis };.objectiveInput { height: 26px }GoalBar.tsx:编辑态渲染<input type="text">;const title = goal.phase === 'blocked' ? goal.blockedReason?.message : undefinedui-conversation/src/client/skeleton/TodoPanel.tsx建议
默认保持紧凑的单行 strip,但把「读」和「写」两条路径补全:
title从 blocked 扩展到所有 phase。与已有讨论的关系
已有 #5065「Proposal: support multiline editing for active goal objectives」(作者附了 fork 原型)覆盖的是上面第 3 条,也就是写的一半。本贴补充的是读的一半:单行截断 + 无法展开 + 无悬浮全文。两者属于同一个
GoalBar交互面,建议合并成一个方案一起评估,避免只改一半(编辑器能写多行了,但读的时候仍然是截断的一行)。临时绕过
用 composer 里的
/goal edit <objective>命令替换目标,可以绕开GoalBar的单行输入框。本文来自使用者在实际使用中的复现,Agent 协助整理源码取证。
All reactions