背景 / 场景
- 在长对话里(尤其是 planning、多轮 debug、跨文件重构),最初或最近的用户 prompt 一旦被滚动条推出视口,就很难随时回看
- 想确认"当前这轮 assistant 是在处理我哪一句需求"、"上一轮我明确禁止过什么"时,只能反复往上滚,非常打断心流
- 类似诉求在 DeepSeek Harness 生态已有社区实现:https://github.com/oil-oil/dsh-oil-sticky-prompt(“Pins the last user prompt that has crossed the top of
[data-conversation-scroll]”)
期望效果(择一即可)
方案 A(原生 UI 特性) — 更"轻",官方一次做完全员受益
- 在聊天面板 viewport 顶部叠加一个半透明浮层:显示"最近一条已滚出顶部的 user prompt",2 行内截断,点击滚回原消息
- 只保留一个浮层,切换 topic 或滚回不再遮挡时自动淡出
- 可选:设置开关,默认关闭;或允许用户按 Cmd+K 之类切换
方案 B(更根本,插件生态) — 开放 renderer 层 UI 扩展点
- 当前
plugin.json支持的组件(skills / commands / hooks / mcpServers / agents / rules)都在逻辑层,插件无法向对话面板注入 DOM / CSS / React 组件 - 建议新增类似
renderer/webview/contributes.ui字段,允许插件挂载受限 UI 到官方定义的挂载点(例如 chat viewport 顶部、composer 上方、侧栏 tab) - 参考:VS Code Extension API 的
views,viewsContainers契约
补充信息
- Qoder 版本:0.2.5(stable,macOS arm64)
- OS:macOS 25.5.0 (Sequoia)