Back to home@djs326

dsh-titlebar-feed

DSH Desktop 标题栏信息条插件:修复 Windows 无边框标题栏遮挡,提供可配置信息条(静态文本 / HTTP 接口 / JS 函数 / 系统指标),支持分页、动态切换与快捷键。npm: dsh-titlebar-feed

Stars
0
Language
JavaScript
Created
Aug 30, 2026
Updated
Aug 30, 2026
GitHub repo

Introduction

dsh-titlebar-feed

npm CI

DSH Desktop(DeepSeek Harness 桌面版)的标题栏信息条插件,合并两项职责:

  1. 修复 Windows 标题栏遮挡:无边框窗口的 36px 拖拽区 + 右上角窗口按钮会盖住填满主对话列的插件(taskboard / ssh / im / better-sidebar 等)工具栏;本插件给主对话列加顶部内边距让位。
  2. 标题栏信息条:在腾出的顶部空间显示一条用户可配置的信息条,同一时刻显示一条 feed。

纯插件实现,不改 DSH Desktop 源码,卸载即还原。

Feed 类型

类型说明
static 静态文本直接显示文本,可长(自动分页)
http HTTP 接口GET 指定 URL,可选正则提取
js JS 函数用户 JS 函数(node:vm 沙盒),return 文本
system 系统指标CPU / 内存 / 网络上行·下行 / 磁盘 / 电池 / 开机时长

系统指标

  • CPU / 内存 / 开机时长:Node 原生 os(CPU 用相邻采样差值,反映实时占用)。
  • 网络 / 磁盘 / 电池:内嵌 systeminformation(vendor 进本插件,绕开 dsh host 端解析不了外部依赖的问题)。

快捷键

快捷键作用
Ctrl + ↑ / ↓上一条 / 下一条 feed(循环切换)
Ctrl + ← / →(或 Ctrl + PageUp / PageDown翻页(长内容)
Ctrl + 1..9直接切到第 N 条 feed

架构

分 host / client 两半,host 抓数据、client 渲染:

  • hostindex.js + lib/*):持有一组 feed,定时刷新内容,注册 /dsh-titlebar-feed/state(返回当前显示文本 + 分页信息)与 /dsh-titlebar-feed/action(设置/切换/翻页)。
  • clientclient.js):注入标题栏让位 CSS、渲染信息条、监听快捷键,并在「设置」面板提供 feed 增删改(settings.section slot)。

安装

已发布到 npm,可直接安装:

npm install dsh-titlebar-feed

本地开发用 link 指向本目录即可;也可从 GitHub 仓库 djs326/dsh-titlebar-feed 克隆。

开发 / 测试

npm install
npm test        # vitest:feed-runner / sandbox / system 单测

配置

feed 配置持久化在 $DSH_HOME/dsh-titlebar-feed.json$DSH_HOME 为 harness 目录),重启不丢。

说明 / 已知限制

  • 同一时刻只显示一条 feed(activeId)。
  • JS 沙盒仅暴露 Date / Math / JSON / URL,不能联网 / require / process;需要联网请用「HTTP 接口」类型。
  • 插件只在 DSH Desktop 壳内激活(检测 window.dshDesktop),不污染普通 dsh web。