dsh-session-handoff

DSH PLUGIN记忆与知识

仓库 yangsong608/dsh-session-handoff

记忆与知识 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH 会话接力插件:提交按钮旁一键总结会话、固化记忆、生成交接文档并在新会话继续

一句话选型结论

按资料字段整理

dsh-session-handoff 是记忆与知识类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类记忆与知识 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-23 创建于 2026-10-22
README 8.9 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:yangsong608/dsh-session-handoff#v0.2.5
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

记忆文件读写

上游标签

deepseek-harnessdshdsh-pluginmemorypluginsession-handoffworkflow

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在记忆与知识场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-session-handoff当前 L5 · 运行验证通过 低风险 0 未标注 有
ruflo L3 · 安装规范通过 低风险 7.4 万 未标注 无
OpenViking L3 · 安装规范通过 低风险 3.9 万 未标注 无
WeKnora L4 · 沙盒安装通过 低风险 3.3 万 未标注 有
distilly L4 · 沙盒安装通过 低风险 2.5 万 未标注 有
EverOS L4 · 沙盒安装通过 低风险 1.3 万 未标注 有

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方yangsong608仓库 dsh-session-handoff · 默认分支 main
分类记忆与知识memory
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-22 · 2026-10-23最后推送 2026-10-23
本站收录2026-10-30首次进入本站目录的时间

README 全文

8.9 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-session-handoff · 会话接力

English | 简体中文

> 在 DSH 输入框的提交按钮旁多一个按钮:一键把当前会话「总结 → 固化记忆 → 写成交接文档 → 预览确认 → 带进新会话继续干」。




长任务跑到上下文快满、要换模型/换预设、要把手里的一摊活交给另一个会话或同事时,
最贵的不是「再开一个会话」,而是重新讲一遍已经发生了什么。

本插件把这一步做成一次点击:读取当前会话日志 → 确定性提取事实 → 让模型归纳成五段式交接 →
在会话工作目录写一份 WorkSummary.md(+ 机器可读 handoff.json + 记忆台账)→
弹出可编辑预览(提示词可改、参考文件可勾选)→ 确认后打开一个新会话,把摘要、交接文档路径与参考文件预填成第一句提示词。

  • 不删原会话、不 fork 历史:新会话是干净的,只携带「结论 + 文档指针」,token 成本可控。
  • 失败也能用:模型不可用/超时/输出不合法时自动降级为确定性摘要,文档照样生成。
  • 可审阅:生成后先弹预览卡,提示词可编辑、参考文件可勾选,确认才开新会话;也可关掉预览直接预填草稿。
  • 三个入口:按钮、Cmd/Ctrl+Shift+H(Linux 为 Cmd/Ctrl+Shift+.,因 DSH 把 primary+KeyH 视为保留键)、预览卡里的「打开新会话」。
  • 零运行时依赖:宿主半只用 node 内置模块,浏览器半只从宿主的 React 基线取模块。

体验路径

  1. 在任意会话里,输入框右侧、发送按钮附近会出现「接力」图标按钮;也可以按 Cmd/Ctrl+Shift+H。
  2. 点一下 → 按钮转圈(整理中)→ 弹出交接预览卡:一句话状态、下一步、记忆候选、文档路径、可编辑提示词、参考文件勾选。
  3. 改完点「打开新会话」→ 切到同一工作区的新会话,输入框里已经填好(可能被你改过的)交接提示词。
  4. 新会话的第一件事:读交接文档(绝对路径已写进提示词),然后从「下一步」第一项继续。
  5. 交接文档留在 <工作目录>/.dsh-handoff/<时间戳>-<标题>/WorkSummary.md,可归档、可交接给同事、可进 Git。
    预览卡还能「复制提示词 / 重新生成 / 复制文档路径」;preview: false 时退回 v0.1 的一键直达。

安装

# 从 npm(发布后)
dsh plugin --profile desktop add dsh-session-handoff

# 或从本地检出(开发态)
dsh plugin --profile desktop add link:/path/to/dsh-session-handoff

从市场/插件页安装通常可热加载;用 CLI 安装后如按钮未出现,刷新页面,仍没有则重启一次 DSH。
卸载:dsh plugin --profile desktop remove dsh-session-handoff。

配置(可选)

在 profile 的 bundle patch 里给这一行加 config:,全部字段可选:

- insert:
- id: session-handoff
name: dsh-session-handoff
config:
dir: .dsh-handoff          # 交接文档目录(相对会话 cwd)
writeMemory: true          # 写/合并记忆台账
preview: true              # true = 先弹可编辑预览;false = 直接开新会话(v0.1 行为)
autoSend: false            # 预览关闭时:true = 直接发送;false = 预填草稿
provider: ''               # 为空则沿用会话最后一次请求的路由
model: ''
maxTokens: 8192
maxInputChars: 80000
promptCharBudget: 6000

产物长什么样

<工作目录>/.dsh-handoff/
├── 20261023-031500-建立会话接力插件/
│   ├── WorkSummary.md      # 人读:五段式交接 + 工具活动附录
│   └── handoff.json        # 机器读:schema dsh-session-handoff/v1
└── 交接记忆.md              # 跨会话可复用的偏好/约定/事实(去重追加)

