morlay/dsh-plugin--packages-session-ui-conversation-message-actions ↗★ 9
@morlay/ui-conversation-message-actions
提供会话编辑编排层与用户消息操作按钮 在用户消息气泡上直接挂载编辑和重试入口,适合需要直观进行会话分支和重试操作的用户。
同名包的其他仓库
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:morlay/dsh-plugin#17db2e513964877a60c0d965cb6696c6539337f8&path:packages/session/ui-conversation-message-actions说明文档
阅读完整 README ↗@morlay/ui-conversation-message-actions
rewind / retry / recall / fork 的编排层:在 @morlay/session-branch 的 provider 抽象之上组装完整功能(产品语义
对齐 dsh-message-edit),并提供浏览器半(client bundle):替换
conversation.chat.node 的 user / steering 渲染(在 user 消息行内直接挂编辑 / 重试入口),并覆盖
conversation.composer.dock 的 stats 行(composer 统计:修好的 token 口径 + data-composer-stats)。
用法
装配只需在 profile 的 dsh.profile.bundles 里列出本包——本包自带 bundle patch
(cordis.patch.yml)插入插件行并注册 ctx.sessionEditor。依赖 ctx.sessionBranch /
ctx.sessionPersistence(需先装配 provider 实现,如 @morlay/session-rdb)与 ctx.sessions;agents 可选,缺失时
重放退化为「已 durable 的就地版本」。
// host:装配后直接调服务
await ctx.sessionEditor.retry({ action: "retry", sessionId, turn: 2, cascade: "truncate" });
const result = await ctx.sessionEditor.retry({ sessionId, turn, cascade: "truncate" });
HTTP 面:POST /session-editor(注册面与页面侧路径口径见
设计 20260917-编排层操作语义)。
结论
edit / retry / reroll 就地重写同一会话(session id 不变),只有 fork 派生新 id;recall 只截断并把文本
交回 composer,由用户改后自己发
(ADR 就地编辑重写同一会话而非新建会话)。
文档
- 操作语义全文(服务面 / 就地编辑 / agent 驱动 / 浏览器半 / 分层边界): 设计 20260917-编排层操作语义
- 决策:
.agents/adrs/(接管官方ui-conversation行、client bundle 单文件与 shadow 渲染、引用解析、 编辑入口门控…) - 接缝、测试落点与未覆盖:本包规范 how-to-verify
- 整体设计:设计 20260917-系统设计