dsh-spreadjs-editor是一个DSHWebUI插件,聚焦在:让工作区里的Excel工作簿能在DSH里完整的编辑预览,并支持把结果写回原文件。DSH自带的表格预览可以打开工作簿看内容。 DSH是什么DSH(DeepSeekHarness)是一个以B/S架构运行的AIAgent工作台。Agent在服务端执行任务,把结果写进当前会话的工作区;用户通过浏览器看会话内容,也看文件。 --profileweb需要版本较新的DSH,建议先把DSH升到最新release版本——插件使用DSH自带的右侧栏,不需要再装任何第三方侧边栏插件。 小结dsh-spreadjs-editor处理的是DSH里Excel文件查看和编辑链路太长的问题。它把DSH的文件管理能力和SpreadJS的在线电子表格能力接上,让用户能在熟悉的表格界面里完成操作。 参考链接dsh-spreadjs-editorGitHub仓库dsh-spreadjs-editornpm页面SpreadJS产品介绍SpreadJS产品文档
保存是怎么写回工作区的插件把自己注册成DSH文档系统里处理工作簿的那个实现,文件入口沿用DSH自带的右侧栏,不再需要第三方侧边栏插件。 这条链路也划出了职责边界:DSH管Agent会话、工作区文件,以及文件的读取和寻址。dsh-spreadjs-editor负责文件格式适配、编辑器集成,以及写回原文件。 自建DSH服务的情况DSH是B/S架构,插件作为DSH插件安装,同时向WebUI注册浏览器端编辑器。个人开发者可以直接拿它做本地Agent工作流。 准备部署自有DSH服务的团队,也多了一个现成的Excel编辑入口,可以结合自己的用户体系、工作区管理和业务流程。怎么开始安装和启动步骤见《5分钟体验dsh-spreadjs-editor》。 参考链接dsh-spreadjs-editorGitHub仓库dsh-spreadjs-editornpm页面SpreadJS产品介绍SpreadJS产品文档
官方手册里给出的标准做法是——通过npm安装@jingyun-ai/jingyun-dsh品牌定制插件包,几行配置就能在已有DSH上接入会员体系、支付通道、算力管控和应用市场。 手册里有一句话非常关键:"启用插件后,@jingyun-ai/jingyun-dsh会自动对你的DSH页面执行切面注入,无需你修改任何前端React/HTML代码。" /jingyun-dsh#yarn安装yarnadd@jingyun-ai/jingyun-dsh这一步会自动把插件包写入dependencies,下次启动DSH时Cordis会自动扫描加载。 {}@jingyun-ai/jingyun-dsh:#可选配置参数,通常推荐用独立json文件对接这种写法适合用配置文件引导的DSH实例,插件会被Cordis框架自动注册。 一个DSH实例只能配一个tenant_host。多租户场景需要部署多个DSH实例。Q3:插件加载后DSH启动很慢是为什么?多半是custom_logo的CDN访问慢。
在腾讯云CVM上跑dshweb,再挂上dsh-wallpaper-engine(壁纸引擎背景),动态壁纸就能渲染在对话界面后方。 缓存与按需下载的运行时(抽帧转码、抓帧、缩略图缓存、ffmpeg与媒体中间件二进制)都在~/.dsh-wallpaper-engine/下,可用DSH_WE_CACHE_DIR挪到数据盘。 CVM因此要有出网能力(弹性公网IP或NAT网关);内网无出网时改用自备,以DSH_WE_FFMPEG/DSH_WE_MEDIA_BRIDGE指向可执行文件。 更新本插件前,必须先把DSH内核与dsh-better-sidebar更新到最新,顺序不能反——先更新插件会遇到不兼容的API。处置。 按「DSH内核→dsh-better-sidebar→本插件」的顺序升级;版本矩阵与顺序反了怎么恢复,都在仓库的docs/UPGRADING.md。
本文基线 @deepseek-ai/dsh 0.1.2-rc.1(npm latest),对应仓库标签 dsh-v0.1.2-rc.1,commit a66e470204。 这个拆解 dsh 系列从一个问题“Agent 运行时的扩展点应该开放到哪一层”开始。 dsh 会为 Harness 事件声明 @mode,再通过生成脚本核对声明与实际派发方式。 按当前的基线统计,dsh 仓库内有 240 个公开发布的 @deepseek-ai 包。这个数字本身不能说明设计好坏,但能反映 dsh 的拆分粒度。 dsh 还提供了一个更特殊的场景:dsh-tool-cordis 会把 Cordis 能力交给 Agent,让模型可以检查当前运行时、生成插件代码,并将插件挂进现有插件树。
本文基于 @deepseek-ai/dsh 0.1.1-rc.2(npm latest 标签),对应仓库标签 dsh-v0.1.1-rc.2,commit b150a551b8。 dsh 仍处于 developer preview,API 还会变化。 dsh 将这部分也做成了插件:@deepseek-ai/dsh-agent-loop。目前,dsh 的大多数包要么提供的是抽象 service,要么作为插件挂在扩展点上。 如果这时有新的唤醒输入到达,dsh 会先通过 wakeRequested 记录这次唤醒,等当前执行收敛后再处理。 小结到这里,dsh Agent Loop 的主要结构就串起来了。
前几篇基于 0.1.1-rc.2,当前 npx @deepseek-ai/dsh 获取的是 0.1.2-rc.1(2026-09-03 发布),对应仓库标签 dsh-v0.1.2-rc.1,commit dsh 仍处于 developer preview。 前面几篇的 dsh 拆解内容是从纵向结构拆解:怎么装配插件树、主循环怎么推进、如何记录状态。 这也是 Service Definition 在 dsh 中以运行期 Service 形式存在的原因。 dsh 这里以 E2B 作为远程沙箱实现。 dsh 没有把这些规则放进文件系统 Provider,而是通过独立的 policy 插件接入文件操作流程。
这对应了 dsh 对 Agent 会话状态的一项核心设计:Session 维护一条持续追加的事件日志。 本文基于 @deepseek-ai/dsh 0.1.1-rc.2,对应仓库标签 dsh-v0.1.1-rc.2。 dsh 还提供了 @deepseek-ai/dsh-agent-loop/invariant 插件。 为了解决这些问题,dsh 又把查询和状态缓存拆成了独立能力。 这说明在 developer preview 阶段,dsh 对无法识别的历史事件采取了更保守的恢复策略。
3.2 DSH 的核心能力分层DSH 在 Pythagoras 中承担以下几类能力。 因此,Pythagoras 与 DSH 的关系不是替代关系,而是底座与上层架构的关系:DSH 提供通用执行能力,Pythagoras 提供个人工作协议。 4.2 Runtime 的组成:基于 DSH 能力的上层组织这里需要特别说明:AEGIS Runtime 不是 DSH 原生提供的一个同名模块。 因此,下面的组成项是 Pythagoras/AEGIS 对 DSH 原生能力的架构化编排,而不是声称 DSH 内部存在一个叫"AEGIS Runtime"的原生组件。 这六项的关系不是 DSH 的六个新插件,而是 Pythagoras 对 DSH 原生能力进行编排后形成的个人执行协议。
DSH(DeepSeekHarness)挂了,最反直觉的是:想点「撤销」,按钮却长在DSH里面。这篇在腾讯云CVM上走一遍救援链路:装插件→安全模式→局外回退→诊断修复→重启验证。 插件口径:lire1131/dsh-undo-savepoint,星标171、综合分61.7、周下载663、npmlatest0.4.10,L4真实安装验证(dsh0.2.0-rc.2),许可MIT。 ##四、局外WebUI/CLI:DSH挂了也能救插件以host模式运行,DSH起不来时tools/webServer等都不在,界面打不开,走局外:`它拉起**纯本地`127.0.0.1`**服务器加内置网页 五、诊断与重启验证undo_doctor查存储侧(目录可写性、blob完整性等)与启动侧——后者抓「会让DSH在挂载任何插件之前就崩掉」的硬失败:profile清单结构、dsh.profile.bundles 上长期跑DSH、需「崩了能远程救回来」的运维;频繁改profile与插件代码树的重度用户;升级DSH前想先兜一张保险快照的人。
那种做法只是套了个浏览器,进程生命周期、托盘、通知全都和dsh内部状态脱节。 DSHDesktop是按dsh现有架构实现的一个真正的桌面应用——dsh作为宿主跑在Electron主进程里,桌面能力直接订阅它的内部事件。 先把两个同级依赖clone下来(dsh和dsh-market,均为源码引用、非submodule),再执行:展开代码语言:BashAI代码解释#①本工程依赖(npm:Electron/Forge/Vite )npminstall#②dsh依赖(在.. 补丁按dsh版本分目录存放(patches/<dsh-tag>/),升级dsh时新增对应目录即可。
◆二、它具体让OpenClaw/DSH好在哪里◆2.1更安全:从“限制目录”升级为“隔离执行世界”DSH自带的dsh-sandbox面向同一操作系统中的进程限制。 代码见dsh-plugin。它已经摆脱Skill和宿主包装脚本,但工具名仍是cube_*,还不是对DSH原有Bash/Editor/Terminal的透明替换。 /cubesandbox_openclaw_dsh_smoke.py)。 8.4DSH实战:DeepSeekV4Pro自动加载Skill并调用包装工具DSH同样可以先走轻集成:给它一个Skill,要求遇到不可信Shell、仓库或附件时调用固定的cube-run包装工具。 /dsh-plugindshweb--patch.
我让Hermes和DSH组队后,效率提升了10倍》一个新问题的出现,让这套组合给了我一个新的灵感。 这个情况在此之前是非常棘手的,直到有了同一个环境下的DeepSeekHarness(后文简称DSH)。为什么DSH可以? 我让Hermes和DSH组队后,效率提升了10倍》注意,这里让DSH解决问题时,需要确保在home/agentuser这个目录中。 这里有一步可选的增强配置,就是先给DSH一本HermesAgent的操作手册,这样可以省去很多DSH自己挖掘HermesAgent如何配置的过程。 /hermes-agent-skill-for-dsh。
余额鲸鱼挂件(包名dsh-whale-widget,作者MeteorNOX,GitHub2,689Star)是DSHWeb的标准bundle插件:每60秒拉一次DeepSeek余额、用「余额观测」推算今日已用 /路由虽已接入信任栅栏(裸curl返回401、伪造Host头返回403),但把界面本身开到公网,等于把整个DSH会话暴露出去。 配置只需一个凭据DEEPSEEK_API_KEY(DSH凭据服务里配置),不需要DEEPSEEK_PLATFORM_TOKEN,配置文件只存凭据名、密钥不落配置文件。 解决方案:确认dump-config里有dsh-whale-widget,重启dshweb后再F5,仍不出现就Ctrl+F5。 解决方案:先去DSH凭据里配置DEEPSEEK_API_KEY,再点鲸鱼手动刷新一次,等首次观测成功。另外注意裸curl返回401/403是预期行为,不代表接口坏了。
dsh-mnemon(三层记忆系统)是DeepSeekHarness的记忆插件,仓库为omdsh-dev/dsh-mnemon,站点分类「对话/记忆」,站点安装检查显示可直接安装,已汉化,Star369 总结在腾讯云CVM上跑dsh-mnemon,核心是三件事:安全组只留22并按来源IP收敛、WebUI走SSH隧道而不开公网、数据盘加常驻加日志轮转一起做;想对照同类插件的中文清单与安装形态见DeepSeekHarnessHub 标签:dsh-mnemon、DeepSeekHarness、腾讯云CVM、部署教程本文由DeepSeekHarnessHub自动整理,数据来源于插件详情页。
部署的两条边界托管部署使用HTTPvhost指向DSH的回环网关:VPS上的明文vhost只允许回环访问,公网HTTPS由Caddy提供;脚本不会覆盖非DSHMobile管理的Caddy配置,原有站点不会被顶掉 清理则分两侧:本机只删插件管理的文件,purge会删掉整个$DSH_HOME/mobile-access/目录和插件创建的Windows防火墙规则,但不会动VPS。
一、为什么要配置第三方兼容API接入DeepSeekHarness(简称dsh)是DeepSeekAI开源的智能体框架,采用插件化架构,底层由Cordis驱动。 第三方大模型API兼容服务,依托国内可访问的服务节点,提供标准化OpenAI协议接口,能够低成本调用各类主流大模型,这也是在dsh中配置第三方服务的核心意义。 通过兼容API服务接入,不需要管理海外官方账号,即可在dsh框架内完成调用。 node-v第三方API密钥:格式为sk-xxxx,在对应服务商后台申请获取服务接口地址(BaseURL):服务商提供的OpenAI兼容接口地址,格式示例https://服务商域名/v1四、安装并启动dsh 配置完成后,就可以在dsh本地Web界面调用兼容协议的大模型,结合框架自带的文件读写、终端调用、网页检索、插件扩展等智能体能力,把大模型能力落地到本地开发环境完成各类任务。
为此我做了 dsh-plugin-git-inspect,一个面向 DeepSeek Harness 的只读 Git 检查插件。 项目地址:https://github.com/Wanbinyu/dsh-plugin-git-inspect它提供什么插件向 Harness 注册了 10 个工具:git_status:查看分支和工作区状态 dsh plugin --profile web add github:Wanbinyu/dsh-plugin-git-inspect安装后重启 Harness。 仓库已包含 cordis.patch.yml 和 dsh.bundle 声明,可以通过 profile 插件流程组合。
这不是纸面流程,是我在腾讯云CVM上真实跑过一遍的复盘:一次平平无奇的插件升级,让DSH再也起不来。 机器早已装了dsh-undo-savepoint:npmlatest0.4.10、星标171、综合分61.7、周下载663、L4真实安装验证(dsh0.2.0-rc.2)、MIT,engines要求>= 重启之后,DSH起不来了升级完按提示重启,DSH直接挂在启动阶段,报错写着duplicateloaderentryid:profile补丁里出现两条同id的loader条目,启动器硬校验直接失败。 安全模式禁用除本插件外全部插件保证DSH能启动,并自动快照+备份profile/home双级patch。 适合与不适合适合:在腾讯云CVM上跑DSH、升级频繁、要随时能落的保险快照的团队;常改profile与插件代码树的人;遇到过DSH完全起不来、想留离线救援通道的运维。
在腾讯云CVM上跑DSHWeb并挂上dsh-skill-mcp-panel,难点不在安装命令,而在CVM特有的三件事:安全组默认只放行很少端口、浏览器与网关不在同一台机器、实例规格与系统盘要提前算。 一、实例规格与系统盘DSH网关是Node服务,插件安装不编译,但profile目录的node_modules与日志会占空间。 用github:Fishquito7/dsh-skill-mcp-panel安装时,安装被拒或被跳过构建。原因。Git来源的依赖默认禁止运行prepare构建脚本。解决。 js表达式——DSH配置层唯一的插值机制,由宿主装载时求值。解决。直觉写法就用${NAME};要写任意JS表达式才用!!js前缀(原样透传),读回来仍是${NAME}。 只填要改的那一项,其余留空交给「保留旧值」逻辑,改完用dsh-panelmcptest验证。坑四·update之后页面没动,或者刷新了服务端行为仍旧现象。