WorkSummary.md 固定包含:目标与意图 / 已完成 / 关键决策 / 当前状态 / 下一步 / 记忆候选 /
参考文件 / 工具活动附录。没有模型时,前四段由确定性规则生成并标注 generated_by: deterministic。

工作原理

[按钮 conversation.input.right]
│ POST /session-handoff/prepare { sessionId }        (x-dsh-handoff: 1 同源标记)
▼
[宿主半]  ctx.sessionQuery.readSession(sessionId)   ← 只读,不写会话日志
│       → 事实采集(用户诉求 / 助手进展 / 工具调用 / 失败 / 文件 / 路由)
│       → ctx.llm.stream 一次性归纳(JSON 协议,temperature 0,可取消)
│       → 渲染 + 原子写盘(WorkSummary.md / handoff.json / 记忆台账)
▼
{ promptText, docPath, dataPath, degraded[], stats }
│
▼
[浏览器半] uiWorkspace.startSession(undefined, { prompt })  ← 预填草稿(默认)
或 sessions.create → retain → prompt → openSession(autoSend)

细节、接缝证据与降级矩阵见 docs/03-技术设计.md。

安全边界

  • 只读会话:不向会话日志追加事件,不修改标题/压缩状态;写盘仅限当前会话 cwd 下配置目录。
  • 同源:POST 必须带 x-dsh-handoff: 1 且 Origin 与 Host 一致;不提供 CORS。
  • 不引入新外发通道:摘要走 DSH 已配置的模型路由;插件自身不联网。
  • 文件权限 0600、原子写、不覆盖:同名交接目录自动追加序号,绝不覆盖既有文档。
  • 记忆可控:只追加 memory 候选;重复内容不重复写;台账可随时人工删改。

开发与自检

pnpm install
pnpm run bundle             # lib/index.js(host) + lib/client.js(浏览器模块工厂)
pnpm run typecheck          # tsc --noEmit
pnpm run verify             # 32 项产物契约自检
node scripts/smoke.mjs      # 56 项宿主半端到端冒烟(假 ctx/严格代理 + 临时目录,不启动 DSH)
node scripts/smoke-client.mjs # 34 项浏览器半冒烟(真实 bundle + 真 React SSR + 严格 ctx)
node scripts/smoke-parity.mjs # 5 项提示词一致性(服务端 promptText ≡ 客户端 composePrompt)
pnpm run check              # 全部跑一遍

当前基线(DSH 0.2.1-rc.2 / node 24):tsc 0 错误、verify 32/32、宿主 smoke 56/56、浏览器 smoke:client 34/34、parity 5/5。

兼容性

  • DSH >=0.2.0-rc.1 <0.3.0-0(engines.dsh);实测基线 0.2.1-rc.2。
  • 缺少 sessionQuery 时退回活会话 deriveMessages()(降级标记 no-session-query);
    缺少 uiWorkspace.startSession 时退回 sessions.create + retain + prompt;
    缺少 LLM 路由时退回确定性摘要。
  • 依赖的座位 conversation.input.right 若在将来版本移除,会退回
    conversation.session.header.utilities;两者都缺失时浏览器半静默,宿主端点仍可用。

文档

文档 内容
01 DSH 插件机制分析 Cordis 两半模型、profile 装载、宿主/浏览器扩展面、会话数据模型、稳定性分级
02 同类插件调研 dshfind / GitHub 上 10+ 个相邻插件的能力对比与市场空白
03 技术设计 架构、接缝、数据流、协议、降级矩阵、成本与安全、测试
04 可行性分析 逐项诉求的技术验证、证据链、不确定性实验计划、替代方案对比
05 产品设计 定位、场景、交互规格、信息架构、指标、路线图
06 v0.2 实施计划与交付 设计项拆解、工作包验收、接口变更、测试矩阵、偏差记录

已知限制

  • 交接质量受源会话日志完整度影响;极端长会话会在输入预算处按「保头保尾」截断。
  • 预览卡默认开启;如更想一键直达,配 preview: false。参考文件勾选在手动编辑提示词后锁定(需重新生成才能改)。
  • 记忆台账目前是本插件自有格式(Markdown),与 dsh-mnemon 等记忆插件的自动同步在 v0.2。
  • autoSend 依赖半公开的 sessions.retain/prompt,DSH 内部改动时可能失效(自动回退草稿)。
  • 不做跨机器/跨用户传输:交接文档要不要进 Git、要不要发给别人,由用户决定。
  • npm 包名 dsh-session-handoff 已被一个无版本占位记录占用:正式发布(v1.0)将改用 scope(如 @yangsong608/dsh-session-handoff)或换名,插件/座位 id 不受影响。

License

MIT © 2026 yangsong608

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-session-handoff 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:yangsong608/dsh-session-handoff#v0.2.5` 即可。

dsh-session-handoff 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-session-handoff 安全吗?

低风险。

dsh-session-handoff 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-session-handoff 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

8 条
不同作者的仓库分开列,请确认你要装的是哪一个
记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

yangsong608 的其它插件

5 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。