前言¶
在 DSH Web 里长时间跑会话时,Chat 是一条线性的消息列表:你能逐条读对话,却很难一眼回答「我离开这段时间发生了什么」「哪几个 turn 吃掉了 token」「哪些工具失败后再也没重试」。Trajectory 更偏轨迹细节,同样不会把文件改动次数、墙钟时间分布、待你审批的事项收成一张可读摘要。
下面介绍社区插件 dsh-morning-paper(维护者 damlys99,目录分类为「记忆」):在 Conversation View 里增加名为 Morning Paper 的标签页,与 Chat、Trajectory 并列;内容全部从持久事件日志计算得出,不由模型生成,也不占用你的上下文。
这是什么¶
一句话定位:你离开后又回到会话时的一页「头版」——发生了什么、哪里坏了、还有什么在等你。
数据来源是会话的可 durable event log。插件自述强调:briefing 是 computed,never written by a model;同一日志与同一时钟下输出字节级一致,零 token、无幻觉。页面是派生状态,不调用 inject()、不追加 session event、不向模型发送任何内容;唯一写入 transcript 的路径是你主动执行的 /briefing 命令(README 称 selftest 会断言这一点)。
核心功能¶
Conversation View 里的报纸式标签页¶
Morning Paper 是真实的 Conversation View 标签页,版式按报纸组织:报头(masthead)、日期行(dateline)、待办公告框(action bulletin)、带首字下沉的导语(lede)、分栏与脚注式小字(small print)。
同一套 briefing 有两种呈现:
- 标签页:分页渲染为三页「报纸」;
- 命令
/briefing:在 transcript 里打印同一份文档的纯文本连续栏(transcript 不能翻页,分页只是展示,不是另一套数据)。
三页分别承载什么¶
有内容才出页;安静的会话可能只有一页,不会硬凑三页空白。
| 页 | 内容 |
|---|---|
| 1 · Front | 待办公告、一行导语(outcome)、活动摘要(what it did)、你说过的话(what you asked)、上下文压力(weather) |
| 2 · The Log | 按 turn 的时间线(耗时、步数、工具数、token、结果)、未解决失败及失败命令、corrections 行 |
| 3 · The Ledger | 文件改动次数、交付物、时间花在哪(工具执行 vs 模型时间)、token 花在哪(按 turn 排序) |
导语 deliberately 不引用 agent 的回复——Chat 里能读到的复述会让 briefing 失去价值;导语是一行结果(例如 Turn 17 completed. 或 turn 结束为 blocked 时在等你)。
相对 Chat 多出来的事实¶
README 归纳了线性聊天无法直接给出的聚合信息,例如:
- 哪些文件被反复改动(如
12x src/auth/session.ts); - 墙钟时间分布:各工具执行时间、最长单次调用、工具执行占窗口比例 vs 模型思考时间;
- 哪个 turn 占窗口 token 比例最大;
- 失败且从未重试的工具调用(同一工具失败后又有成功则视为已处理);
- 从你发出的消息里筛出的「你之前要什么」。
两个阅读范围¶
头版要回答两个问题,因此有两种读法:
| 问题 | 数据来源 |
|---|---|
| 我离开期间发生了什么? | 仅浏览器上次展示 seq 之后的事件 |
| 现在有什么需要我? | 整段日志——离开前就在等的审批、一小时前 blocked 的 turn 仍然 blocked |
Fork 继承的事件不计入「发生了什么」的计数,并在 notes 行说明;readSession 会报告继承前缀长度,避免把 fork 来的工作算进当前会话。
安装与启用¶
插件面向 DSH Web profile。官方安装命令如下(来自 README):
dsh plugin --profile web add -w dsh-morning-paper
# restart dsh web, then reload the page
要求 DSH 版本 >=0.1.2-alpha.1 <0.2.0-0(package.json 的 engines.dsh 与 README 一致)。安装后配置行会自动写入 profile;因 host 模块与 client bundle 在启动时组装,需要重启 dsh web 再刷新页面。README 说明 patchReload: live 只监视 patch 文件,不能替代这次重启。
卸载:
dsh plugin --profile web remove dsh-morning-paper
npm 包当前版本为 0.1.1(见 package.json),许可证 MIT,Node >=20。
典型用法¶
离开会话再回来¶
在 Web profile 下启动 DSH 并保持会话标签打开,例如:
dsh --profile web
一段时间后回到浏览器,打开 Morning Paper 标签即可看到头版:离开时长、事件数、墙钟窗口、当前 turn、是否需要 action 等会出现在报头区域(README 示例中有 away 42m | 751 event(s) | … | 0 action(s) required 一类行)。
在 transcript 里要同一份 briefing¶
需要可复制、可搜索的纯文本时,在会话里执行:
/briefing
输出形状与 README 中的示例一致(LEAD、WHAT IT DID、TURNS、FILES、WHERE THE TIME WENT、WHERE THE MONEY WENT、BUSINESS、CORRECTIONS、UNRESOLVED、YOU ASKED、WEATHER 等区块)。若你希望 agent 用自然语言再写一段说明,README 建议用 /briefing 再配合 agent;本插件本身不提供模型生成的 prose。
适用场景与注意¶
适合谁: 经常在 DSH Web 里开长会话、需要快速复盘「离开期间」与「当前卡点」的开发者;关心 token 分布、工具失败与未重试项、文件 churn 时,Ledger 与 Log 页比逐条翻 Chat 更直接。
信任边界: 内容来自日志聚合,不是模型摘要;若日志不完整或 fork 边界理解有误,应以 Trajectory / 原始事件为准核对。
安全与权限: 插件随当前 dsh 进程加载与运行,能访问该进程有权读写的会话与配置。安装前建议在 GitHub 查看源码与 MIT 许可证,确认符合你的环境策略。社区目录 SkillHub 插件页 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系;DSH 生态是「一切皆插件」,目录站是独立入口,不是官方应用商店。
结尾¶
dsh-morning-paper 把持久会话日志收成一张可翻的「晨报」:发生了什么、什么坏了、什么在等你——计算得出、不进上下文、Chat 里看不到的聚合在一处呈现。需要纯文本时用 /briefing。
- 目录页:https://www.skillhub.cn/plugins/damlys99/dsh-morning-paper
- GitHub:https://github.com/damlys99/dsh-morning-paper