dsh-session-favorites
Verifieddsh-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 是社区维护的 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 许可证。