🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话管家 DM-Odyssey/dsh-session-manager

DeepSeek Harness
DM-Odyssey76 天前有提交已提供中文文档扫描:未发现敏感能力

统一归档、恢复与批量清理所有会话记录

26/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add DM-Odyssey/dsh-session-manager
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · market
装得上吗
实装验证未通过(dep_tree_unresolvable),装前请到仓库确认最近更新与 issue
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 76 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(dep_tree_unresolvable · 2026/9/28) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-session-manager@deepseek-ai/dsh-client-ui-session-manager
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 归档会话记录
  • 恢复会话记录
  • 批量清理会话

README

由 DeepSeek 最新模型翻译生成
dsh 会话管理器(会话管理插件) DeepSeek Harness 的部署级插件:在 Web 设置的「会话管理」页中,统一管理所有会话 —— 支持恢复归档、删除会话、按工作区分组、多选/全部批量操作。作为部署级插件常驻,进程重启后自动加载。 功能 - 恢复归档:把已归档会话移回侧边栏(通过平台 host/archived-sessions-changed 帧实时同步所有浏览器)。 - 删除会话:移除工作区记账 + 归档隐藏 + 删除磁盘日志(冷会话立即删;运行中的会话隐藏后,等它停止自动删除)。 - 批量删除:多选删除、删除所选、删除全部已归档、全部删除。 - 批量恢复:恢复全部已归档。 - 按工作区分组 的清单(含未分组),每行可 归档 / 恢复 / 删除(删除需二次确认)。 - 状态持久化:已删/待删记录写入 .session-manager-state.json,插件/进程重启后不复活。
展开完整文档(README 剩余 1 节)
dsh 会话管理器(会话管理插件)

DeepSeek Harness 的部署级插件:在 Web 设置的「会话管理」页中,统一管理所有会话 —— 支持恢复归档、删除会话、按工作区分组、多选/全部批量操作。作为部署级插件常驻,进程重启后自动加载。

功能

- 恢复归档:把已归档会话移回侧边栏(通过平台 host/archived-sessions-changed 帧实时同步所有浏览器)。
- 删除会话:移除工作区记账 + 归档隐藏 + 删除磁盘日志(冷会话立即删;运行中的会话隐藏后,等它停止自动删除)。
- 批量删除:多选删除、删除所选、删除全部已归档、全部删除。
- 批量恢复:恢复全部已归档。
- 按工作区分组 的清单(含未分组),每行可 归档 / 恢复 / 删除(删除需二次确认)。
- 状态持久化:已删/待删记录写入 .session-manager-state.json,插件/进程重启后不复活。

界面预览

「会话管理」设置页(按工作区分组、多选、批量操作):

会话管理界面

目录结构

dsh-session-manager/
├── readme.md # 本文档 ├── LICENSE ├── package.json # 项目根元信息(可选) ├── packages/ │ ├── session-manager/ # Host 服务 @deepseek-ai/dsh-session-manager │ │ ├── src/{index.ts, types.ts} │ │ ├── tsconfig.json / tsdown.config.ts │ │ └── scripts/rewrite-remote-zod.mjs # 构建后处理(见下) │ └── client-ui-session-manager/ # 浏览器设置页 @deepseek-ai/dsh-client-ui-session-manager │ ├── src/{index.ts, client/index.ts} │ └── tsconfig.json / tsdown.config.ts └── dist/ # 构建产物(lib/,可被部署直接拷贝安装) ├── session-manager-lib/ └── client-ui-lib/

架构

- Host 侧:SessionManagerService extends TypertRemoteService,通过 @Remote 暴露 list / restore / restoreMany / archive / deleteSession / deleteSessions / deleteAllArchived。
直接操作 workspace 存储域(归档集合 + 工作区记账)、调用持久化层定位并删除会话日志、维护待删队列。
Remote 贡献随包的 ./typert 由 typert-loader 自动注册。
- 客户端侧:注册 settings.section 的「会话管理」页,通过 ctx.remote.sessionManager. 调用 Host。
Remote namespace 由 dsh-api-remotes 统一挂载(平台标准路径)。

构建

前置:Node 18+、pnpm 9+;已在 dsh 仓库工具链内构建(typert 生成、client bundle 依赖其 tsdown 配置)。

在 dsh 仓库根目录(含本插件源码的 checkout)执行
pnpm install
pnpm build:lib:host # Host 构建 + typert(生成 typert.host.js / typert.remote-client.js)
然后对 session-manager 的产物执行一次远程层 zod 重写(让浏览器 bundle 内联 zod):
node packages/session-manager/scripts/rewrite-remote-zod.mjs
pnpm build:lib:client # 客户端 bundle

