🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话工作台 xuqingsakura/dsh-workspace

DeepSeek Harness
xuqingsakura74 天前有提交已提供中文文档扫描:含敏感能力

按会话隔离的文件树、编辑器、终端与 Git 面板

25.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xuqingsakura/dsh-workspace
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · ui
装得上吗
本站尚未做安装检查
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 74 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 41 处,展示前 34 条)
  • 执行外部命令来自配置/变量
    lib/index.js:74
    return spawnSync(candidate.file, probeArgs(), {
  • 执行外部命令来自配置/变量
    lib/index.js:106
    spawn(sessionId, cwd) {
  • 读取本地文件
    lib/index.js:108
    const workingDir = cwd !== void 0 && existsSync(cwd) ? cwd : process.cwd();
  • 执行外部命令来自配置/变量
    lib/index.js:109
    const child = spawn(file, [...args], {
  • 执行外部命令固定命令
    lib/index.js:244
    if (spawnSync("taskkill", [
  • 执行外部命令固定命令
    lib/index.js:351
    execFile("git", [
  • 读取本地文件
    lib/index.js:718
    const info = await stat(target);
  • 读取本地文件
    lib/index.js:738
    const buffer = await readFile(target);
  • 读取本地文件
    lib/index.js:764
    const info = await stat(path);
  • 读取本地文件
    lib/index.js:783
    handle = await opendir(cwd);
  • 读取本地文件
    lib/index.js:817
    handle = await opendir(dir);
  • 写入本地文件
    lib/index.js:880
    await writeFile(target, content, "utf8").catch((error) => fsFailure("write", path, error));
  • 写入本地文件
    lib/index.js:892
    await mkdir(target, { recursive: true }).catch((error) => fsFailure("mkdir", path, error));
  • 写入本地文件
    lib/index.js:902
    await rename(from, to).catch((error) => fsFailure("rename", path, error));
  • 删除本地文件
    lib/index.js:914
    await rm(target, {
  • 启用终端会话(PTY)
    lib/index.js:928
    spawned = terminals.spawn(sessionId, typeof cwdArg === "string" ? cwdArg : void 0);
  • 发起网络请求
    src/client/api.ts:58
    response = await fetch('/workspace/api', {
  • 执行外部命令固定命令
    src/git.ts:99
    execFile(
  • 读取本地文件
    src/index.ts:75
    const info = await stat(target)
  • 读取本地文件
    src/index.ts:95
    const buffer = await readFile(target)
  • 读取本地文件
    src/index.ts:125
    const info = await stat(path)
  • 读取本地文件
    src/index.ts:139
    handle = await opendir(cwd)
  • 读取本地文件
    src/index.ts:160
    try { handle = await opendir(dir) } catch { return }
  • 读取本地文件
    src/index.ts:215
    const current = await stat(target).catch(() => undefined)
  • 写入本地文件
    src/index.ts:220
    await writeFile(target, content, 'utf8').catch(error => fsFailure('write', path, error))
  • 写入本地文件
    src/index.ts:229
    await mkdir(target, { recursive: true }).catch(error => fsFailure('mkdir', path, error))
  • 写入本地文件
    src/index.ts:241
    await rename(from, to).catch(error => fsFailure('rename', path, error))
  • 删除本地文件
    src/index.ts:255
    await rm(target, { recursive: info.isDirectory(), force: true }).catch(error => fsFailure('remove', path, error))
  • 启用终端会话(PTY)
    src/index.ts:269
    spawned = terminals.spawn(sessionId, typeof cwdArg === 'string' ? cwdArg : undefined)
  • 执行外部命令来自配置/变量
    src/terminal.ts:71
    const probe = spawnSync(candidate.file, probeArgs(), {
  • 执行外部命令来自配置/变量
    src/terminal.ts:112
    spawn(sessionId: string, cwd?: string): WorkbenchTerminalSpawnResult {
  • 读取本地文件
    src/terminal.ts:114
    const workingDir = cwd !== undefined && existsSync(cwd) ? cwd : process.cwd()
  • 执行外部命令来自配置/变量
    src/terminal.ts:115
    const child = spawn(file, [...args], {
  • 执行外部命令固定命令
    src/terminal.ts:240
    const killed = spawnSync('taskkill', ['/pid', String(record.process.pid), '/T', '/F'], { windowsHide: true })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-sidebar@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-fs@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-invariants@deepseek-ai/dsh-session
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按会话隔离工作台
  • 文件树与编辑器
  • 终端与Git面板

DeepSeek Harness 独立工作台窗口插件:VSCode 风格的文件树 / 编辑器 / 终端 / Git / 浏览器,按会话隔离。

README

由 DeepSeek 最新模型翻译生成
dsh-workspace DeepSeek Harness 的 VSCode 风格独立工作台窗口插件:文件树 / 编辑器 / 终端 / Git / 浏览器 / 搜索,按会话隔离,支持多会话切换。 ⚠️ 兼容性说明(重要) 本插件是 fork 桌面端专属,依赖以下仅存在于 fork 桌面端的外壳能力: - workspace.shell 布局 seat(@deepseek-ai/dsh-client-ui-layout) - window.dshDesktop.openWorkbenchWindow / leaveWorkbench 桥(apps/desktop preload) - ?dshWindow=workspace 独立工作台窗口(apps/desktop main) 因此插件 只能运行在 xuqingsakura/deepseek-harness fork 桌面端。官方 deepseek-ai/deepseek-harness、社区 anywhere-labs/deepseek-harness-desktop 均不兼容——安装后能加载,但核心工作台功能(独立窗口、回到原桌面、X 进托盘)不可用。
展开完整文档(README 剩余 1 节)
dsh-workspace

DeepSeek Harness 的 VSCode 风格独立工作台窗口插件:文件树 / 编辑器 / 终端 / Git / 浏览器 / 搜索,按会话隔离,支持多会话切换。

⚠️ 兼容性说明(重要)

本插件是 fork 桌面端专属,依赖以下仅存在于 fork 桌面端的外壳能力:

- workspace.shell 布局 seat(@deepseek-ai/dsh-client-ui-layout)
- window.dshDesktop.openWorkbenchWindow / leaveWorkbench 桥(apps/desktop preload)
- ?dshWindow=workspace 独立工作台窗口(apps/desktop main)

因此插件 只能运行在 xuqingsakura/deepseek-harness fork 桌面端。官方 deepseek-ai/deepseek-harness、社区 anywhere-labs/deepseek-harness-desktop 均不兼容——安装后能加载,但核心工作台功能(独立窗口、回到原桌面、X 进托盘)不可用。

界面预览

三栏工作台(资源管理器)

资源管理器

搜索视图

搜索

Git 面板

Git

浏览器全宽(隐藏侧边栏)

浏览器

任务面板 + 终端

任务

任务面板

任务2

安装

在 fork 桌面端(需带上述外壳能力)中安装:

dsh plugin --profile web add "github:xuqingsakura/dsh-workspace#main"

开发时改 src/ 后需先 pnpm run build,否则 GitHub 安装的版本会落后于源码。

功能

- 三栏工作台:文件树 | 阅读/编辑 | 对话(保留原项目对话),支持拖拽调整列宽
- 独立窗口模式:打开时隐藏主窗口,「回到原桌面」恢复主窗口,X 最小化到托盘
- 文件树:懒加载、虚拟滚动、根目录/文件夹折叠、按类型彩色图标(VSCode 风格)
- 编辑器:CodeMirror 语法高亮、Markdown 预览、Ctrl+S 保存、圆角独立标签
- 终端:原型风格(提示符高亮、块光标、命令历史、长命令溢出滚动)
- Git 面板:分支 / 提交历史 / 变更分组(折叠+滚动)/ 提交 / 点击文件看 diff
- 浏览器:本地开发预览(iframe;受浏览器 X-Frame-Options 安全限制,无法访问 GitHub 等禁止被内嵌的网站,仅用于本地开发页面预览)
- 搜索:会话 cwd 下文件名递归搜索
- 任务/子代理、会话切换器、对话区最小化/还原
- 菜单栏:文件(新建/保存/另存为)/ 编辑 / 查看 / 转到 / 终端 / 帮助(自绘关于)
- 活动栏:资源管理器 / 搜索 / Git / 浏览器 / 任务 / 设置 / 回到原桌面

文档

- 开发规范摘要 — 从 deepseek-harness 官方文档提炼的插件开发规范
- 原型设计 — 工作台布局原型(VSCode 样式)

状态

v0.1.0(开发中):fork 桌面端完整可用。详见上方兼容性说明。
预览分享卡片长什么样 ↓xuqingsakura/dsh-workspace
分享 · DeepSeek Harness Hub
xuqingsakura/dsh-workspace

按会话隔离的文件树、编辑器、终端与 Git 面板

这是你的仓库?认领条目

回到顶部