🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

po-et/dsh-session-guard

DeepSeek 客户端兼容 / 相关生态spec-screened扫描:中风险在 GitHub 查看 ↗
⚠ 装前注意

阻止两个 DeepSeek Harness 进程写坏同一个会话日志。

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/10 · 已提供中文文档

每个会话的咨询锁,用于阻止两个 dsh 进程破坏同一个会话日志。dsh-session-rescue 的配套工具。

综合分
28.8
GitHub 分
28.8
用户评分
—
★ Stars
0
周下载量
—
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/po-et/dsh-session-guard.git
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
是什么
生态插件(可安装,未声明 dsh 能力)
装得上吗
静态安装检查有提示项,装前建议看一眼 README
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 15 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@po-et/dsh-session-guard(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/24 11:38:24

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-session-guard

阻止两个 DeepSeek Harness 进程写坏同一个会话日志。

English · 姊妹项目:dsh-session-rescue(修复本插件所预防的那种损坏)

dsh 最高发的损坏家族就是并发写入:dsh web + CLI 双开、两个端口两个实例、桌面壳与网页共享一个 $DSH_HOME——每个进程各持一份内存 seq 游标,第二个写入方落盘的事件与已提交 seq 撞号,会话从此永远打不开:

history unavailable for session "…": corrupt session log: seq gap in committed region …

dsh 目前没有跨进程锁。本插件补上一把:按会话的咨询锁 + 死进程自动接管——冲突的那一步会带着可操作的报错响亮失败,而不是悄悄毁掉你的历史。

安装

暂未发布到 npm,请直接从 GitHub 安装。pnpm 会要求你放行一次这个包的构建脚本(dsh 会打印要加的那一行),那是 prepare 在编译 TypeScript。

dsh plugin --profile web add github:po-et/dsh-session-guard

在用 AI agent?直接对它说:"给我的 dsh 装上 dsh-session-guard 插件。"

它救你时长这样

Error: session-guard: session session-37374e34… is already being written by another
dsh process (pid 84231 on mbp.local, held 42s, last heartbeat 3s ago). …

该步失败、日志完好、什么都没丢。崩溃的进程永远不会卡死会话:属主 pid 已消失的锁会被立即接管;无法验证的属主(共享目录上的其他主机)90 秒无心跳即过期。

配置

全部可选,写在 profile patch 的插件行上:

- id: session-guard
name: "@po-et/dsh-session-guard"
config:
mode: enforce        # 'enforce'(默认)拦下冲突步;'warn' 只告警不拦
heartbeatMs: 15000   # 持有锁的心跳刷新间隔
staleAfterMs: 90000  # 无法验证的属主静默多久算过期
lockDir: /custom   # 默认 $DSH_HOME/session-locks

诚实边界

- 锁是咨询性的:只保护装了本插件的 dsh 进程,没装的进程不受约束(请在你运行的每个 profile 里都装上)。
- 只覆盖活跃写入路径(agent/session-start、agent/pre-step)。冷加载修复路径(在任何 step 之前提交合成中断收尾事件)发生在 dsh 内部,插件无法拦截——那一半只能等官方修。
- 锁文件在 $DSH_HOME/session-locks;若你在配置里把会话根目录改到了别处,锁仍按 home + 会话 id 定位。
- 已经发生的损坏本插件救不了——dsh-session-rescue 可以。

零运行时依赖。MIT。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(po-et)的其他插件

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群