all3ncn/dsh-better-sidebar-n23:DSH 完整工作台与 Shell 重构

DSH(DeepSeek Harness)的核心理念是“一切皆插件”,但在实际开发中,开发者往往需要在对话与代码工作台之间频繁切换。all3ncn/dsh-better-sidebar-n23 是一个 DSH web 插件,它提供了一个完整的工作台环境,并重构了 Shell 界面,使其更接近 IDE 的使用体验。

插件介绍

该插件 fork 自 omdsh-dev/DSH-better-sidebar,在 @all3cn 作用域下独立发版。它旨在为 DSH 用户构建一个集文件管理、编辑、预览、终端、Git 操作及任务管理于一体的客户端插件。作为开源项目,其许可证为 MIT。

核心功能

插件包含以下主要能力:

  • 文件工作台:提供资源管理器,支持目录树的懒加载以及软链接按目标类型展示;内置 CodeMirror 编辑器。
  • 内联预览:支持图片、Markdown、HTML、PDF 及 Office 文档的直接内联预览。
  • 真实终端:基于 xterm.js 和 node-pty,提供真实的 shell 环境,支持断线重连回放。
  • Git 面板:提供真 diff 显示、VSCode 风格的 diff tab、历史记录,以及右键暂存/提交/还原等操作。
  • 内嵌浏览器:支持多开网页 tab,具备后退、前进、刷新功能,内容运行在沙箱 iframe 中。
  • 后台任务页:展示 subagent 拓扑结构及后台任务状态,支持查看退出码、实时输出及强制终止。
  • 双工作区布局:支持右侧栏与底部面板的拆分与合并,Tab 支持拖拽调整分栏。
  • 外壳重构:采用全宽 48px 顶栏、VSCode 式活动栏(activity rail)及全局控制区,优化对话与工作台的共存布局。
  • 服务化 API:通过 ctx.betterSidebar 向所有插件开放注册接口,允许第三方插件注册侧边栏页面与文件预览器。
  • 会话隔离:布局、Tab 和面板按会话持久化,支持多语言跟随 DSH 设置。

安装与启用

安装前请确保已正确安装并运行 DSH(dsh web 可正常使用)。

dsh plugin --profile web add @all3ncn/dsh-better-sidebar-n23

安装时会自动应用包内声明的 dsh.bundle.patch(位于 cordis.patch.yml),CLI 的 bundle 协调机制会将其加入 profile 的 bundle 栈,无需手动修改 profile 文件。如果 profile 中残留旧的 dsh-better-sidebar(上游或本地 fork)挂载行,请先移除,以免造成双挂载。

卸载命令如下:

dsh plugin --profile web remove @all3ncn/dsh-better-sidebar-n23

典型用法

作为插件接入示例,任一 DSH 插件的 client 半区可通过以下接口注册侧边栏页面:

ctx.betterSidebar.registerTab({
  id: "my-tab",
  title: "My Tab",
  render: ...
});

注册文件预览器:

ctx.betterSidebar.registerFileViewer({
  pattern: "**/*.xyz",
  render: ...
});

适用场景与注意

该插件适合需要在一个界面中完成从代码编写、版本控制到终端操作及任务管理的 DSH 用户。

注意事项如下:

  • 环境要求:要求 Node.js 版本大于等于 20。
  • 版本验证:针对 DSH 0.1.1-rc.2 验证,peer 依赖声明为 @deepseek-ai/* >= 0.1.0-rc.6 < 0.2.0。
  • 构建状态:测试使用 Node.js 内置 test runner,零依赖。当前仓库存在有意的分轨状态:src 领先健壮性修复,lib 领先外壳布局,运行时以 lib 为准。
  • 许可证:使用前请确认源码与许可证,插件以当前 DSH 进程的权限运行。

总结

all3ncn/dsh-better-sidebar-n23 通过重构 Shell 外壳和提供完整的工作台功能,显著提升了 DSH 客户端的可用性。它不仅是一个功能集合,更通过服务化 API 为其他插件扩展提供了标准接口。

GitHub 仓库

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