在输入框下方查看这台电脑的剩余电量与充电状态
29.5/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add northstacker/dsh-battery-level-indicator该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
在输入框下方显示这台电脑的电量和充电状态,任何设备打开看到的都是同一台电脑的电量。
README
由 DeepSeek 最新模型翻译生成dsh-battery-level-indicator
English · 简体中文
在 DeepSeek Harness Web UI 的输入框下方那一行里,显示这台电脑的电池状态。
plugin_manager → install_bundle → target: <本目录>
- 剩余电量百分比,电池图标会按电量填充。
- 充电状态:充电中、即将充满、已充满、电源已连接、使用电池。
- 用电池供电时还会显示预计剩余时间。
- 用电池且电量低于 20% 时,读数变成错误色。
- 文案来自客户端 locale 服务(en、zh),跟随界面语言。
在手机或平板上打开同一个 Web UI,显示的仍然是这台电脑的电量——因为读数是在 Host 上取的,见下文。
为什么由 Host 读电池
这个数字必须描述运行 Harness 的那台电脑,而不是正在看页面的设备。浏览器的 Battery Status API 报告的是当前查看设备的电量,所以手机打开同一个界面会显示手机自己的电量。
1.1.0 因此把读数搬到了 Host:
1. index.js 采样本机电池,缓存 4 秒,通过 GET /battery-indicator/state 以 JSON 返回。
该路由在应答前会走 Connection 的 Host/Origin 与浏览器凭据校验。
展开完整文档(README 剩余 1 节)
dsh-battery-level-indicator
English · 简体中文
在 DeepSeek Harness Web UI 的输入框下方那一行里,显示这台电脑的电池状态。
plugin_manager → install_bundle → target: <本目录>
- 剩余电量百分比,电池图标会按电量填充。
- 充电状态:充电中、即将充满、已充满、电源已连接、使用电池。
- 用电池供电时还会显示预计剩余时间。
- 用电池且电量低于 20% 时,读数变成错误色。
- 文案来自客户端 locale 服务(en、zh),跟随界面语言。
在手机或平板上打开同一个 Web UI,显示的仍然是这台电脑的电量——因为读数是在 Host 上取的,见下文。
为什么由 Host 读电池
这个数字必须描述运行 Harness 的那台电脑,而不是正在看页面的设备。浏览器的 Battery Status API 报告的是当前查看设备的电量,所以手机打开同一个界面会显示手机自己的电量。
1.1.0 因此把读数搬到了 Host:
1. index.js 采样本机电池,缓存 4 秒,通过 GET /battery-indicator/state 以 JSON 返回。
该路由在应答前会走 Connection 的 Host/Origin 与浏览器凭据校验。
2. client.js 轮询该路由(20 秒一次,外加 visibilitychange 和 focus),先试相对文档的 URL 再试站点根 URL(这样挂载在子路径下也能用),并保留上一次成功读数以熬过瞬时失败。
客户端从不调用 navigator.getBattery()——在手机上那样只会报告手机自己。Host 没有电池、或样本解析失败时,这一行会直说读不到,而不是猜一个数字。
平台支持
| 平台 | 数据来源 | 说明 |
| macOS | /usr/bin/pmset -g batt(经 ctx.subprocess) | 充电状态与剩余时间 |
| Linux | /sys/class/power_supply/BAT*/ | capacity、status,并用 energy_now/power_now 算倒计时 |
| Windows | — | 返回 unsupported-platform,界面显示读不到电池 |
两条采样路径返回同一个 JSON 形状,所以客户端不需要知道自己在哪个平台:
{ "ok": true, "available": true, "level": 82, "state": "charging",
"charging": true, "secondsLeft": null, "powerSource": "AC Power",
"sampledAt": "2026-10-28T06:10:58.570Z" }
state 只会是 charging、finishing、charged、discharging、idle、unknown 之一——一个客户端能翻译的小词表,新平台只要往这里映射即可。
文件
| 文件 | 作用 |
| package.json | bundle 清单:patch、dsh.client、exports、files |
| cordis.patch.yml | 插入 battery-indicator 这一行 |
| index.js | Host 半边:采样 pmset 或 sysfs,提供 /battery-indicator/state |
| parse.js | 两个平台的纯解析函数,所以形状可以在任何机器上测 |
| client.js | 在 conversation.composer.dock 注册,以及读数组件 |
| locale/en.json、locale/zh.json | 插件管理器 / 设置里的标题与说明 |
| icon.svg | 插件图标 |
测试
node test/parse.test.mjs # 58 项检查,覆盖真实 pmset 输出与 sysfs 读数
解析函数是纯的,所以这套测试在任何机器上都能跑——包括没有电池的 CI。
变更记录
- 1.2.0 — 通过 sysfs 支持 Linux;解析逻辑抽到 parse.js 并配上测试;修复 discharging 被判定成 charging 的问题(原先先匹配 charging 再匹配 discharging,而后者包含前者)。
- 1.1.0 — 读数搬到 Host,让每台设备都显示电脑的电量。
- 1.0.0 — 第一版,使用浏览器 Battery Status API。
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
northstacker/dsh-battery-level-indicator
在输入框下方查看这台电脑的剩余电量与充电状态
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,362已汉化DSH
71.4
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,076已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,814已汉化DSH
71.1
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。