morlay/dsh-plugin--packages-session-better-session ↗★ 9

@morlay/better-session

集成撤回、重试和分支会话的完整闭环 基于RDB持久化实现消息编辑、就地重试和派生新会话,适合需要灵活调整和管理对话历史的用户。

套件
@morlay/better-session
相容性
待驗證
Cordis 依賴範圍
workspace:*
版本
0.0.21-alpha.4
授權
MIT
最近更新
2026年9月20日

同名套件的其他儲存庫

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:morlay/dsh-plugin#17db2e513964877a60c0d965cb6696c6539337f8&path:packages/session/better-session

使用

装配后即可在 GUI 会话中:

  • 编辑 user 消息 → 撤回该消息及其后内容到输入框(rewind,不重放),用户改后自行发送(带确认弹窗)
  • 重试 任意闭合回合 → 就地重放该回合输入(带确认弹窗)
  • 分支(fork)→ 从任意闭合边界派生新会话

也可以直接调用服务:

// 编排层(host)
await ctx.sessionEditor.retry({ action: "retry", sessionId, turn: 2, cascade: "truncate" });
// 数据层
await ctx.sessionBranch.rewind(sessionId, 5);
await ctx.sessionBranch.forkFrom(sourceId, { atSeq: 6, childSessionId });

配置(rdb)

默认配置为 SQLite($DSH_HOME/sessions/sessions.sqlite)。在 $DSH_HOME/settings.yaml 覆盖 session-rdb namespace:

session-rdb:
  type: sqlite # 或 postgres + connectionString
  path: /abs/path/to/sessions.sqlite