每次 Host 重建后都需重跑 rewrite-remote-zod.mjs(它把生成的 remote-client 由 import { z } from 'zod' 改写为 zod 具名导入,配合 tsdown 的 zod ESM alias,避免本仓库 rolldown 把 zod 留成外部 require("zod") 导致模块表缺失)。构建产物在 dist/(本项目已含一份当前构建结果)。

安装(拉取下来安装)

当前插件的 Host/Client 依赖 dsh 的运行时与构建环境,且 Remote 跨端挂载依赖平台共享包 dsh-api-remotes(子包尚未发布到 npm registry),因此不支持“从远端一条 dsh plugin add 命令直接装上并立即可用”。正确做法是:先把仓库拉取(clone)到本地*,再从本地目录安装(此路径已验证可用)。

1. 拉取代码

从 GitHub
git clone git@github.com:DM-Odyssey/dsh-session-manager.git
cd dsh-session-manager

2. 本地目录安装到 profile

在 clone 出的项目根目录(package.json 是一个带 dsh.bundle.patch 的 bundle 包)执行:

dsh plugin --profile web add "$PWD"
等价于:dsh plugin --profile web add /absolute/path/to/dsh-session-manager

dsh plugin ... add 会在 profile 里 pnpm add 这个 bundle 及其两个子包
(packages/session-manager、packages/client-ui-session-manager,以 file: 本地依赖解析),并将识别为 bundle 的包自动加入 dsh.profile.bundles;启动时 bundle 自带的 cordis.patch.yml 作为一层补丁挂载 session-manager 与 client-ui-session-manager 两行。无需手工 patch/symlink。

3. 重启

npx @deepseek-ai/dsh web

重启后打开 设置 → 会话管理 即可使用。

备注:若子包后续发布到 npm/GitHub Packages,可把 bundle 的 dependencies 从 file: 改为 registry 版本,并调整 Remote 挂载方(当前依赖 dsh-api-remotes),届时才能真正“远程一下装”。
在此之前请使用“拉取下来安装”。

手工方式(备选,与该 bundle 等价)

若不便用 dsh plugin add,也可手工放置:把两个子包的 lib+package.json 拷到 ~/.local/lib/node_modules/@deepseek-ai/dsh/node_modules/@deepseek-ai//,写 ~/.dsh/profiles/web/cordis.patch.yml(两行 insert,见下),并确保 profile 的 node_modules/@deepseek-ai/ 是指向全局包的符号链接,重启。

回滚

dsh plugin --profile web remove @dm-odyssey/dsh-session-manager # 或 pnpm remove
或:编辑 ~/.dsh/profiles/web/package.json,把该 bundle 从 dsh.profile.bundles 移出并删除依赖
rm -f ~/.dsh/profiles/web/cordis.patch.yml
重启 dsh web

使用

1. 在侧边栏(原生三点菜单)把不需要的会话「归档」;
2. 打开 设置 → 会话管理;
3. 单个:每行 归档 / 恢复 / 删除(删除需二次确认);
4. 批量:全选、恢复全部已归档 (N)、删除全部已归档 (N)、删除所选 (N)、全部删除。

删除立即在所有页面隐藏会话;磁盘日志冷会话当场删除、运行中的在停止后(刷新页面或 60 秒扫描)自动清除。

数据与安全

- 删除 = 工作区记账移除 + 归档集合隐藏 + 日志目录删除;日志路径经严格校验(只允许删除以会话 id 命名的 session.jsonl[.zstd] 所在目录)。
- 「已删除 / 待删」记录写入 /.session-manager-state.json;删除该文件即重置记录。
- 归档集合里的孤立 id(对应日志已不存在的会话)会被当作清除项处理,不再反复出现。

回滚

rm ~/.dsh/profiles/web/cordis.patch.yml
rm -rf ~/.dsh/profiles/node_modules/@deepseek-ai/dsh-session-manager \
~/.dsh/profiles/node_modules/@deepseek-ai/dsh-client-ui-session-manager
rm -rf ~/.local/lib/node_modules/@deepseek-ai/dsh/node_modules/@deepseek-ai/dsh-session-manager \
~/.local/lib/node_modules/@deepseek-ai/dsh/node_modules/@deepseek-ai/dsh-client-ui-session-manager
重启 dsh web

许可

MIT。
预览分享卡片长什么样 ↓DM-Odyssey/dsh-session-manager
分享 · DeepSeek Harness Hub
DM-Odyssey/dsh-session-manager

统一归档、恢复与批量清理所有会话记录

这是你的仓库?认领条目

回到顶部