dsh-tauri-desk/deepseek-harness-desktop--packages-dsh-tauri-session ↗★ 1.5k
dsh-tauri-session
DeepSeek Harness Tauri 桌面版 | Only 5mb installer, zero environment setup, preset plugins, Windows / macOS / Linux.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:dsh-tauri-desk/deepseek-harness-desktop#37891c0063298e01dc57ec2732e94662c5b8fcf6&path:packages/dsh-tauri-session说明文档
阅读完整 README ↗dsh-tauri-session
DeepSeek Harness 桌面端插件:管理「已归档的聊天」的设置页(搜索 / 排序 / 分组 / 项目选择 / 取消归档 / 全部删除),并在官方工作区浏览器的「删除工作区」菜单旁 追加「归档工作区」入口。
采用 host half / client half 架构:
src/*.ts:宿主侧(node half)实现。src/client/*.ts(x):浏览器侧(browser half)实现,渲染设置分区与 DOM 补丁。
功能
- 设置页「归档」:在设置侧边栏新增「归档」导航项,内容为「已归档的聊天」列表。
- 归档页控件:搜索框(搜索已归档的聊天)、排序方式(更新时间 / 创建时间 /
按字母排序)、项目选择框 —— 使用官方
@deepseek-ai/dsh-client-ui-primitives组件(Input/Menu/Button); 下拉触发器对齐官方「通用设置」Select 的 pill 样式(36px 全圆角、无边框、bg-module-platform底)。 - 分组规则:排序方式同时影响「组」与「组内聊天」(两级都排序);组按成员 聚合值排序,组内按排序方式排序;无项目组统一命名为「未分组」。
- 取消归档:从宿主归档集合移除该会话后,回到其原来的工作区组(宿主归档 从不修改工作区 sessionIds 记账,会话在组内保留的位置自动恢复显示);成功后 弹「对话已取消归档 [查看]」toast,查看可跳转到恢复的会话。
- 彻底删除:每行垃圾桶与「全部删除」(危险色)为破坏性操作,均经官方
Modal二次确认(单项:「删除已归档聊天?」;全部:「删除所有已归档本地 聊天?」)—— 从宿主归档集合移除并物理删除会话数据(宿主无公开「删除会话」 API,按$DSH_HOME/sessions//session-/有界扫描删除的是会话 持久化目录,宿主重启后从持久化重建索引,会话从工作区与归档中彻底消失)。 - 加载态:变更(取消归档 / 删除)进行中时动作按钮禁用并弹 loading toast, 完成后消失;失败在页面顶部显示错误。
归档机制(v2:宿主归档集合)
v2 起插件不再自持 archive.json,而是直接使用宿主 WorkspaceRegistry 的归档
集合(archivedSessionIds,持久化、对官方所有分组界面隐藏、不动工作区记账)——
与官方会话行菜单里的「归档」动作写入的是同一份数据,因此两种入口归档的会话都会
出现在本插件的「已归档的聊天」页面。
- 宿主公开 API 只有
archiveSession(没有 unarchive),因此「取消归档」/「全部 删除」经由注册表内部状态机(enqueueOperation+requireState+setState) 改写归档集合;若宿主升级改变内部结构,接口会明确报错而不是静默降级。 - 插件初始化时会把 v1 自持的
~/.dsh/dsh-tauri-session/archive.json记录一次性 迁入宿主归档集合并删除旧文件(会话已不存在的僵尸记录随旧文件丢弃)。
宿主路由(/api/dsh-session/*)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /archived | 宿主归档集合 id + 每个会话的创建元数据(读 host session header) |
| POST | /archive | 归档单个会话 |