批量归档恢复会话,卡死时一键强停并复活
30.1/100
综合分
1
GitHub 星标
118
npm 周下载
—/5
用户评分
数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-manage-sessionsnpm 源 · dsh-manage-sessions 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · tool
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 41 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-manage-sessions @ 0.7.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 16:40:21
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 21 处,展示前 21 条)
- 读取本地文件lib/index.js:69
if (existsSync(stateDir)) - 读取本地文件lib/index.js:72
if (legacy === stateDir || !existsSync(legacy)) - 写入本地文件lib/index.js:74
mkdirSync(dirname(stateDir), { recursive: true }); - 写入本地文件lib/index.js:75
renameSync(legacy, stateDir); - 发起网络请求lib/client.js:88
return this.request(url, { - 发起网络请求lib/client.js:95
return this.request(url, { - 发起网络请求lib/client.js:104
return this.request(FORCE_STOP_URL, { - 写入剪贴板lib/client.js:1849
await clipboard.writeText(text); - 发起网络请求lib/client.js:1881
const response = await fetch(url, { method: "GET" }); - 写入本地文件lib/state.js:63
await mkdir(dir, { recursive: true }); - 读取本地文件lib/state.js:84
text = await readFile(path, 'utf8'); - 读取本地文件lib/state.js:147
text = await readFile(path, 'utf8'); - 删除本地文件lib/state.js:194
await unlink(join(this.dir, JOURNAL_FILE)); - 删除本地文件递归lib/state.js:207
await rm(path, { recursive: true, force: true }); - 写入本地文件lib/state.js:217
await rename(staged, original); - 写入本地文件lib/state.js:248
await rename(tmp, target); - 删除本地文件lib/state.js:253
await unlink(tmp); - 写入本地文件lib/recovery.js:123
await rename(entry.staged, quarantine); - 写入本地文件lib/recovery.js:128
await rename(entry.staged, entry.original); - 写入本地文件lib/recovery.js:136
await rename(hidden, quarantine); - 写入本地文件lib/recovery.js:140
await rename(hidden, entry.artifactOriginal);
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/cordis@deepseek-ai/schemastery@deepseek-ai/dsh-agent@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-session@deepseek-ai/dsh-session-persistence@deepseek-ai/dsh-session-projection@deepseek-ai/dsh-session-projection-cache@deepseek-ai/dsh-workspace给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 批量归档恢复会话
- 卡死会话两段式强停
- 一键复制绝对路径
DSH 会话管理插件:批量归档/恢复/永久删除,卡死会话两段式强停(自动复活/离线),工作区行一键复制绝对路径,双击重命名,零配置开箱即用。
最近更新
在 GitHub 查看全部 →v0.7.02026-09-22
首次公开发布(从 dsh-session-manager 改名)。
· 批量会话管理浮层:按工作区归档、恢复、彻底删除
· 两段式强制停止,可自动恢复(⟳)或保持离线(⏻)
· 一键复制工作区路径按钮(悬停,42ms)
· 双击通过官方对话框重命名
安装:dsh plugin add github:hoyyang/dsh-manage-sessions
SHA256(tgz):见下方说明
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-manage-sessions
banner
DSH 侧栏原生增强的会话管理插件:批量归档/恢复/永久删除、卡死会话两段式强停、工作区行一键复制绝对路径——全部长在 DSH 原生界面里,不另起炉灶。
English · Releases · 更新日志
安装
npm 独占名(推荐)——dsh-manage-sessions 是全局唯一的包标识:
dsh plugin add dsh-manage-sessions
备选(GitHub 源码渠道):
dsh plugin add github:hoyyang/dsh-manage-sessions
零配置、开箱即用(无需任何配置项)。要求 DSH 0.1.5-rc.1(其他版本未实测,不承诺)。
有啥用
- 会话管理浮窗:侧栏「工作区」标题右侧的入口,打开按工作区分组的管理浮窗。
- 多选批量归档:浮窗里勾选任意会话一键归档,冷会话立刻从主列表消失。
- 批量恢复活跃:归档桶内多选恢复,一键回到工作区分组。
- 批量永久删除:多选永久删除,破坏性操作强制二次确认并列出全部 blocker。
- 会话强停(两段式):agent 卡死、官方停止无效时,标题栏 ⟳|⏻ 分段组一键强停。
- 强停自动复活:⟳ 强停后立即 resume,排队消息保留,会话继续工作。
展开完整文档(README 剩余 1 节)
dsh-manage-sessions
banner
DSH 侧栏原生增强的会话管理插件:批量归档/恢复/永久删除、卡死会话两段式强停、工作区行一键复制绝对路径——全部长在 DSH 原生界面里,不另起炉灶。
English · Releases · 更新日志
安装
npm 独占名(推荐)——dsh-manage-sessions 是全局唯一的包标识:
dsh plugin add dsh-manage-sessions
备选(GitHub 源码渠道):
dsh plugin add github:hoyyang/dsh-manage-sessions
零配置、开箱即用(无需任何配置项)。要求 DSH 0.1.5-rc.1(其他版本未实测,不承诺)。
有啥用
- 会话管理浮窗:侧栏「工作区」标题右侧的入口,打开按工作区分组的管理浮窗。
- 多选批量归档:浮窗里勾选任意会话一键归档,冷会话立刻从主列表消失。
- 批量恢复活跃:归档桶内多选恢复,一键回到工作区分组。
- 批量永久删除:多选永久删除,破坏性操作强制二次确认并列出全部 blocker。
- 会话强停(两段式):agent 卡死、官方停止无效时,标题栏 ⟳|⏻ 分段组一键强停。
- 强停自动复活:⟳ 强停后立即 resume,排队消息保留,会话继续工作。
- 强停停在离线:⏻ 强停后停在离线态,日志历史保留,不吞队列。
- 工作区行复制路径:悬停侧栏工作区行,⋯ 与 + 左侧出现官方同款复制按钮。
- 一键复制绝对路径:点击即拷贝该工作区绝对路径,42ms 实测完成。
- 双击重命名:双击侧栏会话条直接打开官方重命名弹窗(原生菜单路径)。
- 会话详情面板:context 压力、token 用量、执行统计、最近活动逐会话可查。
- 零残留卸载:所有侧栏注入只 append,卸载后官方界面完全还原。
侧栏「工作区」标题右侧的会话管理入口(官方 ListPen 图标,与搜索/视图选项明显区分):
会话管理入口
标题栏的强停分段组(⟳ 自动复活 / ⏻ 停在离线,紧贴删除按钮左侧):
强停分段组
30 秒上手
1. 用上面任一命令安装插件,重启 DSH 后侧栏「工作区」右侧出现会话管理图标。
2. 点会话管理图标,浮窗按工作区分组列出活跃与归档会话。
3. 勾选若干会话,点「归档」,它们从主列表移入归档桶。
4. 在归档桶勾选后点「恢复」,会话回到原工作区分组。
5. 勾选冷会话点「永久删除」,二次确认后清理(需 core 补丁,见下)。
6. 悬停任意工作区行,⋯ 与 + 左侧出现复制路径按钮。
7. 点复制按钮,图标变 ✓ 并弹出 toast,绝对路径已进剪贴板。
8. 某个会话卡死?打开它,点标题栏 ⟳ 强停并自动复活。
9. 双击任意会话条,官方重命名弹窗直接打开。
10. 底部设置区可随时打开同一管理浮窗复核。
日常使用
- 每天开工先开管理浮窗,按工作区扫一眼昨晚遗留的运行中会话。
- 探索型会话跑完就归档,主列表只剩活跃工作,找会话不再滚动三屏。
- 归档前在详情面板看一眼 context 压力与 token 用量,决定是否值得保留。
- 修改测试脚本时双击会话条改名,标出用途,避免「新会话 (3)」式命名灾难。
- 悬停工作区行复制绝对路径,直接粘进终端 cd 过去。
- 前端调试跑挂了 AgentLoop?⟳ 一键强停复活,排队消息继续消费。
- 不想立刻看结果的批处理任务用 ⏻ 停在离线,回头再手动恢复。
- 批量清理一周前的冷会话:归档桶勾选 → 永久删除 → 二次确认。
- 怀疑会话状态异常时看详情面板的执行统计与最近活动时间。
- DSH 升级后跑一次 core-patch --check,永久删除能力立即恢复。
输入与输出实例
- 输入 GET /dsh-manage-sessions/workspaces → 输出 {"ok":true,"workspaces":[{"id":"w1","title":"sample-app","path":"/srv/sample-app"}]}
- 输入 POST /dsh-manage-sessions/force-stop {"id":"...","mode":"resume"} → 输出 {"ok":true,"stoppedVia":"cancel","resumed":true,"elapsedMs":8065,"trace":["cancel"]}
- 输入 node scripts/core-patch.mjs --check → 输出每个 core 文件的 applied/invalid 逐行清单,exit 0 即健康。
- 输入 npm test → 输出 # tests 99 / # pass 99 / # fail 0。
- 输入 dsh plugin add github:hoyyang/dsh-manage-sessions → 输出安装完成与注入日志。
- 输入 npm view dsh-manage-sessions version → 输出 0.7.0。
- 悬停工作区行 → 输入位置出现第三颗同款复制按钮(⋯ 与 + 左侧)。
- 点击复制按钮 → 输出 ✓ 闪烁 1.2 秒 + toast「已复制工作区路径 …」。
使用场景
- agent 卡死救援:模型调用挂死 57 分钟、官方停止无效 → ⟳ 强停自动复活,8 秒回到工作状态。
- 长会话治理:一周下来的探索会话占满侧栏 → 浮窗批量归档,主列表只留活跃工作。
- 误删防护:永久删除前强制二次确认,运行中/遗留会话整批拒绝并列出 blocker,不会误伤。
- 多仓库切换:同时开五个工作区,悬停即得绝对路径,喂给终端或 CI 脚本零摩擦。
- 上下文体检:提交大改动前在详情面板确认 context 压力与 token 用量,避免中途截断。
- 会话交接:给同事指路时用官方重命名把「新会话 (3)」改成有意义的标题。
- 批处理离场:跑长任务的会话用 ⏻ 停在离线,人走机器停,回来手动恢复。
- 冷会话清理:归档桶内按最后活动时间排序,批量永久删除一月前的失败实验。
- 插件升级自检:DSH 升级后 core-patch --check 一条命令确认永久删除能力是否存活。
- 洁癖式还原:卸载插件后侧栏与标题栏完全回到官方原样,零残留。
输入与输出实例
以下八组均为真实命令与其真实输出(在本机 0.7.0 实例上采集):
$ curl -s http://127.0.0.1:3080/dsh-manage-sessions/workspaces
{"ok":true,"workspaces":[{"id":"w1","title":"sample-app","path":"/srv/sample-app"}]}
$ curl -s -X POST http://127.0.0.1:3080/dsh-manage-sessions/force-stop -d '{"id":"s1","mode":"resume"}'
{"ok":true,"stoppedVia":"cancel","resumed":true,"elapsedMs":8065,"trace":["cancel"]}
$ node scripts/core-patch.mjs --check
applied dsh-agent/lib/index.js
already-applied dsh-agent-loop/lib/index.js
$ npm test
tests 99
pass 99
fail 0
$ npm view dsh-manage-sessions version
0.7.0
$ dsh plugin add github:hoyyang/dsh-manage-sessions
installed dsh-manage-sessions@0.7.0 (bundle manifest ok)
$ gh release view v0.7.0 --json assets
assets: [dsh-manage-sessions-0.7.0.tgz]
$ node scripts/core-patch.mjs --revert
reverted dsh-agent-loop/lib/index.js
运行效果与产出
- 点击复制按钮后按钮图标变 ✓(绿色,1.2 秒)并弹出底部 toast 显示完整路径。
- 强停成功返回完整 trace(如 ["cancel"] 或 ["cancel","phase-reset"])与 elapsedMs。
- 归档操作返回 archivedIds 与逐会话归档时间;恢复返回 unarchivedIds。
- core-patch --check 产出逐文件 applied/invalid 清单,exit code 直接可用于 CI。
- 首次启动自动把旧状态目录整体迁移到新位置,journal 与归档时间原样保留。
- GitHub Release 附带预构建 tgz 与 sha256 校验和,离线安装零构建。
- npm 包 dsh-manage-sessions 与 GitHub 仓库同版本同步发布。
- 卸载插件后所有注入按钮、观察器与 toast 一并消失,官方 DOM 逐字节还原。
可靠性与验收
- 99/99 单元测试(node:test):覆盖传输门禁、强停升级路径、复制桥、入口桥、状态迁移。
- typecheck 双 tsconfig:host 与 client 分别全绿。
- 冷启动静态检测:junction、bundle manifest、路由重复、client 注册一致性([A]-[F])全绿。
- loopback-only 传输:全部路由只接受 127.0.0.0/8,跨源写请求 403。
- fail-closed 删除:能力缺失时永久删除拒绝执行并明确提示,绝不静默降级。
- fail-loud 反馈:目录无匹配、剪贴板不可用、catalog 失败均 toast 点名报错。
- 只支持 DSH 0.1.5-rc.1:未知版本拒绝启用,不猜测 API。
- prefers-reduced-motion:全部动效在系统减弱动态设置下自动关闭。
- 无障碍:注入按钮带 aria-label 与 focus-visible,toast 挂 aria-live。
- 卸载即净:disposer 移除全部注入节点、观察器与监听,重装幂等。
进阶用法
永久删除依赖一组 core 兼容补丁(安装时自动提示)。DSH 升级或重装后需要重打:
node scripts/core-patch.mjs --check
node scripts/core-patch.mjs --apply
node scripts/core-patch.mjs --revert
未打补丁时永久删除 fail-closed(UI 明确提示),其余功能不受影响。
工作原理
管理浮窗读 DSH 官方 useSessions / useWorkspaces runtime hooks(与首页同一数据源);复制路径走插件自建的 loopback-only HTTP 路由 /dsh-manage-sessions/workspaces(workspace registry 直读,无会话扫描);强停通过 agents 契约(cancel → phase 复位)分级执行。侧栏增强采用「官方插槽 + 尾部 append」两种挂载方式,不改动官方 DOM 既有节点,卸载即还原。
常见问题
永久删除按钮灰色? —— 先跑 node scripts/core-patch.mjs --check && --apply 并重启 DSH。
强停会丢消息吗? —— 自动复活模式排队消息保留;停在离线模式放弃内存队列(日志历史仍保留)。
复制按钮没出现? —— 「未分组」桶没有路径,不提供复制;刷新侧栏或重启 DSH 后仍缺请提 issue。
本地构建
npm ci
npm run build && npm test
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
hoyyang/dsh-manage-sessions
批量归档恢复会话,卡死时一键强停并复活
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
智能体运行框架路由HarnessRouter/harnessrouter
智能体 harness 的统一接口。
★ 3,984已汉化DSH
71.3
这是你的仓库?认领条目