Chuyển đến nội dung chính

dsh-exit

Đã xác minh

@kesike/dsh-exit · v0.2.5 · MIT · Giao diện web

在 dsh web 界面提供退出按钮:确认后结束宿主进程并释放端口

Cài đặt

dsh plugin add @kesike/dsh-exit

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Thẻ

Tác giả

Readme

dsh-exit

为 DeepSeek Harness Web 界面提供一个明确、可确认的退出控制。

dsh Web 插件 npm 平台 版本 依赖

简体中文 | English

[!IMPORTANT] 确认退出后会结束 dsh 宿主进程并释放其占用的端口;宿主终端窗口和当前浏览器标签页会被刻意保留。

✨ 功能概览

dsh-exit 在 dsh 设置面板中增加一个独立的退出栏目,并使用最高排序值,确保新安装的设置类插件仍排在它前面。

  • 先弹出确认弹窗,确认前不会执行退出动作。
  • 退出栏目始终位于设置左侧导航的最底部。
  • 确认后调用类型化的 dshExit/exit Remote 方法。
  • 先返回调用应答,再等待短暂窗口结束宿主进程。
  • 释放该进程占用的全部端口;设置页会显示当前 dsh Web 的真实主机和端口。
  • 保留宿主终端窗口和浏览器标签页,方便后续操作。
  • 使用 dsh 现有设计令牌与 Lucide power 电源图标。

🎬 GitHub 展示区

下面展示退出流程,以及插件在 dsh 设置面板中的实际效果。

由 Archify 生成的横版 dsh-exit 动态流程图

下载退出流程视频

📸 真实 dsh 界面

下图是已经安装 dsh-exit 的真实 dsh 设置界面;红色的退出就是设置左侧列表底部的插件导航项。

运行中的 dsh Web 设置界面与底部的 dsh-exit 退出栏目

🧱 npm 包内容

层次 文件 职责
宿主侧 lib/index.js 注册 dshExit Cordis 服务和类型化 exit() Remote 方法。
客户端 lib/client.js 自包含浏览器 bundle:设置栏目、退出按钮、样式、弹窗、键盘交互和 Remote 挂载。
Bundle 补丁 cordis.patch.yml 向 dsh profile 插入插件行。
包元数据 package.json 声明宿主入口、Web 客户端和 Bundle 补丁。

npm 包聚焦于运行所需的源码和包元数据,下面同时提供截图和流程源文件:

展示素材 位置
动画 WebP docs/dsh-exit-landscape.webp
MP4 / WebM 视频 docs/dsh-exit-landscape.mp4 · docs/dsh-exit-landscape.webm
Archify 源文件 docs/exit-flow-landscape.html · docs/exit-flow-landscape.workflow.json
真实界面截图 docs/dsh-exit-real.png

🚀 从 npm 安装

直接将 npm 包加入 dsh 的 Web profile:

dsh plugin --profile web add @kesike/dsh-exit

安装后重启 profile。裸导入由 dsh 宿主加载器解析,因此本包不声明运行时依赖。更新或移除:

dsh plugin --profile web update @kesike/dsh-exit
dsh plugin --profile web remove @kesike/dsh-exit

🖥️ 交互说明

操作 结果
点击设置左侧列表底部的红色退出栏目 打开退出栏目和确认操作。
点击取消、按 Esc 或点击弹窗外部 关闭弹窗,不改变宿主状态。
点击确认退出 禁用重复操作并调用宿主 Remote 方法。
Remote 调用失败 恢复控件并显示行内错误信息。
Remote 调用成功 关闭弹窗,宿主随后退出。

🔌 Remote 接口

宿主侧公开一个严格校验、无参数的 Remote 方法:

namespace: dshExit
method:    exit
result:    true
gateway:   /api/dshExit/exit

dsh 客户端网关成功时返回标准 envelope:{ ok: true, value: true }。服务端通过 exiting 标志防止重复调用,并在应答有机会完成后延迟执行 process.exit(0)

🧪 开发检查

在项目根目录执行轻量语法检查:

node --check lib/index.js
node --check lib/client.js

🗺️ 快速信息

  • 目标: DeepSeek Harness Web profile
  • 安装方式: npm 包
  • 界面位置: 设置左侧导航的最后一栏
  • 执行动作: 结束 dsh 宿主进程
  • 运行端口: 从设置页当前 dsh Web 地址动态读取
  • 仓库主题: dsh · deepseek-harness · dsh-plugin · plugin · javascript · web

电源图标来自 Lucide,遵循其 ISC 许可使用。

界面小而专注,退出动作明确且可预期。