READMESource: main@064a928a
dsh-sidebar-quiet
DeepSeek Harness 侧边栏插件:防误触 + 按时间分节。纯客户端(CSS + pointer 事件), 不注册工具、不联网、不改设置;卸掉插件或刷新页面即恢复原样。
做了什么
- 会话行右侧那三个图标(
…菜单 / 归档 / 置顶)不再显示 —— 手机上手指一滑就会 归档或置顶会话。它们仍在 DOM 里、保留 0 宽占位,所以菜单定位不变。 - 长按 480ms 才弹出会话菜单(重命名 / 置顶 / 归档 / 复制 ID 全在)。
- 「工作区」标题右边那三个图标(搜索 / 视图选项 / 新建工作区)不再显示。
- 会话列表按时间分节:置顶 / 今天 / 昨天 / 7 天内 / 更早。置顶的聚在最上面。
- 行尾的时间与置顶小圆点隐藏,时间信息由节标题承担。
- 滑动超过 10px 或提前松手 → 不算长按;双击标题不再触发重命名。
安装
方式一,装归档包:
dsh plugin add ./dsh-sidebar-quiet-0.3.1.tgz --profile web
方式二,手动放到插件目录(本机就是这么装的):
git clone https://github.com/2927683690myn-rgb/dsh-sidebar-quiet
cp -r dsh-sidebar-quiet ~/.dsh/plugins/dsh-sidebar-quiet
ln -s ~/.dsh/plugins/dsh-sidebar-quiet ~/.dsh/profiles/web/node_modules/dsh-sidebar-quiet
# 再往 ~/.dsh/profiles/web/cordis.patch.yml 末尾追加:
# - insert:
# - id: sidebar-quiet
# name: dsh-sidebar-quiet
装完重启 DSH 一次(新增插件条目只在启动时进图),之后改代码按刷新按钮即可热换。
实现要点
- 分节不做 DOM 插节点:只给每节第一行打
data-dsh-bucket属性,节标题用 CSS::before画、首行加 26px 上边距。这样 React 重渲染不会把节点删掉,切会话、 置顶、新建都不会乱。 - 分节依据行尾相对时间(
24分钟/2小时→ 今天,1天→ 昨天,2–7天→ 7 天内, 其余 → 更早),置顶依据行内_pinIndicator。 - CSS Modules 类名带构建哈希(
.YDXeBa_rowActions),哈希会变、后缀稳定, 所以用[class*="_rowActions"]、[class*="_sectionHeader"] [class*="_headerActions"]。
文件
index.js 宿主半边:空实现
lib/client.js 全部逻辑(样式 + 长按 + 分节)
cordis.patch.yml insert: sidebar-quiet
test/smoke.mjs 假 DOM 测试:node test/smoke.mjs(11 条)
No comments yet. Be the first to write one.