Passer au contenu principal
J

dsh-workspace-groups-anim

jhf0912/dsh-workspace-groups-anim

DeepSeek Harness 网页端侧边栏插件:可拖拽的会话标签栏,内置 4 种拖拽动效与插件页 1:1 实时预览设置。基于 z-col/dsh-workspace-groups(MIT)。

Installer

dsh plugin --profile web add github:jhf0912/dsh-workspace-groups-anim

README

dsh-workspace-groups-anim

会话标签栏 · 可拖拽排序 + 4 种动效

给 DeepSeek Harness 网页版侧边栏用的会话标签栏增强插件。

version license node platform status stars

效果预览:幽灵浮层

衍生项目声明:本项目基于 z-col/dsh-workspace-groups(MIT 许可证)修改而来。 请同时阅读 LICENSE、NOTICE 与 UPSTREAM.md。

✨ 功能特性

特性说明
🖱️拖动排序顶部会话标签栏可直接拖动调整顺序,松手即生效并持久化。
🎞️四种拖拽动效插入线让位 / 平滑跟手 / 幽灵浮层 / 弹性磁吸,一键切换。
⚙️插件页设置在「插件 → 已安装插件 → 本插件」详情页里,4 种效果同屏 1:1 预览,可直接拖动对比,「选用」即设为真实标签栏动效。
🚫可关闭设置页底部「关闭」后,标签将不可拖动(回到纯展示)。
💾记忆选择所选动效会保存,刷新 / 重启不丢失。
🧩无缝替换沿用上游路由与 sidecar 文件名,安装后旧分组 / 标签数据自动继承。

🎞️ 四种拖拽动效

模式名称手感
1插入线让位蓝色竖线标示落点,其余标签平滑让位;落点最清晰、最稳。
2平滑跟手标签略微滞后跟随指针,经过邻居即交换;干净顺滑。
3幽灵浮层(默认)拖起的标签变成漂浮「幽灵」,原位留虚框,松手飞回;质感最好。
4弹性磁吸带惯性与回弹(overshoot),最活泼、最 Q 弹。

预览条完全复用插件自身的 .wgTabs / .wgTab 样式,因此标签间距(gap: 6px)、尺寸、圆角、两行「文件夹」造型与真实标签栏像素级一致。

🖼️ 效果预览

下列动图来自插件设置页里的 1:1 预览条(均为「拖拽进行中」状态,示例数据为中性的 project-1…4)。

模式 1 · 插入线让位模式 2 · 平滑跟手
模式 1:插入线让位模式 2:平滑跟手
模式 3 · 幽灵浮层(默认)模式 4 · 弹性磁吸
模式 3:幽灵浮层模式 4:弹性磁吸

📦 安装

⚠️ 本插件是上游的替换版:安装前请先在「插件」页把原版 @dsh-xhl/workspace-groups 停用或卸载,避免两者争用同一侧边栏槽位与 /workspace-groups/* 路由。

方式一:图形界面(插件页,推荐新手)

  1. 打开侧边栏 「插件」;
  2. 点右上角 「添加插件」(Add plugin);
  3. 在输入框填入本仓库地址:
    https://github.com/JHf0912/dsh-workspace-groups-anim
    
  4. 安装完成后点 「立即启用」;若提示需要重启 dsh web,重启并刷新页面即可。

方式二:命令行

dsh plugin --profile web add github:JHf0912/dsh-workspace-groups-anim

⚙️ 使用与设置

  1. 打开侧边栏「插件」→「已安装插件」→ 点开本插件进入详情页;
  2. 在「会话标签拖拽动效」里,直接拖动上面的 4 条预览对比手感;
  3. 点某个模式的「选用」→ 顶部真实标签栏立即按该动效拖动;
  4. 需要关闭时选底部「关闭」。

🛠 开发 · 构建 · 测试

pnpm install
pnpm build      # 产出 lib/index.js(host,ESM)与 lib/client.js(浏览器端,CJS)
pnpm test       # vitest 单测

🗂 项目结构

dsh-workspace-groups-anim/
├─ src/
│  ├─ index.ts                 # host 半(复用原 /workspace-groups/* 路由与 sidecar)
│  └─ client/                  # 浏览器端源码
│     ├─ index.ts              # 注册侧栏浏览区 + 插件页设置
│     ├─ SessionTabs.tsx       # 会话标签栏(拖拽 + FLIP)
│     ├─ TabAnimSettings.tsx   # 插件页设置 + 4 条 1:1 预览
│     ├─ tab-anim.ts           # 动效模式状态 / 持久化
│     ├─ tabs.ts               # 纯状态(含 moveTab 重排)
│     └─ ...
├─ lib/                        # 构建产物(已随仓库提交,git 安装免构建)
├─ docs/                       # README 预览动图
├─ tests/                      # vitest 单测
├─ tsdown.config.ts            # 构建配置
├─ tsconfig*.json / vitest.config.ts
├─ LICENSE / NOTICE / UPSTREAM.md
└─ README.md

🔄 与上游的关系

  • 上游基线:z-col/dsh-workspace-groups@0.4.2(MIT)。
  • 本仓库:从该版本的源码还原并新增「标签拖拽 + 4 种动效 + 插件页设置/预览」。
  • 原则:保持补丁最小,方便日后 rebase 上游新版本。

📄 许可证与署名

本项目以 MIT 许可发布。上游版权归原作者所有(详见 LICENSE),本衍生项目的修改部分见 NOTICE。

🙏 致谢

感谢 z-col/dsh-workspace-groups 提供的优秀基座。

Plugins associés