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

会话跨区迁移 Unintendedz/dsh-session-workspace

DeepSeek Harness
Unintendedz54 天前有提交已提供中文文档扫描:含敏感能力

把冷会话安全迁移到其他已注册工作区

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · other
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 54 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 21 处,展示前 13 条)
  • 读取本地文件
    src/migration.js:71
    await stat(path)
  • 删除本地文件
    src/migration.js:117
    await unlink(path)
  • 读取本地文件
    src/migration.js:163
    return (await readdir(directory)).filter(name => /^session(?:\.v\d+)?\.jsonl(?:\.zstd)?$/.test(name)).sort()
  • 读取本地文件
    src/migration.js:210
    for (const name of names) revisions.set(name, await stat(join(sourceDirectory, name), { bigint: true }))
  • 读取本地文件
    src/migration.js:211
    const raw = await readFile(source)
  • 写入本地文件
    src/migration.js:239
    await mkdir(backupDirectory, { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/migration.js:242
    await copyFile(join(sourceDirectory, name), backup, fsConstants.COPYFILE_EXCL)
  • 读取本地文件
    src/migration.js:251
    if (!sameRevision(revisions.get(name), await stat(join(sourceDirectory, name), { bigint: true }))) {
  • 写入本地文件
    src/migration.js:262
    await rename(original, tombstone)
  • 写入本地文件
    src/migration.js:281
    for (const item of moved.toReversed()) await rename(item.tombstone, item.original)
  • 写入本地文件
    src/migration.js:315
    if (await pathExists(destination)) await rename(destination, rollbackFile)
  • 写入本地文件
    src/migration.js:316
    if (await pathExists(tombstone)) await rename(tombstone, source)
  • 读取本地文件
    src/migration.js:360
    const before = await stat(source, { bigint: true })
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 迁移冷会话
  • 跨已注册工作区

在已注册工作区之间迁移冷会话

README

由 DeepSeek 最新模型翻译生成
dsh-session-workspace 把现有 DeepSeek Harness session 移动到另一个已注册工作区,同时保持 session ID 和对话历史不变。 插件会在每个 session 的侧边栏菜单中加入 移动到其他工作区。它会修改 session 持久化 header 中的 cwd、迁移当前代际 JSONL 文件、刷新 DSH 工作区索引并更新工作区账本。旧代际文件保留在会话索引目录外的备份中。 安全设计 - 只允许迁移冷 session。若 session 正在打开或运行,请先切换到另一个 session,等它关闭后再操作。 - 目标必须是 DSH 中已经注册的现有工作区。 - 绝不覆盖目标位置已有的 session 文件。 - 提交前会再次核对源文件修订;准备期间发生变化会直接拒绝。 - 移动期间持有源位置和目标位置的原生写入锁,排除其他 DSH 写入者。 - 所有原始代际文件都会持久备份到 <DSH_HOME>/session-workspace-backups/<uuid>/。 - 如果更新工作区账本失败,文件和原工作区归属都会自动回滚。 要求 - 插件 0.2.0 要求 DeepSeek Harness 0.1.5-rc.1;DSH 0.1.1-rc.2 请继续使用插件 0.1.1。
展开完整文档(README 剩余 1 节)
dsh-session-workspace

把现有 DeepSeek Harness session 移动到另一个已注册工作区,同时保持 session ID 和对话历史不变。

插件会在每个 session 的侧边栏菜单中加入 移动到其他工作区。它会修改 session 持久化 header 中的 cwd、迁移当前代际 JSONL 文件、刷新 DSH 工作区索引并更新工作区账本。旧代际文件保留在会话索引目录外的备份中。

安全设计

- 只允许迁移冷 session。若 session 正在打开或运行,请先切换到另一个 session,等它关闭后再操作。
- 目标必须是 DSH 中已经注册的现有工作区。
- 绝不覆盖目标位置已有的 session 文件。
- 提交前会再次核对源文件修订;准备期间发生变化会直接拒绝。
- 移动期间持有源位置和目标位置的原生写入锁,排除其他 DSH 写入者。
- 所有原始代际文件都会持久备份到 <DSH_HOME>/session-workspace-backups/<uuid>/。
- 如果更新工作区账本失败,文件和原工作区归属都会自动回滚。

要求

- 插件 0.2.0 要求 DeepSeek Harness 0.1.5-rc.1;DSH 0.1.1-rc.2 请继续使用插件 0.1.1。
- 默认的逐 session JSONL 持久化后端(.jsonl.zstd 或 .jsonl)。共享 SQLite 后端没有独立 session 文件,插件会明确拒绝,避免不安全改库。
- 支持 DSH 所用 Zstandard API 的 Node.js;DSH 官方支持的 Node 运行时已经具备。

安装

dsh plugin --profile web add github:Unintendedz/dsh-session-workspace#v0.2.0

安装后重启 DSH Web 进程。包内的 cordis.patch.yml 会同时挂载 trusted-host RPC 和浏览器客户端。

更新

安装上述固定 tag 后重启 DSH Web 进程。0.2.0 使用原生会话句柄、V3 快照 header,以及 DSH 0.1.5 的 JSONL generation 和 write-lease hook。压缩文件会逐帧完整解码,准备好的完整文件会在发布前重新验证;身份认证和 trusted-host 检查仍由 DSH 执行。未来存储版本需要重新检查兼容性。

使用

1. 先切换离开要迁移的 session,让它不再处于活动状态。
2. 打开该 session 的侧边栏菜单。
3. 点击 移动到其他工作区。
4. 选择目标工作区并确认。

迁移后 session ID 不变,会出现在目标工作区下;后续 shell、文件系统和 sandbox 操作都会使用目标工作区路径。

卸载

dsh plugin --profile web remove dsh-session-workspace

开发验证

npm test
npm pack --dry-run

将 DSH_NATIVE_ROOT 指向包含 node_modules 的 DSH 包根目录,可运行原生 V3 持久化、压缩迁移、外部写入锁拒绝和完整回滚测试。使用全新临时 DSH_HOME 与明确命名的测试 profile。

测试使用真实临时文件和 Node Zstandard codec,覆盖成功迁移、备份、活动 session 拒绝、目标冲突、修订竞态、失败回滚、RPC 返回和侧边栏 session 定位。

许可证

MIT
预览分享卡片长什么样 ↓Unintendedz/dsh-session-workspace
分享 · DeepSeek Harness Hub
Unintendedz/dsh-session-workspace

把冷会话安全迁移到其他已注册工作区

这是你的仓库?认领条目

回到顶部