Releases: reinocheong/dsh-session-move
Releases · reinocheong/dsh-session-move
Release list
v0.1.1 — reliable session moves
v0.1.1 — reliable session moves
Three reliability fixes so a move never leaves a session stranded:
- Projection cache follows the move —
identity.cwdin 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 (noENOENTon 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.cwdentries 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.gzv0.1.0
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.
- Drag & drop a session onto a folder row, or use the
- 🗑 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.gzRestart 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