Repository navigation
Feature request: Projects as a first-class entity (per-session working directory inside one project) #10005
aobakaolengmian
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Motivation
Right now the workspace (cwd) is the only grouping key in the sidebar: one workspace → one flat list of sessions. That works when a project maps cleanly onto a single directory, but it breaks down as soon as one project spans several directories:
frontend/,backend/,docs/,infra/.Claude Desktop / Claude Code solve this with Projects as a first-class entity: a project is a named container, and each conversation inside it carries its own working directory. The project is the unit of organization; the cwd is per-conversation metadata.
This is the one thing I keep missing after moving to dsh.
Behavior
Desired, minimal version:
cwd), a project is additive metadata; sessions outside any project fall back to today's workspace grouping.Why this seems cheap to add
cwdis already per-session in the data model — dsh storessession.cwdand it is already propagated to the agent. So this is mostly an identity/grouping addition (a project id + a name + a list of attached directories), not a data-model rewrite. The sidebar grouping is a client-side concern; the project record itself could live in the existing storage domain.Workarounds people use today
MyProject/frontend) — clunky, and the name is the only grouping mechanism.dsh-session-folders,dsh-projects) — they add folders/groups on top of the sidebar, but a project is still not a real entity, so a session cannot really "belong to a project while using another directory".中文摘要
侧边栏目前只用工作区(cwd) 分组:一个工作区 = 一列会话。当一个"项目"横跨多个目录(前端/后端/文档)时就很难受——要么把项目拆成四个工作区(会话被拆散、侧边栏变长),要么只选一个目录当工作区(会话的 cwd 对其余工作都是错的)。
希望能像 Claude Desktop 那样:Project 是一等实体(一个命名容器),项目内的每个对话可以各自选择工作目录(默认用项目的主目录),侧边栏按项目分组。数据层其实已经具备条件——
session.cwd本来就是每个会话各自的字段,所以这更多是"增加一层身份/分组",而不是改数据模型。All reactions