dsh-brief-sidebar:将 DSH 会话简报渲染为右侧栏

前言

在 DSH 开发流程中,会话简报通常包含任务进展和产出物信息,但默认状态下这些信息分散或难以集中查看。dsh-brief-sidebar 插件解决了这个问题,它作为一个 dsh-better-sidebar 的消费方,将简报内容以“概要”标签的形式渲染在右侧边栏,并遮蔽官方的 todo 面板,使其成为任务进度的唯一可见载体。

核心功能

  1. 右侧栏概要标签:将会话简报渲染为右侧边栏内的一个摘要标签页。
  2. 双列表展示:
    - 进展看板:展示 todos 投影的任务进度,包含三态与摘要。
    - 产物列表:展示 dshSummaryDeliverables 投影的产出物,实时显示成功写入的文件,codeplan 规划产物会有“规划”标签。
  3. 遮蔽官方面板:当 better-sidebar 激活时,该插件会通过注册优先级竞争,遮蔽官方 composer-band 顶部的 todo 面板。
  4. 只读模式:仅提供展示,不支持编辑、写回或多会话聚合。

安装

安装前请确保 DSH 版本在 0.2.0 线上(engines.dsh >=0.2.0-rc.1)。

dsh plugin --profile web add dsh-brief-sidebar@dsh-0.2.0

安装后刷新页面即可生效。

使用方法

  1. 安装完成后,右侧边栏会出现“概要”标签页。
  2. 在“概要”标签页中查看当前会话的任务进展和产出物列表。
  3. 点击产物列表中的文件路径,会通过 ctx.sidebarRight.openResource 在侧边栏中打开对应资源。

设计要点

  • 数据链路:插件不依赖框架的 useProjection,而是直接通过 ctx.get('sessions') 获取 SessionBinding 和投影面(ProjectionsFace),分别解析 todos 和 dshSummaryDeliverables。
  • 遮蔽逻辑:利用 SlotCore 的注册机制,以 priority: -1 注册 id: 'todo' 的条目,使其优先级高于官方默认的 order: 0,从而在 better-sidebar 激活时实现遮蔽。
  • 产物折叠:产物列表的折叠口径与官方 turn-deliverables 保持一致,仅统计成功写入(write/edit/str_replace_editor)的文件,去重并忽略失败项。
  • 点击打开:产物路径点击后,走与对话流同一条 Sidebar 预览通道(fileAddressFor),支持相对路径和绝对路径。

限制与注意事项

  • 只读限制:插件不做任何编辑或写回操作,也不复制第三方渲染层,确保数据流向单一。
  • 兼容性:仅支持 DSH 0.2.0 线。在 0.1.x 线上,如果 better-sidebar 未激活,该插件处于 inert 状态(不渲染标签,不报错)。
  • 记忆分区:简报的第三个分区“记忆召回”目前仅预留布局插槽,处于规划中,本期不渲染。

总结

dsh-brief-sidebar 为 DSH 会话提供了一个清晰的、只读的概览视图。通过将任务看板和产物列表集中在右侧栏,开发者可以更直观地追踪会话进展和产出物,而无需在官方面板和简报之间切换。

  • 仓库地址:https://github.com/drscrewdriver/dsh-brief-sidebar
  • 目录页:https://www.skillhub.cn/plugins/drscrewdriver/dsh-brief-sidebar
羽毛球分组比赛记分
小程序二维码

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

小夜