Skip to content

dsh-session-favorites

Verified

dsh-session-favorites · v0.1.1 · MIT · Web UI

DSH 会话收藏夹插件:收藏会话、按工作区分组、@ 引入、多设备一致

Install

dsh plugin add dsh-session-favorites

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Creators

Readme

DSH Session Favorites

把常回看的会话,放在随手可取的位置

English · MIT

许可证:MIT npm package npm 下载量 DSH Web Plugin DSH 支持至 0.2.1-alpha.1

DSH Session Favorites 是社区维护的 DeepSeek Harness(DSH)插件,并非 DeepSeek AI 官方产品。

你可以用它做什么

给常回看的会话加个星标,之后不用再翻侧边栏找它。

  • 收藏会话:在会话头部点星标收藏,也可以在收藏夹里添加。
  • 按工作区分组浏览:收藏按所属工作区分组,列表再长也能看清。
  • 快速查找:在列表顶部按标题搜索。
  • 引入提示词:在输入框键入 @,即可把已收藏的会话插入当前对话。
  • 保持名称同步:重命名收藏时,真实会话会通过 DSH 自身的重命名路径一并改名。
  • 多端一致:收藏保存在宿主端,同一 profile 下的每个标签页和浏览器看到的都是一份。
  • 打开已归档收藏:已归档的收藏仍可打开,且不会改变它的归档状态。
  • 清理失效条目:会话已被删除时会标记出来,确认后一步清理。

界面预览

在侧边栏底部、设置按钮上方点击 收藏夹:

收藏夹弹层:按工作区分组,带搜索框与星标行,左下方是打开它的侧边栏入口

每条收藏都带星标,侧边栏入口显示当前 profile 的收藏数量。条目按所属工作区分组,悬停时显示重命名/移除操作。

前置条件

  • 已能正常使用 DeepSeek Harness Web,并可在终端运行 dsh。
  • 支持的 DSH 版本:0.1.5-rc.2 至 0.2.1-alpha.1。
  • Node.js 需满足 >=22.15。

安装

以下示例使用 web profile,请替换为你实际使用的 profile。

让 Agent 帮你安装

把下面这段话发给能执行本机终端命令的 Agent:

请将 dsh-session-favorites 最新版安装到本机 DSH 的 web profile,使用官方 npm 源。安装后检查插件配置,并告诉我如何重新加载 DSH、打开收藏夹列表。

手动安装

在 PowerShell 中执行:

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8

dsh plugin --profile web add dsh-session-favorites@latest --registry=https://registry.npmjs.org/

安装后重启 DSH Web,并按 Ctrl+Shift+R 硬刷新浏览器。侧边栏底部会出现 收藏夹 入口。

使用

你想做什么 操作
收藏当前会话 点击会话头部的星标
打开收藏列表 侧边栏底部 → 收藏夹
查找收藏 在列表顶部搜索框输入关键词
打开某条收藏 点击该行
把收藏引入提示词 在输入框键入 @,选择会话
重命名收藏 悬停该行 → 重命名;真实会话会一并改名
移除单条收藏 悬停该行 → 移除 → 确认
清理已删除的会话 使用列表旁的横幅提示,然后确认

弹出层仅通过关闭按钮关闭,因此点空白处不会让任务中断。移除收藏一律二次确认,批量清理共用同一个确认框。

收藏保存在宿主端的 favorites 存储域中,DSH 自身的会话数据不会被修改,也不会写入你的 DSH profile 之外的位置。

归档会话

已归档的收藏仍可点击,并且 打开它不会改变它的归档状态。插件刻意不调用 DSH 的取消归档接口,所以点开之后该会话仍然是「已归档」,只是你能正常查看内容。要真正取消归档,请用 DSH 原生的「取消归档」;两者是相互独立的两件事。如果其依赖的兼容补丁打不上,插件会如实报错而不会静默失败,打开归档收藏会降级为一条可见的提示。

重命名

重命名收藏会通过 DSH 自身的 session.rename 一并重命名真实会话,与原生侧边栏走同一条路径。如果该重命名成功、但同步插件保存的名称副本失败,会话会保留新名字,插件只记录一条告警 —— 你的重命名不会被回滚。

更新

要升级到新版本,用你想要的版本重跑安装命令,然后重启 DSH Web 并硬刷新浏览器:

dsh plugin --profile web add dsh-session-favorites@latest --registry=https://registry.npmjs.org/

常见问题

安装后找不到入口?

先重启 DSH Web 并硬刷新浏览器,确认安装到了你正在使用的 profile。仍未显示时,确认插件已解析:

dsh --profile web --dump-config

输出中应包含 session-favorites,且插件包必须同时声明 dsh.bundle.patch 与 dsh.client.platform: "web" —— 只声明 dsh.client 的包会装成普通依赖,不显示任何界面。

卸载插件后收藏会丢吗?

不会。收藏保存在你的 DSH profile 里,重新安装插件后列表会回来。卸载也不会删除会话或消息。

收藏会在多台设备间同步吗?

收藏保存在宿主端的 DSH profile 中,因此使用该 profile 的每个标签页和浏览器看到的都是同一份列表。不同的 DSH 安装各自维护自己的列表。

能和其他侧边栏插件一起用吗?

可以。本插件只新增一个底部入口、一个头部星标和一个 @ 源,不修改 DSH 源码,也不接管其他插件的界面。

遇到其他问题,请提交 Issue,附上 DSH 与插件版本、复现步骤和错误信息。

从源码安装

开发或测试未发布改动时展开

没有构建步骤:src 就是发布内容,检出即可直接运行。

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8

git clone https://github.com/hiuga0321/dsh-session-favorites.git
Set-Location .\dsh-session-favorites
dsh plugin --profile web add .

完成后重启 DSH Web 并硬刷新浏览器。

发布前的检查:

node scripts/smoke.mjs                    # 包名一致性、客户端装载、关键交互路径
node --test test/schema.test.mjs          # 存储域记录 schema
node --test test/favorites-core.test.mjs  # 收藏 CRUD 纯逻辑
node --test test/client.test.mjs          # 跨 DSH 版本的客户端契约

scripts/smoke.mjs 强制校验四处声明一致 —— src/package-identity.js、package.json 的 name、cordis.patch.yml 的 name 与 client bundle 的 id。改包名时只要漏改一处就会在这里失败。

devDependencies 钉在 0.1.5-rc.2(兼容下限,也是宿主/远程契约的验证基准)。要跑真正的版本矩阵,把各版本各装一份、分别跑上面的检查即可 —— 客户端两套契约形状的夹具已经就位。

许可证

本项目采用 MIT 许可证。