dshbase

插件目录 / Developer / dsh-default-workspace-plugin

dsh-default-workspace-plugin

未验证 fenxin-fx

✓ 持续维护

查看 GitHub ↗ ← 返回插件目录

2Stars
0Forks
0未关闭 issue
语言
2026-08-14最近推送
跨平台平台

功能简介

Developer 类别的 DeepSeek Harness 插件。

我们的评价
未验证 — 尚未实测

Developer 类别的 DeepSeek Harness 插件。 尚未验证——请自行安装测试。

「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

你是插件作者? 想拿到「已验证」标签——提交你自己的验证证据(截图、日志或短视频),我们审核通过后即改为「已验证」。

提交验证证据 ↗

README

dsh-default-workspace

A DeepSeek Harness plugin — start a new conversation without selecting a workspace.

license

Out of the box, DeepSeek Harness will not let a conversation start until a workspace directory has been selected. On a fresh profile the workspace registry is empty, so the web GUI lands on the workspace-picker hero and there is nothing to pick.

This plugin removes that dead-end in two ways, from one package:

  1. Node half — at boot it resolves a default workspace directory, creates it if missing, and registers it. The runtime's existing "recent workspace" fallback then connects it, so a brand-new profile opens straight into a conversation.
  2. Client half — it adds a "Chat without a workspace" (不在工作区中对话) entry to the new-session workspace picker. Selecting it starts a session with no workspace: its working directory falls back to the host's process.cwd() and the session shows up as Ungrouped in the sidebar.

What it does

Behaviour Detail
Auto-provision Creates and registers a default workspace on first boot
No-workspace option Adds a "Chat without a workspace" row to the workspace picker
Zero footprint Auto-provision is a no-op when workspaces already exist (unless always: true)
Idempotent Re-registering the same path reuses the existing record
Non-fatal A failure is logged as a warning and never fails the boot
Zero dependencies Imports only Node built-ins / browser APIs; no build step

The default directory is <DSH_HOME>/workspaces/default (or ~/.dsh/workspaces/default when DSH_HOME is unset). It can be overridden per-deployment with a config row, or globally with the DSH_DEFAULT_WORKSPACE environment variable.

Install

Recommended — one line from the git source (no build runs on install, since the source is committed directly):

# HTTPS git source. The `github:` shorthand is rewritten to SSH by pnpm and
# fails on machines without SSH keys — use the explicit git+https form.
dsh plugin --profile web add "git+https://github.com/fenxin-fx/dsh-default-workspace.git#main"

Other options:

  • From a local checkout:
    git clone https://github.com/fenxin-fx/dsh-default-workspace.git
    cd dsh-default-workspace
    dsh plugin --profile web add .
    

First install needs a web restart for the node half to take effect; the client half arrives per-request, so later upgrades only need a browser refresh. The plugin can be enabled/disabled under Settings → Plugins (package id @dsh-external/dsh-default-workspace).

Configuration

Overrides live on the plugin's config row in the profile cordis.patch.yml (the cordis.patch.yml shipped by this package shows the full template). Precedence is config.pathDSH_DEFAULT_WORKSPACE<DSH_HOME>/workspaces/default.

Key Type Default Meaning
path string <DSH_HOME>/workspaces/default Default workspace directory; ~ expands to the OS home, a relative path resolves against the process cwd
title string Default Display title for the workspace
always boolean false true always ensures the workspace, even when others already exist
- insert:
    - id: default-workspace
      name: '@dsh-external/dsh-default-workspace'
      config:
        path: 'C:\my\scratch'
        title: 'Scratch'
        always: false

Or set the environment variable before launching:

DSH_DEFAULT_WORKSPACE="$HOME/projects/scratch" dsh web

Usage

Install, restart the web profile, and go — no commands, no tools. A brand-new profile opens directly into a conversation in the default workspace, and the workspace picker on a new session offers "Chat without a workspace" to start an ungrouped conversation instead.

Development

There is no build step: both halves ship as plain JavaScript.

src/index.mjs        — the node half (ensure + register the default workspace)
src/client/index.js  — the client half (the "Chat without a workspace" picker entry)
cordis.patch.yml     — the bundle patch that mounts the node half

How it works

  • The node half calls ctx.workspaceRegistry.create(path, title) after mkdir -p; create is idempotent and prepends only new records.
  • The client half injects the extra row into the picker menu at the DOM level (the picker exposes no official slot), cloning the "Add workspace" row for native styling and re-injecting via a MutationObserver on re-render.
  • The no-workspace session is created with ctx.sessions.create({}) — no workspaceId, so the host defaults the cwd to process.cwd() and skips workspace attachment.

License

MIT

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-default-workspace-plugin」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:fenxin-fx/dsh-default-workspace-plugin

Headless(CLI)profile:

dsh plugin --profile headless add github:fenxin-fx/dsh-default-workspace-plugin

实测报告

尚未 L3 验证——若已跑过,见下方失败备注。

状态:pending · 最近测试 2026-08-26 · 标记 webonly
备注:验证: web-only;待 L4 web CDP;L4 web CDP runtime-fail on dsh 0.1.0-rc.8. 浏览全部待验证失败 →
安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7789 个插件 →