Chuyển đến nội dung chính

dsh-vscode-workbench-panel

Đã xác minh

dsh-vscode-workbench-panel · v0.3.0 · MIT · Giao diện web

VSCode 风格工作台面板:文件树 / 多标签预览 / CodeMirror 编辑 / 终端 / Git / 全库搜索 / 变更审查。VSCode-style workbench sidebar panel for DeepSeek Harness.

Cài đặt

dsh plugin add dsh-vscode-workbench-panel

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.

Thẻ

Tác giả

Readme

dsh-workbench

English | 简体中文

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 审查卡片,支持一键撤销。

已知限制:内嵌浏览器

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

具体表现:

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

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

预览

工作台面板变更审查差异对比终端与 Git

开发

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