All plugins

DSH / BUNDLE / CLIENT-UI

dsh-self-restart

v0.1.0deadbushxw / dsh-self-restart6d290e5b12

InstallableBundlesUI & client pluginsCommunity · Topic auto-analysisWeb UI

Overview

dsh-self-restart

DSH Host + Client plugin: restart the application from a tool call and continue in the same conversation, plus the page-reload entry point the packaged desktop build does not have.

README / EN

Package documentation

Registry summary

DSH Host + Client plugin: restart the application from a tool call and continue in the same conversation, plus the page-reload entry point the packaged desktop build does not have.

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- **仅限 Windows。** 优雅关闭是一串 Windows 消息,强杀路径是 `taskkill`;这里没有 macOS 或 Linux 的等价实现。 - **优雅关闭依赖 Electron 一个可能变化的既有行为。** 向壳主窗口投递 `WM_ENDSESSION` 会让 Electron 发出 `session-end` 事件,而这正是 DSH 自己收尾路径的开关。如果将来的 Electron 不再这么做,优雅这一步就只会超时,然后由强杀接管。这也正是它写成「优雅优先、强杀兜底」 而不是「优雅关闭」的原因。 - **没有设置页,也没有 Schemastery 的 `Config` schema。** 声明 schema 就意味着 import `@deepseek-ai/schemastery`;而插件解析的是自己的 import——那些 `@deepseek-ai/*` 运行时包 从 DSH 安装目录解析,而不是从 profile 安装的插件解析,所以 import 它们会绑上**第二份** 模块实例,它的常量与 `instanceof` 判断和正在运行的宿主并不一致。因此本插件用 `ctx.tools.register` 直接接受的普通对象形态注册工具,并自己校验配置。代价是真实的: 配置是文件,不是表单。 - **宿主半侧无法主动申请权限升级。** DSH 的升级辅助函数位于一个 profile 插件解析不到的随附 包里,所以插件会尝试,失败后**如实说明没有申请升级**,而不是假设已经批准。该调用依然受会话 自身的权限模式约束,而「不要结束别人的回合」这条护栏是独立强制的。 - **被重启的会话是用用户消息接回来的,不是系统消息。** 这是刻意的——它可见、可反驳、可审计 ——但也意味着对话里会有一条用户没打过的内容。 - **每次启动最多投递一次。** 「已接受」的意思是会话控制器收下了这条消息,不代表模型已经开始 回答,因为唤醒 agent loop 是异步的。 - **刷新入口是两个,不是四个。** 页面可以由工具调用刷新,也可以由侧边栏底部、设置按钮旁边的 那个按钮刷新。没有快捷键,也没有状态条:快捷键需要通过一个本包并不依赖的客户端服务注册, 而一个静默注册失败的键位比一个从没承诺过的键位更糟。设计里入口集合本来就是未定的, 这里是「不靠猜私有 API 就能做出来并验证」的那个子集。 - **强制重启可能截断上一轮。** 执行体会说明、回执会说明、续跑消息也会说明。DSH 在恢复会话时 会自己收尾一个被中断的回合,所以日志始终是完整的——但那段从没被写下来的尾巴是真的没了。 - **子进程依然会死。** 这个插件让 DSH 的关闭变成优雅的,而不是保持服务存活;这是两件事。 任何必须活过重启的东西,都得在 DSH 之外启动。 - **它不是崩溃守护。** DSH 自己崩了不会触发任何重启;插件只在 agent 要求它动手时才行动。 ---