dsh-plugin-better-sidebar-plugin-office
by huanlinoto
为 better-sidebar 提供 Office 三件套预览(.docx/.xlsx/.pptx),独立 bundle 瘦身主体 \| Provides Office-suite preview (.docx/.xls
安装
dsh plugin --profile web add github:huanlinoto/dsh-plugin-better-sidebar-plugin-officeGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
dsh-better-sidebar-plugin-office
DSH web 插件:为 better-sidebar 的编辑器提供 Office 三件套文件预览(.docx / .xlsx / .pptx)。
背景
better-sidebar 曾内置这三个 viewer,但 docx-preview / Univer(+ SheetJS)/ pptx-renderer 会把 client bundle 撑到约 23MB。本插件把它们拆成独立 bundle,better-sidebar 本体不再内联 Office 渲染库(约 5.9MB 全套 → 2.2MB 压缩),需要 Office 预览的用户单独安装本插件即可。
功能
- 通过
ctx.betterSidebar.registerFileViewer注册 3 个 viewer(id 与内置一致):docx:.docx,docx-preview 保真渲染(样式/图片/表格,Alt+滚轮缩放)xlsx:.xlsx,Univer sheets 预设(数据 + 公式 + 合并单元格 + 列宽/行高)pptx:.pptx,@aiden0z/pptx-renderer 浏览器原生预览(翻页导航)
- viewer 描述符形状与原内置完全一致(
mediaUrl策略、priority 0、title/icon),因此:- 既有文件路由行为不变(扩展名匹配优先于 binary-download / code 兜底)
- Side card 设置页自动显示这三个 viewer 的启用开关
- 加载/渲染失败回退到「下载查看」链接
- 客户端组件自包含:自带 locale(中/英)与 CSS,不依赖 better-sidebar 的 client 内部实现
依赖 better-sidebar 版本
需要 better-sidebar >= 0.6.0(已移除内置 office viewer 的版本),否则会与内置 docx/xlsx/pptx 注册冲突(already registered)。
开发
pnpm install
pnpm run typecheck # 类型门禁(需先构建 DSH-better-sidebar 的 lib/types)
pnpm test # vitest(xlsx→Univer 转换 + 注册描述符)
pnpm run build # tsdown 双产物(lib/index.js + lib/client.js)
tsdown.config.ts含jszip/xlsx的 browser-entry alias(SheetJS/JSZip 在 CJS 降级后残留 Node builtin 引用)与import.meta.resolve空定义(pptx-renderer 的 PDF.js 探测)。改动这些库版本时需一并验证 client bundle 不含 Node builtin。
安装(profile)
# 从 npm 安装(推荐):
dsh plugin --profile web add @huanlin/dsh-plugin-better-sidebar-plugin-office
# 本地开发(link: 热更新)
dsh plugin --profile web add "link:D:/Projects/deepseek-harness/dsh-better-sidebar-plugin-office"
安装后重启 dsh web 进程并浏览器硬刷新(Ctrl+Shift+R)。
运行
- 打开侧边栏 → 在文件资源管理器中打开任意
.docx/.xlsx/.pptx,预览器自动命中。 - Side card 设置页 →「文件预览」清单中可见
docx / xlsx / pptx三张卡片,可单独启用/禁用。
检查
| 检查项 | 命令 | 预期 |
|---|---|---|
| 类型门禁 | pnpm run typecheck |
0 错误 |
| 单元测试 | pnpm test |
全部通过 |
| 构建 | pnpm run build |
lib/client.js 生成,window.__ModuleLoader__.load({ id: '@huanlin/dsh-plugin-better-sidebar-plugin-office', ... }) 包裹 |
| bundle 纯度 | 产物中搜索 node: 或 require("fs") |
不应出现 Node builtin 引用 |
| profile 可见 | Test-Path ~/.dsh/profiles/web/node_modules/@huanlin/dsh-plugin-better-sidebar-plugin-office/lib/client.js |
True |
| 插件加载 | 重启 dsh web + 硬刷新后侧边栏打开 Office 文件 |
预览正常渲染 |
原始 README: https://github.com/HuanLinOTO/dsh-plugin-better-sidebar-plugin-office/blob/master/README.md ↗
同类插件
查看全部 →
dsh-web-ui-all
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-web-ui
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-TUI
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

DSH-better-sidebar
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。

working-activity
让 agent 的"工作状态行"活过来——实时工具动态与进度、俏皮文案、模型自述、上下文预警。同一套想法,适配两个平台: pi CLI 与 DeepSeek Harness(DSH) 。

deepseek-idesign
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。