OpenViking
volcengine
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:ZhengQingJing/dsh-session-tree
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
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 中。
npm 包是预编译制品,安装时不需要授权本地构建脚本。0.1.0-beta.2 起由 GitHub Actions Trusted Publisher 使用短期 OIDC 凭据发布,不在仓库中保存 npm token,并自动生成 provenance。
安装 next 渠道中的最新预发布版本:
dsh plugin --profile web add dsh-session-tree@next
如需固定本次发布版本:
dsh plugin --profile web add dsh-session-tree@0.1.0-beta.2
固定到已审阅的 release tag;更严格的供应链要求下,请将 tag 换成已核验的完整 commit SHA:
dsh plugin --profile web add github:ZhengQingJing/dsh-session-tree#v0.1.0-beta.2
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.2.tgz,先对照该 release 提供的校验值,再执行:
dsh plugin --profile web add ./dsh-session-tree-0.1.0-beta.2.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 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。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: conversation、session-management。