Skip to content

Releases: Tinger-X/dsh-session-enhance

v0.2.9

Choose a tag to compare

@Tinger-X Tinger-X released this 07 Sep 02:19
b74484e

v0.2.9

  • 🌳 对话树(Conversation Tree):会话不再是一条线,而是一棵树——每一轮提问是一个节点
    • 在任意已完成回答处点击「重新生成」,或把历史提问改为新表述后「修改并重新生成」,都会在同一会话内长出新的分支;旧回答被完整保留,随时可以切回
    • 会话视图左侧的树形概览:节点按分支着色、对应每一轮提问,悬浮查看该轮内容、点击跳转
    • 在分叉点用 ‹ n/m › 控件在不同分支的续写之间自由切换
    • 回答仍在生成时发起的分支操作会自动排队,生成结束后自动重放
    • 安全保护:会改写既有子分支的危险操作一律拒绝,绝不产生悬空或丢失内容
  • 对话树持久化模型:sidecar session.tree.json 保存分支元数据与非活动分支的事件段,主干日志始终是当前活动分支的合法线性记录;分支切换/重生成在同一会话内原地完成,不触发会话销毁与重开
  • 截图与文档:新增对话树截图;刷新会话菜单 / 基础设置 / 归档管理 / 对话预览截图;README 双语重写,同步更新仓库说明

安装:dsh plugin --profile web add dsh-session-enhance(npm dsh-session-enhance@0.2.9)

仓库:https://github.com/Tinger-X/dsh-session-enhance

v0.2.8

Choose a tag to compare

@Tinger-X Tinger-X released this 04 Sep 03:58
a4ea774

v0.2.8

  • 新增 preview 域:Markdown 预览(lib/domains/preview.js)
  • 设置页增强:客户端设置界面重构与扩展(src/client/settings.js)
  • 客户端与契约层更新:client.js、shared/contracts(invocations / schemas)
  • 工作区逻辑增强(lib/workspace.js)
  • 测试同步更新

安装:dsh plugin --profile web add dsh-session-enhance(npm dsh-session-enhance@0.2.8)

仓库:https://github.com/Tinger-X/dsh-session-enhance

v0.2.7

Choose a tag to compare

@Tinger-X Tinger-X released this 31 Aug 02:05
ac4892a

What's New in v0.2.7

  • Workspace sweep: after deleting the last session of a workspace, leftover empty workspace directories under ~/sessions (e.g. sessions/--D-tmp--) are now cleaned up. Only truly empty directories are removed — never anything with content — so in-use workspace transcripts are never touched. Exposed in the archive/sync flows.
  • Hardening of client / settings / shared contracts (invocations & schemas) with new workspace-sweep tests.

Features included (cumulative)

Full-control session management for DeepSeek Harness Web — every operation is a real filesystem change, verified against disk, rolled back on failure. The sidebar and the files can no longer disagree.

