
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-session-tree
Advanced tools
dsh-session-tree 是一个可安装的 DeepSeek Harness(DSH)浏览器端插件。它将 DSH 原生 Session fork 呈现为不可变的对话版本树,并允许用户从任意已加载且已完成的对话轮次创建子分支。
[!IMPORTANT] 非官方社区插件。 本项目由社区独立开发,不隶属于 DeepSeek,也未经 DeepSeek 背书或维护。DSH 与本插件均处于预发布阶段;升级前请审阅变更,并备份重要的 DSH profile 与 Session 数据。
源码仓库:github.com/ZhengQingJing/dsh-session-tree
当前版本支持:
0.1.0-rc.5(审计基线 47f9438)。0.1.0-rc.5 和 0.1.0-rc.6。^22.19.0 || >=24.0.0。DSH 尚处于开发者预览阶段。为避免在未来 API 变更上作出不安全的假设,本插件的 peer dependency 仅允许上述两个已验证的预发布版本。
SessionSummary.parentId 投影为确定性的当前对话家族树。ctx.sessions.fork({ sessionId, atSeq }) 创建子 Session,然后打开新对话。插件不定义自有 SessionEvent 类型,也不维护独立的分支数据库。卸载插件后,已创建的分支仍是普通、可读的 DSH Session。
turn/end 检查点。increaseTitle,避免子 Session 已发布后又因标题修改失败而产生额外的部分成功状态。以下命令安装到 DSH 的 web profile。dsh plugin 会把包管理参数转发给 pnpm,因此需要先确保 dsh 和 pnpm 都在 PATH 中。
首个 beta 当前以 GitHub Release 的预编译 tarball 为准。npm next 渠道将在仓库的 Trusted Publisher 配置完成后启用;在 npm registry 确实列出该版本之前,请使用下方 Release tarball,不要假定包名已经可安装。
安装 next 渠道中的最新预发布版本:
dsh plugin --profile web add dsh-session-tree@next
如需固定本次发布版本:
dsh plugin --profile web add dsh-session-tree@0.1.0-beta.1
固定到已审阅的 release tag;更严格的供应链要求下,请将 tag 换成已核验的完整 commit SHA:
dsh plugin --profile web add github:ZhengQingJing/dsh-session-tree#v0.1.0-beta.1
Git 安装会以当前用户权限、在 agent sandbox 之外执行仓库的 prepare 构建脚本。请在授权前审阅 tag/commit、package.json、锁文件和 prepare 脚本。pnpm 10 及以上版本默认会拦截这类依赖构建;首次 add 可能按预期失败,并打印 allowBuilds 键及实际 profile 中 pnpm-workspace.yaml 的路径。只把 pnpm 输出的精确包键加入该文件的 allowBuilds,然后重跑同一条命令;不要开启全局允许所有构建脚本的选项。预编译的 npm 包或 release tarball 不需要这项授权。
从 Releases 下载 dsh-session-tree-0.1.0-beta.1.tgz,先对照该 release 提供的校验值,再执行:
dsh plugin --profile web add ./dsh-session-tree-0.1.0-beta.1.tgz
也可以自行构建预编译 tarball。本项目使用 pnpm 11.7.0:
git clone https://github.com/ZhengQingJing/dsh-session-tree.git
cd dsh-session-tree
pnpm install --frozen-lockfile
pnpm run verify
pnpm pack
随后把 pnpm pack 输出的实际 .tgz 路径传给 dsh plugin --profile web add。
dsh --profile web --dump-config
dsh --profile web
确认配置中包含 dsh-session-tree。添加、更新或移除插件后,请重启 DSH 并重新加载浏览器页面;当前 DSH 浏览器端静态包 roster 不支持完整的热安装或热卸载。
在 npm registry 已列出对应版本后,可跟随 next 渠道更新:
dsh plugin --profile web update dsh-session-tree@next
如需锁定版本,改用 add dsh-session-tree@<version>。GitHub 安装请把原命令中的 tag/commit 换成已审阅的新版本后重新执行;tarball 安装请下载、校验并 add 新文件。更新后务必重启 DSH。
dsh plugin --profile web remove dsh-session-tree
随后重启 DSH。卸载只移除插件 UI 和配置层,不会删除已经创建的原生 DSH 子 Session。
页面只列出当前已加载历史窗口中的轮次。如果目标检查点尚未出现,请选择 加载更早轮次 / Load earlier turns。
pnpm run typecheck
pnpm run test
pnpm run build
pnpm run check:bundle
pnpm run pack:check
pnpm run verify 会依次运行类型检查、测试、构建与 bundle 校验。
浏览器产物不是普通的 CommonJS bundle。lib/client.js 会被包装为 DSH module-loader factory,通过冻结的平台模块表共享 React、Cordis 和 UI 模块实例。CSS Modules 会被编译并带有插件归属标记,因此 DSH 可以随插件 fiber 移除样式。
当前实现已经过以下验证:
seedLength 或解析后的 fork 边界,因此版本树无法低成本地在子边上标注精确源 seq。conversation.chat.turnTail 链插入操作,因为这会替换 Produced Files 等其他 chain contributor。生产级事务设计与强化计划详见 ./docs/DSH_SESSION_TREE_DESIGN.md。
FAQs
Git-like immutable session lineage for DeepSeek Harness
We found that dsh-session-tree demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.