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

@morlay/better-session

Example dsh profile bundle: assembles @morlay/session-rdb and @morlay/ui-conversation-message-actions into a web profile — rewind / retry / fork closed loop on RDB persistence. 基于RDB持久化实现消息编辑、就地重试和派生新会话,适合需要灵活调整和管理对话历史的用户。

패키지
@morlay/better-session
호환성
미검증
Cordis peer 범위
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