Feature What it does
Archive management Archive from the sidebar menu; search / sort / filter / restore / batch-delete in 设置 → 对话增强 → 归档管理
Physical delete with receipts Transcript directory removed (3 retries for Windows handle release) + direct ~/storages/*.json sweep + post-delete disk verification with leftover warnings; tombstones block stale lists from resurrecting sessions
Drag between workspaces Files physically move, transcript header cwd rewritten (zstd-frame-aware), verified, auto-rolled-back on failure; subagent children cascade, projection cache rehomed so the title survives; running sessions are flushed + detached first
Conversation notifications A background conversation finishing or needing your input pops a system notification
Copy session ID One click in the sidebar menu, also on archived sessions
Sync records (同步记录) One-click reconcile of ~/storages/*.json against disk: purge ghosts, fix attribution, restore missing entries
Workspace sweep Empty workspace directories left after deleting a workspace's last session are cleaned up (never touches non-empty dirs)
Settings .dsh home directory + notification toggle in 设置 → 对话增强 → 基础设置

Install

# From npm (stable)
dsh plugin --profile web add dsh-session-enhance

# From GitHub (latest commit)
dsh plugin --profile web add github:Tinger-X/dsh-session-enhance

Requires Node ^22.19.0 || >=24.0.0 and a working DSH Web profile. Restart DSH Web, hard-refresh (Ctrl+F5) — 对话增强 appears in Settings right after Connectors.

Links

v0.2.6

Choose a tag to compare

@Tinger-X Tinger-X released this 31 Aug 02:20

v0.2.6

  • Fix: Allow esbuild build scripts to run on pnpm 11 (resolves ERR_PNPM_IGNORED_BUILDS during install/build).
  • Refactor: Source-ify the client bundle into src/client ESM modules; split the workspace registry into domain modules; add an upstream anti-corruption layer (sessions/agents/spill gates); extract a shared contracts layer (schemas/typert/constants).

Install:

dsh plugin --profile web add dsh-session-enhance

v0.2.5

Choose a tag to compare

@Tinger-X Tinger-X released this 31 Aug 02:20

v0.2.5

  • Feat: Rework Conversation-Enhance settings into collapsible categories.
  • CI: upgrade Actions to Node 24 runtimes; fix pnpm version mismatch in the publish workflow.

Install:

dsh plugin --profile web add dsh-session-enhance

v0.2.4

Choose a tag to compare

@Tinger-X Tinger-X released this 31 Aug 02:20

v0.2.4

  • Feat: Conversation notifications — a background conversation finishing or needing your input pops a system notification while you are elsewhere.
  • Feat: Settings menu upgraded to "Conversation Enhance" with basic settings (.dsh home directory + notification toggle).
  • Fix: Warm uncached session projections and reconcile moved-session identities on startup (restart no longer shows the workspace name instead of the title).
  • CI: switch npm publishing to OIDC Trusted Publishing.

Install:

dsh plugin --profile web add dsh-session-enhance

v0.2.1

Choose a tag to compare

@Tinger-X Tinger-X released this 31 Aug 02:20
bc7b29b

v0.2.1

  • Feat: Copy session ID — one-click copy from the sidebar session menu.
  • Docs: add screenshots for archived sessions and the sidebar archive menu.

Install:

dsh plugin --profile web add dsh-session-enhance

v0.2.0

Choose a tag to compare

@Tinger-X Tinger-X released this 26 Aug 03:41

dsh-session-enhance v0.2.0

DeepSeek Harness Web 会话管理增强插件:归档管理、真实物理删除、拖拽跨工作区移动、消息编辑、记录同步。

✨ 本版亮点(相对 v0.1.1)

  • ✏️ 融合 dsh-message-edit — 消息编辑:会话 Timeline 视图可编辑任意用户/助手文本块、重试某个回合、重新生成最近一次回复;每次操作分叉为可逆版本分支(截断或保留下游回合),完整版本树导航 + undo/redo;/message-edit 路由与既有 message-edit/version 事件完全兼容。
  • 🐛 修复跨工作区移动会话的显示与继续对话 bug:移动后会话在侧栏正确显示于目标工作区、可正常继续对话(含转录目录物理迁移、工件 header cwd 改写、投影缓存与持久化状态刷新)。

🗂 核心能力(延续 0.1.x)

  • 归档管理:侧栏菜单归档;设置 → 归档管理 搜索 / 排序 / 按工作区筛选 / 批量恢复 / 确认后删除。
  • 真实物理删除:转录目录删除(3 次重试)+ 子代理级联 + spill 清理 + 直接清扫 ~/storages/*.json(原子写)+ 删除后磁盘验证。
  • 跨工作区分组拖拽搬移:转录文件真实迁移 + 工件 header cwd 改写(zstd 帧布局感知,失败自动回滚);实时会话先 flush 再移动。
  • 同步记录:按物理 session 文件对账 storages/*.json(清理幽灵 / 修正归属 / 补记漏记)。
  • 墓碑防复活机制。

📅 后续开发计划(Roadmap)

  • 修复现有已知 bug:跨工作区移动的边界场景(实时会话移动、冷会话并发写)、消息编辑与归档/删除联动的细节、设置页大批量会话下的性能优化。
  • 新增:对话节点删除功能:在 Timeline 中删除任意消息节点(含分支节点),支持整支删除与单节点删除,删除操作同样纳入可逆版本分支体系。

⚙️ Compatibility

DSH >=0.1.0-rc.5 <0.2.0(开发基于 0.1.1-rc.2)· Node ^22.19 || >=24 · Apache-2.0

📦 Install

dsh plugin --profile web add dsh-session-enhance
# 或直接从 GitHub:
dsh plugin --profile web add github:Tinger-X/dsh-session-enhance

v0.1.1

Choose a tag to compare

@Tinger-X Tinger-X released this 25 Aug 11:13

dsh-session-enhance v0.1.1

DeepSeek Harness Web 会话管理增强插件:归档管理、真实物理删除、拖拽跨工作区移动、记录同步。

✨ Features

  • 🗂️ 归档管理 — 侧栏菜单归档;Settings → 归档管理:搜索 / 排序 / 按工作区筛选 / 批量恢复 / 确认后删除
  • 🗑️ 真实物理删除 — 转录目录删除(3 次重试,应对 Windows 句柄延迟)+ 子代理级联 + spill 清理 + 直接清扫 ~/storages/*.json(原子写)+ 删除后磁盘验证
  • 🖱️ 拖拽修改归属 — 会话拖到其他工作区分组,转录文件真实搬移,工件 header cwd 同步改写(zstd 帧布局感知,失败自动回滚);实时会话先 flush 再移动
  • 🔄 同步记录 — 按物理 session 文件对账 storages/*.json:清理幽灵记录、修正错误归属、补记漏记
  • 🛡 数据安全 — 删除墓碑防 stale list 复活;处处原子写;全程日志

⚙️ Compatibility

DSH >=0.1.0-rc.5 <0.2.0(开发基于 0.1.1-rc.2)· Node ^22.19 || >=24 · Apache-2.0

📦 Install

dsh plugin --profile web add dsh-session-enhance
# 或直接从 GitHub:
dsh plugin --profile web add github:Tinger-X/dsh-session-enhance

v0.1.0

Choose a tag to compare

@Tinger-X Tinger-X released this 25 Aug 08:16

v0.1.0

A community plugin, derived from @michengai/dsh-archive-manager (Apache-2.0) and hardened into a session management toolkit: every action is a real filesystem operation, every deletion is verifiable, and every record in ~/storages/*.json is guaranteed to match the physical session files on disk.

✨ Highlights

Feature What you get
🗂️ Archive management Archive from the sidebar session menu; manage everything in Settings → 归档管理: search, sort by time/title, filter by workspace, unarchive, restore per project / all, batch delete with confirmation.
🗑️ True physical deletion Deletes the actual transcript directory (with retry against Windows handle delays), cascades SUBAGENT children, cleans spill, and directly sweeps ~/storages/*.json so no ghost record survives — then verifies the disk and warns about leftovers.
🖱️ Drag & drop reassignment Drag a session onto another workspace group (or ungrouped) in the sidebar. The transcript files physically move to the target workspace's session directory, and the artifact header's cwd is rewritten — accounting-only moves that silently drop sessions from the sidebar are impossible.
🔄 Record sync One click reconciles ~/storages/*.json against the physical session files: ghosts are purged, misattributed sessions are corrected, missing accounting is restored. Immune to manual file edits or deletions.

🧩 Why not the stock archive manager?

Capability Stock DSH / basic archive plugins dsh-session-manager
Archive / unarchive / batch restore ✅ ✅ (same semantics)
Delete removes the transcript directory ⚠️ single rm, no retry ✅ 3 retry attempts (Windows handle release)
~/storages/*.json consistency after delete ⚠️ relies on the async service write chain ✅ direct disk sweep: recursive trace removal (archivedSessionIds, workspace sessionIds, projection-cache rows), atomic tmp+rename, untouched when unchanged
Post-delete verification ❌ ✅ verifyDeleted remote + logged leftover paths
Drag a session to another workspace ❌ accounting only → session disappears from the sidebar ✅ files move too: transcript dir relocated, artifact header cwd rewritten (zstd frame-aware via node:zlib), verified with automatic rollback
Protect against manual file edits/deletions ❌ ✅ Sync records: ghosts purged, attribution fixed, missing accounting restored
Stale-list resurrection protection ❌ ✅ deletion tombstones + cold-reuse identity probes