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

VSCode 风格工作台 LingYuYue1/dsh-workbench

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

在侧边栏浏览文件、编辑预览、跑终端并审查 Git 变更

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

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

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

状态速览

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

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

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

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 22 处,展示前 16 条)
  • 读取本地文件
    lib/index.js:178
    const info = await stat(path).catch((error) => {
  • 读取本地文件
    lib/index.js:206
    const infos = await readdir(dirPath, { withFileTypes: true }).catch((error) => {
  • 读取本地文件
    lib/index.js:276
    const info = await stat(path).catch(() => void 0);
  • 写入本地文件
    lib/index.js:292
    await mkdir(dirname(path), { recursive: true });
  • 写入本地文件
    lib/index.js:293
    await writeFile(tmp, content, "utf8");
  • 写入本地文件
    lib/index.js:294
    await rename(tmp, path);
  • 删除本地文件
    lib/index.js:296
    await rm(tmp, { force: true }).catch(() => {});
  • 读取本地文件
    lib/index.js:299
    const info = await stat(path).catch(() => void 0);
  • 读取本地文件
    lib/index.js:311
    if (await stat(path).then(() => true).catch(() => false)) throw new WorkbenchError("fs-error", `already exists: "${path}"`, 400);
  • 写入本地文件
    lib/index.js:312
    if (kind === "directory") await mkdir(path);
  • 写入本地文件
    lib/index.js:313
    else await writeFile(path, "", "utf8");
  • 读取本地文件
    lib/index.js:323
    if (await stat(target).then(() => true).catch(() => false)) throw new WorkbenchError("fs-error", `already exists: "${target}"`, 400);
  • 写入本地文件
    lib/index.js:324
    await rename(path, target);
  • 删除本地文件
    lib/index.js:334
    if (info.isDirectory()) await rmdir(path).catch((error) => {
  • 删除本地文件
    lib/index.js:337
    else await rm(path);
  • 执行外部命令固定命令
    lib/index.js:491
    execFile("git", args, {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-primitives
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 侧边栏文件树浏览
  • 多标签编辑预览
  • 终端与Git变更审查

VSCode 风格工作台侧边栏:文件树 / 多标签预览 / CodeMirror 编辑 / 终端 / Git / 全库搜索 / 变更审查 | Workbench sidebar panel for DeepSeek Harness

README

由 DeepSeek 最新模型翻译生成
dsh-workbench VSCode 风格工作台侧边栏插件,适用于 DeepSeek Harness。自包含,不依赖任何第三方插件。 随手搓的,功能并不完善,有兴趣的大佬可以优化一下 功能一览 | 📁 资源管理器 | 按会话 cwd 定位的文件树,懒加载展开,点击文件即开预览 | | 📄 多标签预览 | Markdown 渲染 / 代码高亮(CodeMirror + shiki)/ 图片 / HTML 沙箱 / PDF 内嵌 | | ✏️ 编辑模式 | CodeMirror 6 编辑器,语法高亮、行号、Ctrl+S 原子保存 | | 🔄 刷新按钮 | 每个标签页头部,一键重新读取文件 | | 🔄 自动重载 | 轮询已打开文件的 mtime/size,外部变更自动刷新 | | 🟢 变更审查 | AI 改完文件后,聊天流末尾出现红绿 diff 审查卡片(Codex 风格) | | ↩️ 一键撤销 | 审查卡片内直接回滚文件到修改前 | | ⟂ Git 面板 | status / stage / unstage / commit,点文件看 diff | | ⌗ 集成终端 | node-pty + xterm.js,多标签、保活回放、跨视图切换不断连 | | 🔍 全库搜索 | 递归搜索工作区所有文本文件内容,按文件分组跳转 |
展开完整文档(README 剩余 1 节)
dsh-workbench

VSCode 风格工作台侧边栏插件,适用于 DeepSeek Harness。自包含,不依赖任何第三方插件。

随手搓的,功能并不完善,有兴趣的大佬可以优化一下

功能一览

| 📁 资源管理器 | 按会话 cwd 定位的文件树,懒加载展开,点击文件即开预览 |
| 📄 多标签预览 | Markdown 渲染 / 代码高亮(CodeMirror + shiki)/ 图片 / HTML 沙箱 / PDF 内嵌 |
| ✏️ 编辑模式 | CodeMirror 6 编辑器,语法高亮、行号、Ctrl+S 原子保存 |
| 🔄 刷新按钮 | 每个标签页头部,一键重新读取文件 |
| 🔄 自动重载 | 轮询已打开文件的 mtime/size,外部变更自动刷新 |
| 🟢 变更审查 | AI 改完文件后,聊天流末尾出现红绿 diff 审查卡片(Codex 风格) |
| ↩️ 一键撤销 | 审查卡片内直接回滚文件到修改前 |
| ⟂ Git 面板 | status / stage / unstage / commit,点文件看 diff |
| ⌗ 集成终端 | node-pty + xterm.js,多标签、保活回放、跨视图切换不断连 |
| 🔍 全库搜索 | 递归搜索工作区所有文本文件内容,按文件分组跳转 |
| 🌐 内嵌浏览器 | URL 栏 + 沙箱 iframe |
| 📐 拖拽布局 | 面板宽度 / 侧栏宽度 / 终端高度均可拖拽调整 |

安装

从 GitHub(推荐,无需本地构建)

npx -p @deepseek-ai/dsh dsh plugin --profile web-desktop add github:LingYuYue1/dsh-workbench

安装后重启 DSH,硬刷新浏览器即可。屏幕右缘会出现 ◀ 按钮。

本地开发安装

git clone https://github.com/LingYuYue1/dsh-workbench.git
cd dsh-workbench && pnpm install && pnpm build

然后在 profile 的 cordis.patch.yml 中注册:

- insert:
- id: workbench
name: '/absolute/path/to/dsh-workbench'

使用

面板通过屏幕右缘的 ◀ 按钮开关。活动图标栏提供六个视图:

- 📁 文件 — 浏览并打开文件
- ⟲ 变更 — 查看 AI 最近一轮修改的文件列表
- ⟂ Git — 暂存/提交/查看差异
- 🔍 搜索 — 全库内容搜索
- 🌐 浏览器 — 内嵌网页浏览
- ⌗ 终端 — 开关底部终端停靠区

聊天流中 AI 改完文件后会自动插入红绿 diff 审查卡片,支持一键撤销。

已知限制:内嵌浏览器

内嵌浏览器基于沙箱 实现。多数网站通过 X-Frame-Options 和 Content-Security-Policy: frame-ancestors 安全头主动拒绝被 iframe 嵌入——这是浏览器厂商强制执行的安全策略,不是本插件的 bug。

具体表现:
- Google、GitHub、知乎等主流网站会显示空白或拒绝页面
- 部分允许嵌入的站点(如 example.com)可以正常显示
- 无法在 iframe 中登录第三方网站(Cookie 隔离)

如果遇到无法嵌入的站点,请点击地址栏旁的 ↗ 按钮在系统浏览器中打开。内嵌浏览器更适合快速查看 AI 产出的 HTML 文件或简单网页。

预览

开发

pnpm install
pnpm typecheck # tsc --noEmit
pnpm build # tsc declarations + tsdown (host ESM + client CJS)
pnpm test # host smoke tests
pnpm watch # incremental rebuild
pnpm deploy # sync lib/ to ~/.dsh local-plugins + profile

架构

- Host 半 (src/index.ts):/workbench/api/* REST API + /workbench/file 媒体路由 + /workbench/ws/terminal WebSocket;信任围栏 + 会话 cwd 边界。
- Client 半 (src/client/):portal 挂载到 document.body;复用官方 primitives 的 MarkdownText / CodeBlock / DiffBlock。

License

MIT
预览分享卡片长什么样 ↓LingYuYue1/dsh-workbench
分享 · DeepSeek Harness Hub
LingYuYue1/dsh-workbench

在侧边栏浏览文件、编辑预览、跑终端并审查 Git 变更

这是你的仓库?认领条目

回到顶部