Skip to content

Releases: reinocheong/dsh-session-move

v0.1.1 — reliable session moves

Choose a tag to compare

@reinocheong reinocheong released this 15 Aug 11:53

v0.1.1 — reliable session moves

Three reliability fixes so a move never leaves a session stranded:

  • Projection cache follows the moveidentity.cwd in the session projection cache is rewritten together with the header and the log directory, so the web session list resolves the correct storage slug immediately (no ENOENT on cold sessions, no "Ungrouped" residue after a move).
  • Boot reconciliation — on startup the plugin audits every stored projection-cache record against its on-disk header and repairs stale identity.cwd entries left behind by earlier half-applied moves or manual reorgs, so the list shows real session titles from the first render instead of the folder placeholder.
  • Live-session moves — a session loaded in memory has a frozen header snapshot; the plugin now detaches it from the live agents store before re-attaching it to the target workspace, so the attach validation never sees a stale cwd (previously the physical move could succeed while the session silently landed in "Ungrouped").

Each fix is fail-soft: if a repair can't run, the plugin logs a warning and leaves the state untouched.

Install:

dsh plugin --profile web add https://github.com/reinocheong/dsh-session-move/archive/refs/tags/v0.1.1.tar.gz

v0.1.0

Choose a tag to compare

@reinocheong reinocheong released this 15 Aug 06:20

dsh-session-move v0.1.0

Session management for the DeepSeek Harness Web UI — move, delete, and AI-rename sessions.

Features

  • 🗂 Move a session to another folder (workspace)
    • Drag & drop a session onto a folder row, or use the ... menu → Move to folder… picker.
    • Relocates the session's working directory: rewrites the session header cwd, moves the persisted log to the target folder's storage slug, and re-accounts through the workspace registry — history travels with the session, UI updates instantly, no restart.
  • 🗑 Permanently delete a session
    • ... menu → Delete session → risk-consent dialog.
    • Stops running agents, removes the log directory, projection-cache row and workspace accounting. Nothing lingers in "Ungrouped".
  • ✨ AI rename
    • ... menu → AI Rename: LLM samples the whole conversation (evenly across the timeline), fixes typos in source messages, and writes a concise title in the conversation's language.
    • Cold sessions are resumed automatically via the agents service.

Each operation also ships as an agent tool: workbench_session_move, workbench_session_delete, workbench_session_rename_ai.

Highlights

  • Zero runtime dependencies — uses only Node built-ins + packages dsh already ships.
  • No background tasks — purely request-driven; idle when unused.
  • ~85 KB source; stateless endpoints answer in ~1 ms.
  • Bilingual UI (zh/en), bilingual README.

Install

dsh plugin --profile web add https://github.com/reinocheong/dsh-session-move/archive/refs/tags/v0.1.0.tar.gz
# or from main:
# dsh plugin --profile web add https://github.com/reinocheong/dsh-session-move/archive/refs/heads/main.tar.gz

Restart the profile (sudo systemctl restart dsh on systemd-managed installs).

Requirements

  • Node.js ^22.19.0 || >=24.0.0
  • dsh 0.1.0-rc.6 or newer

License: MIT