wjy9902/dsh-web-default-session

DSH Web client plugin: New Session defaults to a no-folder workspace rooted at the host launch directory; the workspace picker gains a default-directory entry — no folder picking required.

Bundle 已验证 未知 JavaScript 未知
Bundle 已验证

已收录

3

Ui

Bundle 已验证

版本未知
语言JavaScript
许可证未知
在 GitHub 查看

功能介绍

点「新会话」默认打开绑定宿主启动目录的「默认目录」工作区(无需选文件夹),工作区选择菜单中也可选该项。

适合

  • 希望点击通用“新会话”后立即进入、无需选择工作区文件夹的用户。
  • 希望自动创建可用默认工作区的零工作区 DSH Web 环境。
  • 始终把启动 dsh web 时所在目录作为默认工作区的工作流。

不适合

  • 希望“新会话”沿用当前或最近工作区的用户。
  • 宿主启动目录并不适合作为项目根目录的工作流。
  • 需要真正不绑定文件系统目录的会话;文档所述默认会话仍以宿主启动目录为根。
  • 希望无需修改插件客户端代码即可配置默认路径的环境。

README

dsh-web-default-session

English 简体中文

面向 DeepSeek Harness Web 界面的客户端插件:把「必须选一个文件夹才能开始对话」的限制去掉。

  • 点「新会话」默认无文件夹:侧栏的「新会话」按钮会打开一个绑定在宿主默认目录(dsh web 的启动目录,即 host.describe 返回的 cwd)上的会话,不再落到「当前/最近工作区」,也无需选文件夹;
  • 选文件夹时也有「无文件夹」选项:插件会在默认目录上维护一个名为 「默认目录」 的工作区,它出现在顶部文件夹 chip 的菜单和侧栏工作区列表里,点它就是“无文件夹”;
  • 零工作区启动:没有任何工作区时,插件自动创建「默认目录」并打开,输入框直接可用;
  • 升级安全:只改用户 profile(~/.dsh),不动 dsh 安装本体,dsh 升级不会覆盖;
  • 工作区上右键等显式指定工作区的入口保持原行为。

安装

dsh plugin --profile web add dsh-web-default-session

包声明了 dsh.bundle,dsh plugin add 会自动把它激活为 profile layer,无需手工改 patch。然后重启 dsh web(或依赖 HMR),刷新页面即可。

其它等价装法:

# 从 GitHub 装(发布后可用)
dsh plugin --profile web add github:<你的用户名>/dsh-web-default-session

# 或手动:先 pnpm add,再在 ~/.dsh/profiles/web/cordis.patch.yml 注册宿主行
dsh plugin --profile web add dsh-web-default-session

手动注册方式(一般不需要,bundle 会自动生效):

- insert:
    - id: web-default-session
      name: 'dsh-web-default-session'

行为细节

  • 默认目录 = dsh web 进程的启动目录(在 /Users/user 启动就是 /Users/user);
  • 「默认目录」工作区首次加载页面时自动创建,标题从目录名重命名为「默认目录」(只在标题还是目录名时改名,不覆盖你的手动重命名);
  • 会话期间手动删除「默认目录」不会被立刻复活;刷新页面后会重新出现;
  • 已在「默认目录」的空白会话里再点「新会话」时,会新建一个全新空白会话,保证点击有可见反馈。

定制

  • 想改菜单里显示的名字:编辑 lib/client.js 顶部的 DEFAULT_TITLE;
  • 想改默认目录:把 resolveCwd() 换成你自己的逻辑(例如固定 "/path/to/dir")。

卸载

dsh plugin --profile web remove dsh-web-default-session

并删除 cordis.patch.yml 里的 web-default-session 行。


English

A client plugin for the DeepSeek Harness Web UI that lifts the “pick a folder before chatting” gate.

  • New Session defaults to no folder: the generic New Session button opens a session rooted at the Host’s default working directory (the directory dsh web was launched from, i.e. the cwd from host.describe) instead of the current/recent workspace — no folder picking required;
  • A “no folder” choice in the workspace picker: the plugin maintains a workspace named 默认目录 (“Default directory”) at the default directory; it appears in the hero workspace-picker menu and the sidebar, and picking it is the no-folder choice;
  • Zero-workspace boot: with no Workspace at all, the plugin creates the default workspace and opens it, so the composer is usable immediately;
  • Upgrade-safe: only the user profile (~/.dsh) is touched — dsh upgrades do not overwrite it;
  • Workspace-scoped actions (e.g. “new session in this workspace”) keep their built-in behaviour.
Install
dsh plugin --profile web add dsh-web-default-session

The package declares dsh.bundle, so dsh plugin add activates it as a profile layer automatically — no manual patch edits. Restart dsh web (or rely on HMR) and refresh the page.

Equivalent options:

# From GitHub (once published)
dsh plugin --profile web add github:<your-username>/dsh-web-default-session

Manual registration (normally unnecessary — the bundle takes effect on its own):

- insert:
    - id: web-default-session
      name: 'dsh-web-default-session'
Customisation
  • Menu title: edit DEFAULT_TITLE at the top of lib/client.js.
  • Default directory: replace resolveCwd() with your own logic.
Uninstall
dsh plugin --profile web remove dsh-web-default-session

and remove the web-default-session row from cordis.patch.yml.

License

MIT

常见问题常见问题

在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:wjy9902/dsh-web-default-session。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。