READMESource: main@54d0edc8
dsh-right-editor
一个面向 DeepSeek Harness Web 的右侧栏插件:浏览任意目录,查看并编辑 文本、图片、Office 文档与 PDF。支持 docx/xlsx 原位编辑保存,不依赖第三方预览服务。
✨ 功能
| 类型 | 能力 |
|---|---|
| 文件浏览 | 从当前会话工作区开始浏览;支持目录导航、上一级、刷新、任意路径跳转 |
| 文本 / 代码 | 查看并编辑任意 UTF-8 文本文件(上限 8MB),Ctrl+S 或按钮保存 |
| 图片 | png / jpg / jpeg / gif / webp / bmp / svg / ico / avif;canvas 预览,支持亮度 / 对比度 / 灰度 / 旋转 90° / 水平与垂直翻转,一键保存回原文件 |
| Word(.docx) | 查看 + 编辑保存:正文段落、表格单元格均可改,原位写回并保留原样式 |
| Excel(.xlsx) | 查看 + 编辑保存:工作表标签切换、单元格可改,写回原文件 |
| PPT(.pptx) | 只读:逐页文本预览 |
| 只读:逐页文本提取预览(文本型 PDF;扫描件请配合 OCR) |
📦 安装
前置条件
- DSH web 运行中(
dsh web或桌面版) - Node.js ≥ 20
- (可选,用于 Office/PDF 预览)Python 3 + 依赖库:
pip install python-docx openpyxl python-pptx pdfplumber
没有 Python 时插件仍可浏览目录、编辑文本和图片;只有 docx/xlsx/pptx/pdf 的解析与编辑保存不可用。
通过插件市场 / 命令安装
# 在 DSH 所在环境执行
dsh plugin --profile web add dsh-right-editor
装完后硬刷新浏览器(Ctrl/Cmd+Shift+R)即可看到侧边栏按钮。
手动挂载(开发 / 本地)
- 克隆或解压本包到任意目录,例如
~/Code/dsh-right-editor - 在
~/.dsh/profiles/web/package.json的dependencies加入:
"dsh-right-editor": "file:/绝对路径/dsh-right-editor"
- 在
~/.dsh/profiles/web/cordis.patch.yml追加:
- insert:
- id: right-editor
name: 'dsh-right-editor'
cd ~/.dsh/profiles/web && pnpm install,然后重启 DSH 并硬刷新浏览器。
🚀 使用说明
- 进入任意会话,在顶部标题栏右侧点击 📝 按钮打开右侧编辑面板;
- 面板从当前会话工作区开始,可点目录进入、点文件打开;
- 文本:直接编辑,点「💾 保存」或按
Ctrl+S; - 图片:用滑块调整亮度/对比度、勾选灰度、旋转/翻转,点「💾 保存」写回;
- Word/Excel:点「✏️ 编辑」进入编辑态,改完后点「💾 保存」;PPT/PDF 为只读预览;
- 路径栏支持输入任意绝对路径回车跳转,或点 ⬆ 返回上级目录。
⚙️ 配置
| 键 | 默认 | 说明 |
|---|---|---|
pythonCommand |
python |
用于解析 Office/PDF 的 Python 可执行文件;Windows 上找不到 python 时会自动尝试 py |
在 cordis.patch.yml 的插件行 config 下覆盖。
🧩 技术实现
- Host 半(
lib/index.js):通过ctx.webServer注册/right-editor/api/*JSON 路由;文件操作走ctx.fs(继承会话沙箱策略,默认显式danger-full-access,与用户授权一致);二进制图片写入与 Python 解析走ctx.shell(PowerShell)。 - 文档解析:docx/xlsx/pptx/pdf 由本地 Python(
python-docx/openpyxl/python-pptx/pdfplumber)解析,脚本经 stdin 传入(python -),避免将脚本落盘而受Temp/inspect.py之类文件干扰。 - Client 半(
lib/client.js):标准window.__ModuleLoader__.load客户端,注册conversation.session.header.utilities(📝 按钮)与shell.overlay(右侧面板)两个槽位;纯React.createElement,无 JSX 构建步骤。
📄 许可证
MIT © 2026
No comments yet. Be the first to write one.