🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话头刷新按钮 day-day-dream/dsh-page-refresh

DeepSeek Harnessv1.0.0
day-day-dream11 天前有提交已提供中文文档扫描:含敏感能力

dsh-page-refresh · 为 DeepSeek Harness 官方桌面版设计的会话头工具按钮

31.4/100
综合分
2
GitHub 星标
796
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-page-refresh
npm 源 · dsh-page-refresh 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · chat
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功(非静态推断);本次验证针对插件 v1.1.0,当前版本为 v1.0.0
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过

安装清单取自 plugins/dsh-page-refresh/package.json

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-page-refresh @ 1.0.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:19:43

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 19 处,展示前 12 条)
  • 读取本地文件
    lib/index.js:81
    if (!existsSync(LOG_DIR)) mkdirSync(LOG_DIR, { recursive: true })
  • 写入本地文件
    lib/index.js:81
    if (!existsSync(LOG_DIR)) mkdirSync(LOG_DIR, { recursive: true })
  • 写入本地文件
    lib/index.js:82
    appendFileSync(LOG_FILE, line, 'utf8')
  • 读取本地文件
    lib/index.js:103
    if (!existsSync(WMI_LAUNCH)) {
  • 执行外部命令固定命令
    lib/index.js:110
    const child = spawn('powershell.exe', [
  • 读取本地文件
    lib/index.js:151
    if (!existsSync(JOURNAL_DIR)) throw new Error(`update journal dir not found: ${JOURNAL_DIR}`)
  • 读取本地文件
    lib/index.js:154
    for (const name of readdirSync(JOURNAL_DIR)) {
  • 读取本地文件
    lib/index.js:157
    const st = statSync(full)
  • 读取本地文件
    lib/index.js:165
    const raw = readFileSync(newest, 'utf8')
  • 写入本地文件
    lib/index.js:183
    appendFileSync(newest, lead + JSON.stringify(record) + '\n', 'utf8')
  • 发起网络请求
    client.js:151
    const r = await fetch('/api/power/close', { method: 'POST' });
  • 发起网络请求
    client.js:178
    const r = await fetch('/api/power/restart', { method: 'POST' });
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 会话顶栏刷新按钮
  • 纯客户端实现
  • 零token消耗

DeepSeek Harness 会话顶栏的刷新按钮(桌面优先,纯客户端,零 token)

README

由 DeepSeek 最新模型翻译生成
dsh-page-refresh · 为 DeepSeek Harness 官方桌面版设计的会话头工具按钮 给 DeepSeek Harness(下称 DSH)的 Web 界面加两个会话头按钮:一个 ↻ 刷新、一个电源菜单(重启 / 关闭 DSH)。 面向桌面版(Electron 壳)设计:桌面版里 F5 常被网页浏览区域吃掉,或与应用快捷键冲突,页面卡住时想刷新只能绕路;想退出应用又得去右下角托盘翻菜单。这两个按钮把它们放回会话头右上角,一次点击直达。Web 网页版同样可用(电源按钮在网页版下没有意义,见下文平台限制)。 位置示意 特性 - 刷新按钮:↻ 一点即重载页面,等价 F5,不丢会话数据 - 电源菜单:点电源图标拉出两个选项 —— 重启 DeepSeek Harness / 关闭 DeepSeek Harness - 位置固定:会话头右侧工具区(utilities 槽位),电源在左、刷新在右(order: 998 / 999) - 零 token:不注册任何 model tool,每轮对话成本为 0 - 零依赖:不启引擎、不写状态文件;host 半边只在收到点击时才动 - 样式随主题:菜单为半透明毛玻璃,继承当前主题文字色 电源菜单怎么工作的 写这个功能有两个硬约束:关掉之后不能被看门狗拉回来,以及重启要保留原来的启动参数。
展开完整文档(README 剩余 1 节)
dsh-page-refresh · 为 DeepSeek Harness 官方桌面版设计的会话头工具按钮

给 DeepSeek Harness(下称 DSH)的 Web 界面加两个会话头按钮:一个 ↻ 刷新、一个电源菜单(重启 / 关闭 DSH)。

面向桌面版(Electron 壳)设计:桌面版里 F5 常被网页浏览区域吃掉,或与应用快捷键冲突,页面卡住时想刷新只能绕路;想退出应用又得去右下角托盘翻菜单。这两个按钮把它们放回会话头右上角,一次点击直达。Web 网页版同样可用(电源按钮在网页版下没有意义,见下文平台限制)。

位置示意

特性

- 刷新按钮:↻ 一点即重载页面,等价 F5,不丢会话数据
- 电源菜单:点电源图标拉出两个选项 —— 重启 DeepSeek Harness / 关闭 DeepSeek Harness
- 位置固定:会话头右侧工具区(utilities 槽位),电源在左、刷新在右(order: 998 / 999)
- 零 token:不注册任何 model tool,每轮对话成本为 0
- 零依赖:不启引擎、不写状态文件;host 半边只在收到点击时才动
- 样式随主题:菜单为半透明毛玻璃,继承当前主题文字色

电源菜单怎么工作的

写这个功能有两个硬约束:关掉之后不能被看门狗拉回来,以及重启要保留原来的启动参数。

关闭:先尽力往 DSH 的 update-journal 追加一条 {"event":"quit-requested"}(应用自身托盘「退出」走的也是这个机制,装了看门狗就会认得它),再 taskkill 杀进程。

journal 是 opt-in 的:DSH 主进程读 DSH_DESKTOP_UPDATE_JOURNAL_DIR 环境变量,没设时它根本不建 journal。插件在这种情况下记录失败,但不拦着关闭 —— 没有 journal 的机器同样不会有读它的看门狗,直接杀就行。journal 目录按 DSH_DESKTOP_UPDATE_JOURNAL_DIR → ~/.dsh/logs/update-journal 两级定位。

重启:分两条路,优先本机定制,否则走通用路径。

- 若 ~/.dsh/freeze-restart-hidden.vbs 存在(定制重启链),走它,并传 fast 跳过链内的等待
- 否则调用本插件自带的 lib/dsh-power.ps1:读完当前主进程的完整命令行再杀,然后用同样的 exe、参数、工作目录重拉,所以 --user-data-dir 之类的启动参数不会丢

主进程的判据是父进程不在同名的这批进程里(Electron 入口进程的特征)。只用「命令行不含 --type=」筛选是不够的 —— 实测在一台机器上会剩下 3 个候选(crashpad_handler 等旁支也没有 --type=),有可能抓错进程,用错的 exe 路径去重拉。

点下去的瞬间界面就消失:渲染进程拿不到 Electron 的 app 对象(contextIsolation),调不了 app.quit();DSH 的 26 个 DESKTOP_IPC 通道里也没有退出通道(已翻过 app.asar 确认)。所以走的是「点击的同一个 tick 里全屏盖黑 + 后台杀进程」—— 感知上是零延迟,进程其实在约 200 毫秒后死。

平台限制

电源菜单目前是 Windows 专用。

- 关闭用 taskkill、通用重启用 PowerShell + WMI 读进程信息 —— 都是 Windows 命令
- 在 macOS / Linux 上,两个按钮会明确报失败(不会静默无反应);刷新按钮不受影响

验证范围:本插件在一台 Windows 11 机器上实测通过(刷新、拉起菜单、重启、关闭,以及通用重启路径的 probe 模式)。通用路径(dsh-power.ps1)的读参部分已用只读 probe 验证能取到正确的 exe 与参数,但尚未在第二台机器上端到端跑过。 如果你在别的机器上遇到问题,请带 ~/.dsh/logs/ 里的相关输出提 issue。

安装

npm(已发布 dsh-page-refresh):

npx @deepseek-ai/dsh plugin --profile web add dsh-page-refresh

或从源码(本仓库插件在 plugins/dsh-page-refresh/):

npx @deepseek-ai/dsh plugin --profile web add "<本仓库路径>\plugins\dsh-page-refresh"

桌面版注意:桌面版宿主运行的是 desktop profile,而 plugin add CLI 拒绝管理它("managed exclusively by the Electron application")。此时需手动登记三处,缺一不可:

1. ~\.dsh\profiles\desktop\package.json → dependencies 加 "dsh-page-refresh": "link:<插件路径>"
2. 同文件 dsh.profile.bundles 数组加 "dsh-page-refresh"
3. 在 ~\.dsh\profiles\desktop\ 下执行 pnpm install(落 symlink)

全部完成后重启 DSH 生效。

卸载

npx @deepseek-ai/dsh plugin --profile web remove dsh-page-refresh
桌面版手动装的:把上面三处登记原样撤掉,再重启

改造

plugins/dsh-page-refresh/client.js 里:

- 换位置:调 order(越小越靠左)
- 换图标:IconPower / IconRestart 是内联 SVG,改 d 属性即可
- 换行为:改 fire() 里的 fetch('/api/power/…') 改客户端代码不需要重启 DSH,保存后刷新页面即生效(宿主按文件内容哈希发版)。
改 lib/ 下的 host 半边(含 dsh-power.ps1)需要重启 DSH。

文件结构

plugins/dsh-page-refresh/
├── package.json # dsh.bundle.patch + dsh.client 声明 ├── cordis.patch.yml # bundle patch:插入插件行 ├── screenshots.json # 插件市场截图声明 ├── assets/ # 截图 ├── lib/ │ ├── index.js # host 半边:/api/power/{status,restart,close} 三条本地路由 │ └── dsh-power.ps1 # 通用重启/关闭脚本(读原命令行后重拉) └── client.js # 客户端半边:注册 utilities 槽位两个按钮

lib/*.ps1 必须是纯 ASCII:Windows PowerShell 把无 BOM 的 .ps1 当 ANSI 读,非 ASCII 注释会破坏解析。

已验证环境

- DSH 0.2.1-rc.2(官方桌面版)
- Windows 11 + Edge/Chromium 内核
- 需要 package.json 带 "type": "module"(宿主按 ESM 解析 host 半边,缺了会静默跳过整个 bundle)

License

MIT
预览分享卡片长什么样 ↓day-day-dream/dsh-page-refresh
分享 · DeepSeek Harness Hub
day-day-dream/dsh-page-refresh

dsh-page-refresh · 为 DeepSeek Harness 官方桌面版设计的会话头工具按钮

这是你的仓库?认领条目

回到顶部