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
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.
需求
当前会话的工作区下拉框里增加一个特殊可选项「无工作区」。选中它 = 该会话不归属任何工作区,即侧边栏里落到「未分组」。建议下拉框选项与侧边栏分组名文案对齐(推荐同时改为「无工作区」,见下)。
现状
WorkspaceChip(@deepseek-ai/dsh-client-ui-conversation,aria-label=hero.chooseWorkspace「选择工作区」),菜单由WorkspacePickFlow(@deepseek-ai/dsh-client-ui-workspace)渲染。条目只有已注册工作区 + footer「添加工作区…」,没有第三条路径。openWorkspace()→connectWorkspace()(复用该工作区的空白会话或sessions.create({ workspaceId })),因此只能选「挂在哪个工作区」,不能选「不挂」。后端已经支持,创建路径零改动
ClientSessions.create(opts)的入参本就是workspaceId?: WorkspaceId; cwd?: string二选一(@deepseek-ai/dsh-api-session-controller)。SessionCommandController.create:workspaceId与cwd互斥,cwd = workspace?.path ?? request.cwd ?? defaultCwd,只有传workspaceId才attachSession。groupByWorkspace()里key === "")收纳的对象。CLI 实测:dsh --profile headless在未注册目录建会话,GUI 刷新后即出现在「未分组」,可正常继续对话。建议实现
WorkspacePickFlow加一个和现有ADD_WORKSPACE = "::add-workspace"平行的哨兵项(如NO_WORKSPACE = "::no-workspace");选中时走sessions.create({ cwd })(不带workspaceId)而非openWorkspace()。selectedId在会话不属任何工作区时高亮该项,让下拉框如实表达当前状态。workspace.sessionIds移除(现有WorkspaceCommands只有 create/rename/delete/insertBefore/insertSessionBefore/archiveSession)。defaultCwd,还是在同一流程里再选一个目录(只是不注册成工作区)?我倾向第二种 —— 语义最清楚,且与「未分组」完全等价。文案对齐
侧边栏分组名现为
group.ungrouped「未分组」,若下拉框新增项也叫「未分组」,读起来像「列表收纳结果」而非「会话状态」。建议两处统一为「无工作区」/ "No workspace":它描述的是会话的归属状态,正是这个新选项的语义。改动面只是@deepseek-ai/dsh-client-ui-workspace的 zh/en 两条 locale。边界
「无工作区」是归属层面的无,不是没有目录:会话仍有 cwd,照常读该目录的
CLAUDE.md,照常受该目录的 fs sandbox 约束。与既有讨论的关系
#3618 是「删除工作区入口」(已实现);#626 是侧栏右键菜单;#6519 是删除工作区后会话落入未分组且重开不恢复;#6845 是删除会话。本需求是新增一种归属选择,与它们不同 —— 并且正好绕过 #6519:用户想脱组时不必去删工作区,也就不会连坐工作区里的其它会话。
环境:dsh 0.1.5-rc.3(npx),macOS。
All reactions