Session Rail: View Environment and Git Changes by Session in the DSH Right Sidebar

前言

在 DeepSeek Harness(DSH)里做多 Session 开发时,工作目录、上下文占用、已装插件和未提交改动往往分散在不同界面或需要切页才能对齐。Session Rail 把 Environment、Context、Plugins、Git Changes 按固定顺序收进当前 Session 的右侧栏预览,并在同一处发起「让 Agent 提交工作区」或跳转到指定 Review 页查看 diff。下面介绍它的定位、能力与本地安装方式。

这是什么

Session Rail(session-rail,维护者 wzc520pyfm)是面向 DSH Web 的客户端插件:为每个 Session 提供右侧栏标签页,展示该 Session 范围内的环境信息、上下文投影、插件清单,以及工作区 Git 变更。它不替代 DSH 核心,而是读取 DSH 公开的只读数据并在浏览器侧组织展示;Git 提交由 Session 内 live Agent 通过常规工具完成,插件本身不 stage、commit、push,也不改文件。

社区目录页:https://www.skillhub.cn/plugins/wzc520pyfm/session-rail
源码与说明:https://github.com/wzc520pyfm/session-rail(MIT,当前 package 版本 0.1.2)

核心功能

Environment

展示当前 Session 的项目文件夹名、完整路径,以及当前 Git 分支。

Context

读取 DSH 的 token-meter 投影:在可用时显示 pressure、capacity;估算 system / tool / message 等类别;累计 provider 用量作为单独参考。投影值取决于当前 DSH composition,不可用项会明确标为不可用。

Plugins

插件名称及 enabled / runtime 状态来自 DSH 公开的只读插件清单。

Git Changes

列出 Session 工作区内变更文件、 staged / unstaged 状态与行数统计。

  • Commit changes:向该 Session 的 live Agent 发送固定用户消息 Commit the working tree changes with a sensible message.,由 Agent 按正常流程提交;Session Rail 不参与暂存或写库。
  • Review page:可在字段中选择 Review 页 kind(例如 codex-review)。候选项来自 DSH sidebarRightTabs registry 中已发布的活跃页签,也支持手输 kind;选择保存在浏览器 localStorage。若所选页不可用,会提示安装并回退到带边界的行内 unified diff。二进制文件只显示元数据,不渲染内容。

切换 Session 时,侧栏使用各自的工作区与上下文投影。入口包括右侧栏标签选择器,以及 Session 头上的小按钮。

安装与启用

依赖(README 原文):

  • DSH Web 需具备右侧栏 tab 相关包(@deepseek-ai/dsh-client-ui-sidebar-right 注入链路由插件 manifest 声明)。
  • DSH Host 上 Node.js >=22.19.0。

本地构建并安装(在插件包目录内执行):

npm install
npm run typecheck
npm run build
dsh plugin --profile web add "file:$PWD"

若 loader 未立即激活新条目,需重启或 reload DSH Web profile。

移除:

dsh plugin --profile web remove session-rail

资料中未给出从 GitHub 远程一键 dsh plugin add 的安装命令;请以 README 中的 file:$PWD 流程为准。

典型用法

  1. 在 DSH Web 中打开目标 Session,从右侧栏标签选择器或 Session 头按钮打开 Session Rail。
  2. 在 Environment 确认路径与分支是否与预期工作区一致。
  3. 在 Context 查看 token 压力与容量(若 composition 提供投影),辅助决定是否压缩上下文或换模型策略。
  4. 在 Plugins 核对当前 Session 可见的插件启用与 runtime 状态。
  5. 在 Git Changes 浏览变更列表;需要提交时点 Commit changes,由 Agent 生成合理 commit message 并执行提交。
  6. 点击某个变更文件:若已配置 Review page 且对应页可用,会打开该 kind 的 Review;否则查看行内 diff。按需在下拉或手输中调整 Review page kind,设置会留在本机 localStorage。

适用场景与注意

适合: 经常在 DSH Web 里切换 Session、需要快速对照「目录 / 分支 / 上下文 / 插件 / 未提交 diff」的开发者;希望在侧栏一键把提交意图交给 Agent、而不是自己跑 git 命令的用户。

注意:

  • 插件以当前 DSH 进程及 Web 客户端权限运行;安装前请阅读源码与 MIT 许可证,确认侧栏读取的数据与「Commit changes」触发的 Agent 行为符合你的安全与合规要求。
  • Context 与 Plugins 信息依赖 DSH 对外暴露的只读接口;composition 或版本差异可能导致部分字段长期不可用,属预期行为而非插件单独 bug。
  • Review 页依赖 sidebarRightTabs 生态;未安装对应 Review 插件时会回退 inline diff。
  • SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;星标与分类以目录页展示为准(客户端类,GitHub 1 stars)。

结尾

Session Rail 把 Session 级环境、上下文、插件清单和 Git 变更收束到 DSH 右侧栏,并区分「只读预览」与「通过 Agent 提交」的边界。需要详情与 issue 时见 GitHub:https://github.com/wzc520pyfm/session-rail ;目录入口:https://www.skillhub.cn/plugins/wzc520pyfm/session-rail 。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye