Web UI 与桌面端都没有直接查看或复制当前会话 id 的入口(0.2.0-rc.2) #8451
Replies: 3 comments
|
A direct “Copy session ID” action would be useful because the session ID is often the most precise identifier when reporting bugs or working with external tooling. I’d put it somewhere that doesn’t add clutter to the normal conversation UI, such as the session header’s context menu or an “About session” menu. For example: Session menu A tooltip could also expose the ID without making it permanently visible. If the application already has the ID internally, this should ideally be a presentation-layer change rather than introducing a second identifier. I’d also make the copy action use the Clipboard API and provide a small confirmation such as “Session ID copied.” For debugging, showing the ID alongside an error report would be especially useful because users could give maintainers an exact session identifier rather than relying on a title that may not be unique. If this clears up the issue, please consider marking the answer as accepted so others who run into the same problem can find the solution more easily. |
|
A direct “Copy session ID” action would be useful because the session ID is often the most precise identifier when reporting bugs or working with external tooling. I’d put it somewhere that doesn’t add clutter to the normal conversation UI, such as the session header’s context menu or an “About session” menu. For example: Session menu A tooltip could also expose the ID without making it permanently visible. If the application already has the ID internally, this should ideally be a presentation-layer change rather than introducing a second identifier. I’d also make the copy action use the Clipboard API and provide a small confirmation such as “Session ID copied.” For debugging, showing the ID alongside an error report would be especially useful because users could give maintainers an exact session identifier rather than relying on a title that may not be unique. If this clears up the issue, please consider marking the answer as accepted so others who run into the same problem can find the solution more easily. |
|
Thanks for taking the time to look at this. The direction of your suggestion is reasonable, but the menu structure in your sketch does not match this codebase, one of the suggested items is not implementable as a presentation change, and the proposed action covers less than the report asks for. Line numbers below were re-read on this machine against The session header menu exists, but it is not the menu in your sketch, and it has no
There is no "About session" menu. Searching the installed client bundles and this profile's
One thing you were not aware of: this action is already a documented slot example. The proposed action does not cover the report. The title asks for a direct entry to view or copy the current session id; a copy item covers only "copy". The body enumerates six places (sidebar row, hover card, session header, settings, command palette, address bar); the reply patches one. Those two gaps are what the report is about. Corrections to the report itself, which I wrote. The report says the export filename is the only UI path that shows the session id in plain text. That is too strong, and the report contradicts itself: its own evidence 2 records the header fallback that renders the bare The report also attributes the trajectory raw payload to For reference, what already exists for the implementation you suggest. A clipboard helper and its feedback state are shipped: On "marking the answer as accepted". This thread is a feature gap filed under |
Uh oh!
There was an error while loading. Please reload this page.
Web UI 与桌面端都没有直接查看或复制当前会话 id 的入口(0.2.0-rc.2)
环境
10.0.26200,内部版本26200.8246,64 位,AMD64zh-CN,时区 China Standard Time@deepseek-ai/dsh0.2.0-rc.2,经npx @deepseek-ai/dsh web启动,Web UI 监听127.0.0.1:3080,profile 为web,bundles 为@deepseek-ai/dsh-base+@deepseek-ai/dsh-web-app0.2.0-rc.2,per-user 安装于%LOCALAPPDATA%\Programs\DeepSeek Harness,自带 profile 为desktop,默认监听127.0.0.1:19387;观测时未运行现象
Web UI 与官方桌面端都没有直接查看或复制当前会话 id 的入口:侧栏会话行与悬停卡只显示标题,会话头部不显示 id,设置页、命令面板与快捷键清单里没有与它相关的项,浏览器地址栏也不含它。
证据一:侧栏与悬停卡不显示、也不复制 id
dsh-client-ui-workspace/lib/client.js::1121-1124的行标题函数为return node.blank ? t("session.new") : node.title || t("session.untitled");,即空标题回落为「未命名」,不回落为 id:1680的悬停卡复制文本为copyText: row.blank || row.title === "" ? void 0 : row.title,复制的是标题:1373的工作区行复制文本是 cwd证据二:会话头部默认不显示 id,只在边界情形下显示
dsh-client-ui-conversation/lib/client.js:16468-16499的头部面包屑逐段渲染标题,末段显示summary.displayTitle;仅当ancestry.length === 0(:16496,即该会话不在祖先链投影里)时才回落显示sessionId(:16498的children: sessionId)summary.displayTitle的来源displayTitleOf(dsh-api-session-controller/lib/client.js:3052-3059)按「durable 标题 → 工作目录 basename → 原始 id」回退;本机正常会话总是有工作目录,因此第三档回落不生效证据三:命令面板与快捷键清单里没有相关项
Host 侧斜杠命令共 6 个(
compact、goal、feedback、permission、plan、export),浏览器侧 2 个(file、model);固定快捷键仅有fixed.move、fixed.select、fixed.dismiss。证据四:地址栏不含会话 id
客户端代码没有向 URL 或浏览历史写入会话 id 的实现,
window.location只被读取.origin;Web 外壳产物中sessionId命中 0 次。证据五:唯一把会话 id 明文呈现给用户的界面途径是导出文件名
会话头部的「更多操作」菜单含「下载 Session 日志」(
dsh-session-log-export/lib/client.js:190-229,词条:238),下载文件名由sessionLogZipFilename生成(同文件:22-24):该函数只有一个调用点(同文件
:116的this.save(route, sessionLogZipFilename(sessionId)))。会话 id 因此确实出现在一个用户可见的位置——浏览器下载记录与磁盘上的 ZIP 文件名;但这需要先执行一次导出,且导出对话框的文案(:240-246)不提示文件名里含会话 id。本条据此不主张「界面上任何地方都拿不到会话 id」。证据六:命令行侧存在相关能力(不构成界面入口)
dsh-headless/lib/json-stream-BA-F3lfb.js:259-263session-<uuid>:dsh-headless/lib/index.js:313这两条是命令行侧的既有能力,不能被当作 Web UI 或桌面端的界面入口。
证据七:两端是同一份前端产物
对官方桌面端
resources/app.asar内的同名客户端包与 CLI 侧安装树逐文件比对:3 个产物逐字节相同,5 个的差异仅限 CSS Module 类名哈希与构建时嵌入的源码路径注释;与会话 id 相关的代码行号两侧一致(渲染sessionId的那一行在两侧同为:16498)。桌面端与 Web 共用同一份 Web 外壳产物(dsh-web-frontend/dist/assets/index-5SrrfWpU.js:126的globalThis.dshDesktopBoot)。因此上面各条对本条涉及的两个端同时成立。对照事实:不是「从未有任何位置显示 id」
@会话引用芯片的剪贴板文本为@[label](dsh-session:<base64url 会话 id>):dsh-client-ui-reference/lib/client.js:213-219前三者都需要用户先落到特定条件或先执行特定操作,且都不带「这是当前会话 id」的说明;没有一处是「查看或复制当前会话 id」的入口。
影响
$DSH_HOME/sessions/下该会话数据、在跨会话引用或日志里对照同一个会话的唯一稳定标识。界面上没有直接入口时,用户要取得它只能靠导出一次日志并从文件名读、或直接翻文件系统的会话目录名。未验证的部分
dsh/lib/**,因此「Web 与桌面 profile 是否有列出会话 id 的命令行途径」未查证(证据六只登记了 headless CLI 的两处已知事实)。dsh-session-log-export外的其它导出或分享能力未穷举。app.asar的只读回读,观测时桌面端未运行,没有桌面端的运行期读数。<a download>语义,未实际执行一次导出实测。All reactions