前言¶
在 DeepSeek Harness(DSH)里排查一轮对话,往往要在「对话」页里上下滚动,工具调用的参数和结果又散落在不同 UI 区块里;要把整段记录贴进文档或 Issue,还得手工拼接。社区插件 @tinyforge/dsh-session-norms(仓库 phoenixlucky/dsh-session-norms)在会话上方增加「规范视图」标签页,按轮次汇总用户消息、助手回复与工具调用,并提供整份记录的 Markdown 复制;同时在「对话」页注入排版规则,让标题、列表、代码块与表格在同一套观感下阅读,并为已定稿的助手回复增加「复制为 Markdown」。下面介绍它的定位、能力与安装用法。
这是什么¶
dsh-session-norms 是 DSH 的客户端插件:维护者为 phoenixlucky,npm 包名为 @tinyforge/dsh-session-norms,当前版本 1.3.1,MIT 许可证。它在不改变会话数据的前提下,把当前 Session 的事件流整理成可读的规范化 transcript,并在浏览器侧注册 conversation.view 的 norms 视图;README 英文摘要为:在统一、可复制的格式中渲染每一轮、每条消息与每次工具调用。
核心功能¶
规范视图标签页¶
宿主侧(index.js)监听已提交的会话事件(如 turn/start、user/message、assistant/message、tool/call、tool/result、turn/end),折叠成规范化记录,经会话投影 sessionNorms 发给界面。浏览器侧(client.js)注册「规范视图」:
- 顶部展示轮次、消息、工具调用、错误数量等汇总。
- 正文按「第 N 轮」分组,逐条显示用户消息、助手回复与工具调用(名称、参数、结果状态、时间)。
- 超长消息与工具结果默认折叠,可点「展开全文」;点「复制 Markdown」导出与视图一致的整份 Markdown。
视图是只读的:不写入会话事件。汇总随回合推进增量刷新。为控制体量,最多保留最近 200 行,单条消息文本最多 3000 字符,超出时在视图底部提示。
对话页 Markdown 排版¶
插件不接管 Markdown 渲染器(不注册 conversation.chat.node 的 keyed cell),仅注入样式,作用域为 Markdown 根节点的 CSS Modules 类;颜色取自 --dsw-alias-* 主题变量,深浅色与界面语言(中文 / English)随主题与 locale 切换。
- 标题层级、段落与列表、代码块、引用按统一规则呈现。
- 表格铺满阅读列并与正文、输入框同宽;表头与隔行使用浅层底色,单元格可换行。列宽合计超过阅读列时,横向滚动限制在表格容器内,避免整页出现横向滚动条。
- 三列及以上表格:脚本按实际布局宽度判断;放不下或阅读列窄于 600px 时,将表头写入单元格的
data-sn-label,切成「标签 + 值」卡片,不再依赖宽表横向滚动。
单条助手回复复制¶
在 conversation.chat.assistant-actions 中追加图标按钮「复制为 Markdown」:从 useChat 读取该条已定稿回复的文本块,原样写入剪贴板(表格、列表、代码块、引用保持源码形态)。流式输出或中断内容没有 messageId,不显示该按钮。
安装与启用¶
从 npm 安装。在 DSH 插件页「添加插件」中输入包名,或执行:
dsh plugin --profile desktop add @tinyforge/dsh-session-norms
旧的无作用域包 dsh-session-norms 已弃用,请改用 @tinyforge/dsh-session-norms。
装好后重启 DSH,会话上方视图标签栏会出现「规范视图」。
固定版本或本地开发安装仍可用,但不参与在线更新(见下一节):
dsh plugin --profile desktop add git+https://github.com/phoenixlucky/dsh-session-norms.git#v1.3.1
更新¶
仅 npm 注册表安装可在插件详情页的「版本」区块点「更新到 x.y.z」;工具栏「刷新」会重新检查新版本。Git 或本地路径安装的包不显示该区块,需先 remove 再按固定版本 add。
卸载¶
在「插件」页面停用并卸载 @tinyforge/dsh-session-norms,规范视图标签页会一并消失。
典型用法¶
- 打开任意会话,点会话上方的 规范视图。
- 查看按轮次分组的完整 transcript;需要归档或贴文档时,使用顶部的 复制 Markdown。
- 日常仍在 对话 页交流即可——排版规则在插件挂载后自动生效;某条助手回复定稿后,在操作行点 复制为 Markdown 取单条源码。
适用场景与注意¶
适合:需要可读、可导出的会话全貌(含工具调用细节);希望在对话页统一 Markdown 与表格阅读体验、减少宽表撑破布局的开发者。
兼容性:README 写明已在 DSH 0.2.2-alpha.2 上验证;package.json 中 engines.dsh 为 >=0.2.2-alpha.2 <0.3.0-0,其他版本未验证。
安全与权限:DSH 插件在当前 DSH 进程权限下运行。安装前建议阅读 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。社区目录 skillhub.cn 插件页 为独立生态站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
@tinyforge/dsh-session-norms 把「看全会话」和「导出 Markdown」收到一个规范视图里,并在对话页补齐排版与单条复制,对调试智能体、写技术记录较省事。目录页:https://www.skillhub.cn/plugins/phoenixlucky/dsh-session-norms;源码与完整说明:https://github.com/phoenixlucky/dsh-session-norms。