DeepSHPlugins
dsh-hover-archive 项目预览
GITHUB / COMMUNITY PROJECT

dsh-hover-archive

UI 增强JavaScriptMIT

Codex 风格会话归档:鼠标悬浮侧边栏会话行时,最右侧浮现 Archive 图标,一键归档会话。

1 Starszhifengjiang 更新时间 2026-08-18
访问 GitHub 仓库
dsh-hover-archive 项目预览

项目介绍

中文

Codex 风格会话归档:鼠标悬浮侧边栏会话行时,最右侧浮现 Archive 图标,一键归档会话。

English

Codex-style session archiving: hovering a sidebar conversation row reveals an Archive icon at the far right; one click archives the session via the official workspace archive API.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
zhifengjiang
仓库
zhifengjiang/dsh-hover-archive
GitHub Stars
1
Forks
0
开发语言
JavaScript
许可证
MIT
最近推送
2026-08-18
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

52/ 100
维护活跃
84
文档与实用信息
99
生态关注度
9
安装便捷信号
75
项目声明信号
100

README 含完整安装与使用说明;关注度尚低(1)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:zhifengjiang/dsh-hover-archive

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-hover-archive

DSH Web Plugin License: MIT

Codex-style hover archive for DeepSeek Harness Web.

Hover a sidebar conversation row and an Archive icon appears at the far right; one click archives the session. No menus, no dialogs.

简体中文

Features

  • Hover → Archive icon at the far right of the session row, exactly like the Codex conversation list.
  • One click archives through the official workspaces.archiveSession API — the same face the built-in "…" menu uses, so archived sessions land in the same place and obey the same rules.
  • Blank rows untouched: the "New Session" placeholder row never gets a button.
  • zh / en labels follow the app locale and re-label live on locale switch.
  • Keyboard accessible: the button is a real <button>; it reveals on :focus-within and fires on Enter/Space.
  • Busy / error states: the icon dims while archiving and flashes the error color with the failure message as a tooltip if the call fails.
  • Zero dependencies, zero build step: plain JavaScript, installs from source without any allowBuilds approval.
  • Self-tests: npm test runs syntax checks plus a dependency-free DOM smoke test.

Install

dsh plugin --profile web add github:zhifengjiang/dsh-hover-archive

Then restart dsh web (or your desktop client) and refresh the page.

Uninstall:

dsh plugin --profile web remove dsh-hover-archive

How it works

  • A pure client plugin (dsh.client, platform web) that injects a button into every actionable sidebar session row — the elements carrying data-session-id.
  • The button is appended as the row's last child, so it renders to the right of the stock "…" row menu and is revealed purely by CSS on :hover (and :focus-within).
  • A MutationObserver re-decorates rows across React re-renders; decoration is idempotent (one button per row, blank rows skipped).
  • The click is intercepted in the capture phase (stopPropagation + preventDefault), so archiving never opens the session.
  • Archiving calls ctx.workspaces.archiveSession(id); the stock projection then removes the row from the list, and archiving the current session falls back to the same sweep the built-in action uses.

Why a button instead of a menu item

The stock row already archives in two clicks (hover → "…" → Archive). This plugin restores the Codex-style one-hover-one-click affordance. DeepSeek Harness 0.1.0-rc.6 exposes no public slot for extra session-row actions, so the button is injected into the row DOM — the same workaround community plugins such as dsh-session-manager and dsh-plugin-session-delete rely on.

Compatibility

  • Built against DeepSeek Harness 0.1.0-rc.6 (the @deepseek-ai/dsh-client-runtime workspaces face).
  • Platform: DSH Web. Any shell that renders the upstream web sidebar shows the button; a shell that replaces the sidebar with a native list may not.
  • Older harness builds without workspaces.archiveSession are detected at runtime — the plugin logs a warning and disables itself instead of breaking the UI.
  • Coexists with dsh-session-manager, dsh-plugin-session-delete and the built-in "…" menu: this plugin adds one more affordance on the same row and calls the same official API.

License

MIT

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目