前言¶
DeepSeek Harness (DSH) 的设计理念是“一切皆插件”。在 Web 环境下处理 Excel 文件,通常需要下载到本地编辑后再上传,或者集成复杂的第三方组件。dsh-plugin-spreadjs-editor 将 GrapeCity 的 SpreadJS Designer 直接嵌入到 DSH 的 Web UI 右侧文件树中,允许用户在不离开浏览器的情况下查看和编辑工作簿。
插件简介¶
- 名称:
grapecityxa/dsh-plugin-spreadjs-editor - 所有者:GrapeCityXA
- 类别:客户端
- 许可证:插件代码采用 MIT 许可证,内置的 SpreadJS 和 Designer 需商业授权(未配置时为试用模式)。
- 核心价值:提供原子的保存机制、会话工作区限制和冲突检测,将 Excel 编辑集成到 DSH 的工作流中。
安装与前置要求¶
使用 DSH CLI 安装插件。需要确保宿主 DSH 版本不低于 0.1.5-rc.3。
- 执行安装命令:
dsh plugin --profile web add @grapecity-software/dsh-spreadjs-editor
- 启动 DSH:
dsh --profile web
- 在 Web UI 右侧文件树中打开
.xlsx、.xlsm、.csv、.sjs或.ss文件即可使用。
核心功能¶
插件内置了 SpreadJS 和 Designer,提供了以下核心能力:
- 文件支持:支持
.xlsx、.xlsm、.csv、.sjs、.ss格式。 - 编辑与查看:直接从文件树打开工作簿,使用 SpreadJS Designer 进行表格编辑。
- 保存机制:
- 原子写入:通过临时文件重命名覆盖,保证写入完整性。
- 冲突检测:保存前比对文件哈希,防止覆盖外部修改。
- 会话限制:只允许保存到当前会话工作区内,防止越界。
- UI 交互:保存按钮位于 DSH 文档头部工具栏,未保存时按钮前会出现标记点。同时支持
Ctrl+S快捷键。
- 另存为:
- 将工作簿写入工作区另一个路径,成功后就地切换到该文件。
- 不覆盖同名文件,提示用户重命名。
- 主题跟随:编辑器自动跟随 DSH 的浅色/深色主题。
- 关于信息:在编辑器的“设置”标签页中包含“关于”按钮,显示内置版本与授权状态。
使用指南¶
- 打开文件:在 Web UI 右侧文件树中双击目标文件。
- 保存改动:编辑完成后,点击文档头部工具栏的“保存”按钮,或按
Ctrl+S。未保存时按钮前有标记点。 - 另存为:点击“另存为…”将工作簿复制到工作区其他位置并切换标签页。
配置与注意事项¶
- DSH 版本要求:必须使用 DSH
>=0.1.5-rc.3。低于此版本无法使用文档头部动作槽,保存入口可能受限。 - Designer 隐藏:Designer 自带的“文件”标签页已从 Ribbon 隐藏,以避免与 DSH 头部的保存按钮混淆。
- 未保存状态处理:
- 切走再切回或关闭标签页,未保存的改动不会丢失(通过缓存实现)。
- 如果磁盘上的文件已被外部修改,面板右下角会提示“存在未保存的改动缓存,但文件已在磁盘上被修改”,可选择恢复或丢弃。
- 许可证配置:如需正式部署,需在
web profile的cordis.patch.yml中配置licenseKey和designerLicenseKey。
- id: spreadjs-editor
config:
licenseKey: 'YOUR_SPREADJS_KEY'
designerLicenseKey: 'YOUR_DESIGNER_KEY'
maxSaveBytes: 67108864
trustedHosts: []
结尾¶
该插件通过将 SpreadJS 集成到 DSH 的右侧栏,解决了 Web 环境下 Excel 编辑的集成问题。配合 DSH 原生的保存机制和冲突检测,适合需要在智能体工作流中直接操作 Excel 的场景。