You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Feature Request] Manage workspaces and sessions "like in a file explorer" — rename a workspace folder, move a session between workspaces, without scripts or restarting DSH
#6448
Today a routine migration — renaming a workspace folder and moving its 27 sessions — required batch scripts, stopping DSH, and hand-editing each session's stored cwd in its header. A user should simply be able to say «rename the workspace» or «move this session» and have DSH do it, the way Windows Explorer renames a folder or moves a file — no scripts, no downtime.
Related issues
Bug: a session cannot be moved to another workspace; renaming a workspace folder orphans every session in it (workspace/move-invalid — «the session is not accounted»; missing-dir). See the filed bug report «Cannot move a session between workspaces».
Bug: a session created with only cwd (no workspaceId) is not attached to the owning workspace. See the filed bug report «session/create with only cwd does not attach the session».
Proposed feature
Rename a workspace folder → cascade-update: every member session's cwd, the --<encoded-cwd>-- session directories, and workspace.json.
Move a session between workspaces → update its cwd and re-account it in the target workspace's sessionIds.
Expose public remotesworkspace/attachSession and session/move (today attachSession exists only internally and is not exposed outward).
Expected benefit
No batch scripts, no DSH stop, no manual header edits.
One command (or one natural-language instruction to a session) does the whole job.
Technical notes (verified against source)
SessionCommandController.create (@deepseek-ai/dsh-api-session-controller/lib/index.js, lines 566–594) resolves workspaceonly when request.workspaceId is present (lines 569–573) and calls workspace.attachSessiononly inside if (workspace !== undefined) (lines 581–588) — there is no path → workspace lookup, and attachSession is not publicly exposed.
workspace/insertSessionBefore only reorders sessions already present in the target workspace; a cross-workspace move fails with workspace/move-invalid («the session is not accounted»).
[Фича-запрос] Управление ВС/сессиями «как в Проводнике» — переименование папки ВС, перенос сессии между ВС, без батников и остановки DSH
EN: [Feature Request] Manage workspaces and sessions "like in a file explorer" — rename a workspace folder, move a session between workspaces, without scripts or restarting DSH
Окружение
Параметр
Значение
Продукт
DSH (превью) — DeepSeek Harness, @deepseek-ai/dsh
Версия
0.1.2-rc.1 (через npx)
ОС
Windows, PowerShell 7 + Node.js
Мотивация
Сейчас рядовая миграция — переименование папки ВС и перенос 27 его сессий — потребовала батников, остановки DSH и ручной правки cwd в заголовке каждой сессии. Пользователь должен иметь возможность просто сказать «переименуй воркспейс» или «перенеси эту сессию» — и DSH сделает сам, как Windows Проводник переименовывает папку или переносит файл: без скриптов и без простоя.
Связанные баги
Баг: сессию нельзя перенести в другой воркспейс; переименование папки ВС «отрывает» все его сессии (workspace/move-invalid — «the session is not accounted»; missing-dir). См. поданный баг-репорт «Сессию нельзя перенести в другой воркспейс».
Баг: сессия, созданная только с cwd (без workspaceId), не привязывается к воркспейсу-владельцу. См. поданный баг-репорт «session/create только с cwd не привязывает сессию».
Перенести сессию между ВС → сменить её cwd и переучесть в sessionIds целевого воркспейса.
Выставить публичные методыworkspace/attachSession и session/move (сейчас attachSession существует только внутри, наружу не выставлен).
Ожидаемая польза
Без батников, без остановки DSH, без ручной правки заголовков.
Одна команда (или одна фраза сессии на естественном языке) делает всю работу.
Технические замечания (проверено по исходникам)
SessionCommandController.create (@deepseek-ai/dsh-api-session-controller/lib/index.js, строки 566–594) резолвит workspaceтолько при наличии request.workspaceId (строки 569–573) и вызывает workspace.attachSessionтолько внутри if (workspace !== undefined) (строки 581–588) — поиска «путь → воркспейс» нет, и attachSession наружу не выставлен.
workspace/insertSessionBefore лишь переставляет сессии, уже находящиеся в целевом воркспейсе; перенос из другого ВС падает с workspace/move-invalid («the session is not accounted»).
Anonymized for public reporting: workspace names, paths, session names/ids and dates have been genericized.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
RU: [Фича-запрос] Управление ВС/сессиями «как в Проводнике» — переименование папки ВС, перенос сессии между ВС, без батников и остановки DSH
Environment
@deepseek-ai/dsh0.1.2-rc.1(resolved vianpx)Motivation
Today a routine migration — renaming a workspace folder and moving its 27 sessions — required batch scripts, stopping DSH, and hand-editing each session's stored
cwdin its header. A user should simply be able to say «rename the workspace» or «move this session» and have DSH do it, the way Windows Explorer renames a folder or moves a file — no scripts, no downtime.Related issues
workspace/move-invalid— «the session is not accounted»;missing-dir). See the filed bug report «Cannot move a session between workspaces».cwd(noworkspaceId) is not attached to the owning workspace. See the filed bug report «session/createwith onlycwddoes not attach the session».Proposed feature
cwd, the--<encoded-cwd>--session directories, andworkspace.json.cwdand re-account it in the target workspace'ssessionIds.workspace/attachSessionandsession/move(todayattachSessionexists only internally and is not exposed outward).Expected benefit
Technical notes (verified against source)
SessionCommandController.create(@deepseek-ai/dsh-api-session-controller/lib/index.js, lines 566–594) resolvesworkspaceonly whenrequest.workspaceIdis present (lines 569–573) and callsworkspace.attachSessiononly insideif (workspace !== undefined)(lines 581–588) — there is no path → workspace lookup, andattachSessionis not publicly exposed.workspace/insertSessionBeforeonly reorders sessions already present in the target workspace; a cross-workspace move fails withworkspace/move-invalid(«the session is not accounted»).[Фича-запрос] Управление ВС/сессиями «как в Проводнике» — переименование папки ВС, перенос сессии между ВС, без батников и остановки DSH
EN: [Feature Request] Manage workspaces and sessions "like in a file explorer" — rename a workspace folder, move a session between workspaces, without scripts or restarting DSH
Окружение
@deepseek-ai/dsh0.1.2-rc.1(черезnpx)Мотивация
Сейчас рядовая миграция — переименование папки ВС и перенос 27 его сессий — потребовала батников, остановки DSH и ручной правки
cwdв заголовке каждой сессии. Пользователь должен иметь возможность просто сказать «переименуй воркспейс» или «перенеси эту сессию» — и DSH сделает сам, как Windows Проводник переименовывает папку или переносит файл: без скриптов и без простоя.Связанные баги
workspace/move-invalid— «the session is not accounted»;missing-dir). См. поданный баг-репорт «Сессию нельзя перенести в другой воркспейс».cwd(безworkspaceId), не привязывается к воркспейсу-владельцу. См. поданный баг-репорт «session/createтолько сcwdне привязывает сессию».Предлагаемая фича
cwdвсех сессий, каталоги--<encoded-cwd>--,workspace.json.cwdи переучесть вsessionIdsцелевого воркспейса.workspace/attachSessionиsession/move(сейчасattachSessionсуществует только внутри, наружу не выставлен).Ожидаемая польза
Технические замечания (проверено по исходникам)
SessionCommandController.create(@deepseek-ai/dsh-api-session-controller/lib/index.js, строки 566–594) резолвитworkspaceтолько при наличииrequest.workspaceId(строки 569–573) и вызываетworkspace.attachSessionтолько внутриif (workspace !== undefined)(строки 581–588) — поиска «путь → воркспейс» нет, иattachSessionнаружу не выставлен.workspace/insertSessionBeforeлишь переставляет сессии, уже находящиеся в целевом воркспейсе; перенос из другого ВС падает сworkspace/move-invalid(«the session is not accounted»).All reactions