Repository navigation
Releases: GEORGEWWWU/NotchPeninsula
Release list
NotchPeninsula 2.0.2
💎 插件生态补齐 / 崩溃诊断 / 系统级快捷键
NPS v2.0.2 补上插件系统的几块拼图:插件能接管 SMTC 给不出的时间轴、卸载时能清理自己的数据、装不上时能说清是哪一类问题;同时新增崩溃独立留档与一键导出诊断包,用户报 bug 不用再从「你能不能截个图」开始。系统级快捷键录制改用低层键盘钩子,Win 组合键终于录得进去;另外修掉进度条回弹、显示器拔插越界、歌词扫光抽搐、设置窗口拖动撕裂等一批问题。
NEW
插件加载失败:现在会说清是哪一类问题
以前不管什么原因都是同一句「请确认已使用最新 NPS」,用户和开发者一起猜。
- 五类归因:找不到插件入口 / 不是有效程序集(位数不匹配或文件损坏)/ 缺依赖文件 / 引用了旧版 API / 初始化抛异常
- 归因先看「加载走到哪一步」,而不是看异常类型 ——
Initialize里插件什么都能抛,只看类型分不清是它崩了还是接口对不上 - 原因下方给可点的 QQ 群号;只有「版本 / 接口不匹配」这一类才额外提示去插件市场详情查看该插件依赖的 NPS 版本
- 插件卡片头只写「导入失败」,不再把原因硬塞进一行被截断的小字
一键导出诊断包(设置窗口左下角)
用户报问题时按一下,zip 自动生成到桌面并选中,直接拖进聊天窗口发出来。
- 内含:版本 / 运行时 / 系统架构 / 进程信息 / 显示器拓扑 / 宿主配置全量快照 / 已装插件清单 / 最近两份日志 / 最近三份崩溃
- 只打包 NPS 自己的注册表键,不碰用户其他数据
崩溃单独留档
- 崩溃不再只往 1MB 轮转的 app.log 写一行 —— 一次崩溃风暴足够把现场连冲两轮
- 每次崩溃独立成文件,含完整异常链、系统信息与崩溃前 40 行日志,保留最近 20 份
插件外部媒体源:网易云 / 酷狗的时间轴
这类播放器在系统媒体会话里给不出时长与进度,歌词只能停在加载中。
- 插件可实现
IMediaSessionSource,把自读的时长与位置交给宿主 - 只接管时间轴,歌名 / 歌手 / 封面一律仍以 SMTC 为准 —— 双源会让同一首歌的身份来回跳,切歌时封面闪、歌词一直加载
- 宿主只在「SMTC 给不出时间轴」时启用,正常播放器零额外开销
插件卸载清理
RegisterUninstallDirectory:插件登记自建数据目录,卸载时多问一句「要不要一起删」,并给「打开目录」让用户先看一眼;不登记就完全没有这一步RegisterUninstallAction:卸载前执行一次插件自己的清理(注册表项、外部进程),只在真正卸载时跑,禁用 / 重载 / 退出都不执行- 删除前走宿主兜底校验,系统目录 / 用户目录 / 盘符根 / 宿主目录一律拒绝
唤出 / 隐藏灵动岛快捷键
- 交互设置里可绑一组全局热键,预置
Alt + I,出厂关闭 - 隐藏时连自动隐藏那颗唤醒按钮一并收起,唤回只认快捷键与托盘菜单
- 是否隐藏只活在本次运行、不写注册表 —— 万一键位被别的程序占着,重启就能把岛找回来
系统级快捷键录制
- 录制改挂低层键盘钩子:
Win + 任意键、Alt + Tab、Ctrl + Alt + 方向这些原先在系统层就被吃掉的组合终于录得进去 - 录不出来还照旧产生副作用的问题一并消失(不再顺手切窗、贴边)
- 录制期间两组热键全部挂起,避免「按一下看看录成什么」变成真的切歌
通知头像
- 聊天类通知优先显示消息头像(QQ 好友 / 群头像),显示优先级固定为 头像 > 图标 > 兜底
- 头像比图标大 5px、取 50% 圆角成正圆、按短边居中裁方,非正方形头像不会被拉变形
- 系统 Toast 里读不到的头像会去通知库后台取证;插件侧新增
ReminderData.AvatarPath,MSP 通道支持role=avatar及同义词
插件包(ZIP)整包安装
- 带附属文件的插件(dll + helper exe)可整包导入,全部落进
plugins\<名字>\ - 压缩时多套一两层文件夹也能找到真正的插件根
UPDATE
- 侧栏切页统一到一个入口:切页时自动清掉上一次操作留下的提示(导入失败 / 安装失败 / 导出失败 / 快捷键保存提示),不再出现「切回来还挂着刚才那句红字」
- 弹窗改为真正的模态:打开期间侧栏、顶栏、列表、滚轮一律不响应,只有弹窗自己的按钮与链接可点
- 插件市场主按钮新增第四态「启用」:已装但没在跑的插件点一下就起来,不用先卸载再装
- 插件没跑起来时(禁用 / 加载失败)市场页与插件页的状态判定统一,不再一处写运行中、一处写已禁用
- 市场页分类与排序下拉的箭头几何统一,以后调只改一处
- 目标显示器下拉优先于同区域的显示模式分段器判定,点击不再被吃掉
- 插件导入 / 安装失败:卡片头只给结论,具体原因交给弹窗按类说明
FIX
- 修复进度条拖动后回弹:外部源驱动时,拖动落定期内不再用插件快照覆盖位置
- 修复外部源元数据双源导致的会话频繁切换(表现为切歌封面闪、歌词一直加载中)
- 修复显示器拔插 / 分辨率变化后目标下标越界:
WM_DISPLAYCHANGE作废缓存,越界值就地夹紧并写回注册表 - 修复歌词位置回退导致的扫光倒缩与叠化反复重启(位置各自单调化,拖动与真实 seek 照常跟随)
- 修复快捷键录制「点了没反应、窗口还跳动」
- 修复设置窗口拖动时不跟手、出现两个光标、半张窗口空掉:拖动期不再插入任何重绘与材质重贴
- 修复输入法在插件市场搜索框下另浮一个组字小窗(改用
CFS_FORCE_POSITION) - 修复市场页「禁用 → 重新安装」后插件实际在跑却显示已禁用、重启又被跳过
- 修复键盘钩子超时释放时
CallNextHookEx传空句柄
插件市场
NPS v1.6.0 起开放对插件的支持,允许用户下载使用、自由开发、分发dll插件,获取插件请前往 NPS官网,若要上传插件前往 插件分发入口,同时我们为各位准备了一份完整且易懂的插件开发文档 点我阅读Wiki。
通过对插件的支持,将刘海/灵动岛推向一个自由度更高的高度,目前已经开放了大部分接口与能力,详情参考Wiki。关于 NPS 的更多玩法和特性也可以查看 NPS 进阶玩法(Wiki)。
👉 如何下载与安装插件?
下载方式(二选一):
方式一(推荐):通过内置插件市场直接进行安装、更新和卸载等操作,无需再执行下方手动安装。
方式二:访问 官方插件市场 下载插件(.dll)文件,然后通过以下两种方式手动安装。
手动安装方式(二选一):
方式一(推荐):打开 NPS,插件中心 -> 导入DLL 即可,插件默认会自动启用,否则手动启用插件;
方式二:放置到本软件 NotchPeninsula.exe 同目录下的 plugins 文件夹内(若没有此文件夹可以手动创建),重启软件后在插件中心里启用即可。

NotchPeninsula 2.0
💎 首次启动引导 / 亚克力背景材质 / MSP 原生接入
NPS v2.0.0 主要新增首次启动引导、灵动岛亚克力背景材质与 MSP 原生接入(实验性),封面链路改为以网络源优先并修掉「封面永远慢一首」;设置窗口动画从 WM_TIMER 换成专用节拍线程,根治动画静默停摆;插件市场新增排序下拉,B站客户端的残留会话与换视频闪跳一并修掉;同时整体下线「剪贴板链接检测」并清理约 7500 行冗余代码,修复亚克力材质下的录屏闪烁、内存持续增长与译文残留等一批问题。
NEW
首次启动引导:一次问完形态 / 主题 / 材质 / 显示器 / 显示模式 / 开机自启
v2.0.0 新增首次启动引导,软件起来之前先走一遍四步向导,选完直接进灵动岛,不用再进设置里一页一页找。
- 四步:欢迎 → 形态 / 主题 / 材质 → 显示器 / 显示模式 → 开机自启
- 引导写入的注册表键与设置窗口完全一致 —— 在引导里改过就等于在设置里改过,之后在哪边调整都互不冲突
- 每个版本第一次启动自动弹一次;跳过 / 关闭 / 按 ESC 都算过,一律直接进软件
- 引导跑在独立线程并带看门狗:窗口 8 秒建不出来、心跳停摆、线程内未捕获异常,三种情况都立刻放弃引导继续启动,引导本身卡死不会拖住 NPS
- 引导窗口的弹出原因会写进日志(首次安装 / 版本变更 a→b / -onboard 强制),排查时不用再猜
- 想再看一遍:启动参数加 -onboard
亚克力背景材质:胶囊里铺的是真实桌面
个性化中心 → 主题卡新增「背景材质」一行,实体 / 亚克力二选一。选亚克力后,胶囊内是本机桌面的实时模糊,而不是一层半透明色。
- 抓屏 + 自模糊 + 胶囊路径裁切:从屏幕取像素后一步缩到 1/12(约 30KB)再平滑回原尺寸,不做整屏原图缩放
- 抓屏放在专用后台线程,渲染线程只取成品图 —— 逐帧提交不再等像素回读(读一次屏幕固定约 20ms,与抓多大无关)
- 录屏下不闪:不再给岛体开 WDA_EXCLUDEFROMCAPTURE(那会让窗口在所有捕获端周期性消失),改为抓屏后把岛体占的那块用左右邻像素横向插值抹掉 —— 实测改前约 11.5% 的帧看不到岛体,改后为 0
- 亚克力下背景不透明度上限收到 140,避免把模糊整个盖住
- 与 MSP 接入一样带琥珀色「实验性」标签,随时可切回实体
MSP 原生接入:把灵动岛暴露为节点 notchpeninsula(实验性)
来源:手动移植社区 PR(@hxh230802)。节点预设 LOCAL_SOFTWARE,目录发现与宣告都开,只提供两种基础模式(request-reply / publish-subscribe),pub / sub / req / rep 四能力齐全。
- 对外四个工具:ping / notify / media_status / media_control
- 广播四条信号:notify.toast.raised、notify.notchpeninsula.reminder.raised、media.track.changed、media.playback.changed
- 订阅 notify.**:对端发布的 notify 信号会显示在岛上;通知图标走 MCP 兼容的 content block,完全可选,不给图标才是主路径
- 媒体只广播事件级跃迁(换曲 / 播放态),不广播进度,不刷屏
- 默认关闭(打开会监听一个本地端口,属于对外暴露的接口面);勾选立刻生效不用重启,打开失败会把开关拨回去
- 接入文档已整理进项目 wiki,设置卡「实验性」标签右边的外链图标可直接跳转
UPDATE
- 「剪贴板链接检测」整体下线:设置里的开关卡片、岛上的链接面板、剪贴板监听器与相关 Win32 声明一并移除,仓库不留残留,README 与插件开发文档同步清理(该功能自 v1.7.0 上线,v2.0.0 起不再提供)
- 设置窗口动画改用专用节拍线程:此前依赖 WM_TIMER,定时器被系统消息挤掉时会静默停摆(动画卡住不动),现在由节拍线程每 15ms 推一次时钟,滑动进度每帧按时钟现算
- 设置窗口新增设置项切换动画:切换分段器 / 开关时控件有过渡,不再是硬切
- 设置窗口侧边栏去掉悬停背景,只保留选中态背景
- 封面链路改为以网络源优先:按歌名歌手精确匹配的网络封面(网易云 / QQ)比 SMTC 自带的缩略图更权威,SMTC 降为兜底;SMTC 侧改为按曲目世代管理并分档探测,同一张图稳定 1.5 秒才收工
- 视频模式下 PotPlayer 类播放器不再拿会话缩略图当封面(那其实是视频截图),直接使用应用图标;名单由 VideoIconOnlyPlatforms 控制,新增平台只改名单,放音乐时照常走完整链路
- 超长文字改真裁切:媒体标题、通知文本等不再用「渐变幕布 / 纯色片」盖住溢出部分(在亚克力或低透明度下就是一块突兀亮片),改为按区域真裁切
- 插件市场新增排序下拉:最热 / 评分 / 最新 / 名称四档,默认最热;官方插件无视排序关键字恒置顶
- 拖 DLL 进设置窗口任意页签都会自动切到插件中心 —— 拖进来就是奔着导入去的
- 设置卡片间距全局统一为 10px,各页卡高改由常量推导;个性化中心主题卡两行行距由 42 加大到 50,卡片高度同步 +8
- 托盘菜单顶部显示灰色版本号
- 托盘菜单的开机自启勾选块右移,不再贴菜单左边缘
- 通用设置页 MSP 卡「实验性」标签右边新增外链图标,悬停变主题蓝,点击跳接入文档
- 源码清理与内存优化:设置窗口与托盘窗口大量重复 / 失效代码删除,仓库净减约 7500 行;同时补上工作站 GC 配置(关闭服务器 GC、开启并发回收、回收后不保留堆段、ConserveMemory=5),并新增 10 分钟档的空闲内存回收
- 构建脚本重写,由社区 PR 贡献
- 插件 API:ReminderData 新增可选 Source 字段,通知「来源」栏不再一律写死「插件提醒」(插件不传时显示与原来完全一致)
FIX
- 修复多显示器选择下拉框交互问题,防止鼠标操作透传到下层
- 修复多显示器显示设置的相关bug
- 修复亚克力材质下 OBS 等录屏软件里灵动岛每秒数次闪没
- 修复亚克力背板整体透明:抓屏出来的 DIB 只有 BGR、alpha 全为 0,被当成全透明
- 修复亚克力抓取矩形越出屏幕:画布比屏幕宽,抓取区域改为与屏幕求交
- 修复亚克力长期运行内存持续增长(实测 +13MB/分):模糊链路里 Skia 的滤镜缓存按源图 uniqueID 只增不减,而背板每 250ms 就是一张新图,改用降采样再升采样做平滑
- 修复亚克力抓屏带来的掉帧:抓屏移出渲染线程,与渲染线程做成品图交接
- 修复「封面永远慢一首」:SMTC 在换歌瞬间给出的缩略图其实是上一首的,且网络封面到货后会被误判「同曲同源」丢弃
- 修复译文第二行在同语言句子上残留:上一句的译文被一直携带
- 修复设置窗口侧边栏滑动等动画静默停摆
- 修复亚克力 / 低透明度下文字溢出处的渐变幕布变成突兀亮片
- 修复设置窗口分隔线下方两行内容顶对齐的观感问题
- 修复手机推送(HTTP 接口)中文显示成字面量(如 MSP\u6d4b\u8bd5):推送体不再无条件把每个反斜杠翻倍,先按合法 JSON 直接解析,失败才退回修复逻辑
- 修复引导窗口相关的启动阻塞:窗口建不出来 / 消息循环卡死 / 线程内异常都不再拖住 NPS 启动
- 修复 B站客户端关掉视频后 SMTC 残留会话仍占着岛体:按「进程有没有可见窗口挂着当前标题」判定失效,残留态直接忽略并自动回落到下一个会话
- 修复 B站换视频时闪一下上一个视频:SMTC 标题本身滞后 2~3 秒,而视频窗口标题是即时更新的,改用实时窗口标题纠偏(仅在 App 白名单内生效)
插件市场
NPS v1.6.0 起开放对插件的支持,允许用户下载使用、自由开发、分发dll插件,获取插件请前往 NPS官网,若要上传插件前往 插件分发入口,同时我们为各位准备了一份完整且易懂的插件开发文档 点我阅读Wiki。
通过对插件的支持,将刘海/灵动岛推向一个自由度更高的高度,目前已经开放了大部分接口与能力,详情参考Wiki。关于 NPS 的更多玩法和特性也可以查看 NPS 进阶玩法(Wiki)。
👉 如何下载与安装插件?
下载方式(二选一):
方式一(推荐):通过内置插件市场直接进行安装、更新和卸载等操作,无需再执行下方手动安装。
方式二:访问 官方插件市场 下载插件(.dll)文件,然后通过以下两种方式手动安装。
手动安装方式(二选一):
方式一(推荐):打开 NPS,插件中心 -> 导入DLL 即可,插件默认会自动启用,否则手动启用插件;
方式二:放置到本软件 NotchPeninsula.exe 同目录下的 plugins 文件夹内(若没有此文件夹可以手动创建),重启软件后在插件中心里启用即可。

NotchPeninsula 1.9.5
🐈 内置插件市场 / 逐字歌词 / 待机模式回归
NPS v1.9.5 主要回归了待机模式(时间 / 空白 / 媒体控制三选一),新增逐字歌词与封面链路重构、设置窗口内置插件市场、媒体全局快捷键与插件只读数据桥;把渲染节拍、媒体采样与图标解析全部搬到后台线程,根治「切歌整岛卡死」,同时修复歌词扫光吞词、封面闪蓝色兜底、待机媒体点半边点不开等一批用户反馈问题。
NEW
💤 待机模式:只显示时间 / 空白 / 折叠媒体控制
进入待机后岛上只留最小形态,三选一:只显示时间、完全空白、折叠的媒体控制条。
- 切换方式:在岛上双击空白处,或 设置 → 显示设置 →「显示模式」(待机 / 普通)
- 待机与普通模式的当前状态会跨重启记忆
- 待机 + 折叠媒体控制时:左键点整块媒体区都能展开面板(此前只有左半边响应),双击退出待机,右键按落点直接打开对应设置页
- 待机模式下「显示内容」列表整栏置灰 —— 那一栏管的是普通模式显示什么,仍可滚动查看、但不能改
🎤 逐字歌词(不可用时自动回退卡拉OK)
歌词支持逐字扫光:优先按每个字自己的时值推进,某首歌拿不到逐字时间轴时自动回退成整行卡拉OK扫光。
行首提前量不再写死常数 —— 逐字行的提前量由歌词数据自身给出(这一行第一个字真正开唱的时刻与整行时间戳之差),封顶只用两条天然边界(不早于曲目开头、不早于上一行上台)。
扫光与选行共用同一个时钟原点,并在换行前把扫光收口到 100% —— 不会再出现「上台时扫光已经走过半句」或「尾巴被吞」。
开关位置:媒体设置 → 歌词设置 → 逐字歌词(不可用时自动回退卡拉OK),默认开启。
🖼 封面链路重构:会话自带优先 + 不再闪兜底
只要播放器通过 SMTC 提供了封面就优先用这一张(含 7 个主流音乐播放器与浏览器哔哩哔哩),不再等「按歌名去曲库搜」的网络请求 —— 封面出得更快,也更不容易取错版本。
切歌时保持上一张封面直到新封面到位;异步解析还没拿到的图绝不用来覆盖已有封面,修掉了切歌瞬间闪一张蓝色兜底图的问题。
🛒 设置窗口内置插件市场
插件中心里直接内置市场页(数据源 nps.georgewu.top):按分类(全部 / 主题外观 / 媒体增强 / 效率工具 / 开发者)浏览,支持搜索与「只看已安装」筛选,可下载 / 更新 / 重装,卸载前二次确认,点详情查看插件介绍;本机插件列表支持滚动。
⌨️ 媒体全局快捷键
媒体设置新增「全局快捷键」卡片:播放 / 暂停、上一首、下一首、快退 3 秒、快进 3 秒,五个动作各可自定义键位(至少搭配一个 Ctrl / Alt / Shift / Win;录制时按 Backspace 清空 = 这个动作不设快捷键)。
- 出厂默认关闭,不劫持任何按键;打开后不启动 NPS 也能控制播放
- 录制期间会把已注册的热键全部撤下,避免「按一下看看录成什么」变成真的切了一首歌
- 键位被别的程序占用时明确提示,并把旧键位原样还给你
🧩 插件能力增强
- 只读数据桥 PluginDataBridge:插件可直接订阅宿主已经采好的媒体快照(曲名 / 歌手 / 当前歌词与译文 / 扫光进度 / 时间轴 / 封面 PNG 字节)与系统通知(Toast)事件,不必自己去碰 SMTC 与通知监听;没有订阅者时零开销
- 右键 / 双击透传:插件可以接管岛内的右键与双击
- 插件加载失败时给出明确引导(绝大多数是「插件按新版宿主 API 编译、宿主还旧」,提示前往 QQ 群下载最新版本)
UPDATE
- 渲染节拍改为专用线程:此前跑在 System.Timers.Timer 的线程池线程上,而进程里有一批会阻塞的 SMTC COM 调用,线程池被占满时整个岛体冻住而音乐照常在放
- 媒体采样全部搬到后台:SMTC 的时间轴 / 播放状态改由后台采样时钟定时获取,渲染线程只读快照;会话切换加合并闸,切歌时甩出的一串事件不再铺开成多份阻塞调用
- 置顶保活移出渲染线程:SetWindowPos(HWND_TOPMOST) 会等窗口管理器与其它置顶窗口的线程,别的软件(播放器会员窗、托盘菜单等)一弹窗就可能挂住;现在跑在独立定时器上并带重入闸
- 应用图标解析提速约 500 倍:取别的进程的 exe 路径从 Process.MainModule 改为 QueryFullProcessImageName,并且不再逐个进程做全系统快照(实测 323 个进程:3.98 秒 → 8 毫秒);图标改为「异步解析 + 缓存」,渲染线程不再等解析
- 歌词时钟统一:选行与扫光共用同一原点;「领先降速」加上适用范围上限,修掉「本地时钟一路落后、之后突然硬对齐」带来的迟钝感
- 歌词匹配三道门槛:同名不同版本不再误取,开逐字也不会被取词分流绕过去
- 显示设置页重排:目标显示器 / 显示模式 / 待机显示内容 / 双击切换压成不带容器的单行、控件类型刻意错开,整页一屏放下、不再需要滚动
- 滚动条改为滚动时才显形:滚动后保持约 0.8 秒再淡出,不再常显(显示内容列表 / 整页 / 我的插件 / 插件市场 / 下拉浮层统一)
- 显示内容列表重做:去掉外层容器与分割线、条目铺满整行,常态不画底色(只悬停淡入),「内置」改为胶囊标记,排序箭头换成矢量图标
- 个性化中心瘦身:删掉三项已经自动调整的尺寸项,主题改为分段器,背景透明度独立成卡,三张卡的高度严格按内容收紧
- 性能:主题读取、文本截断与菜单渲染优化
- 插件中心去掉重载 / 卸载确认弹窗,本地插件操作不再被弹窗打断(市场里的卸载仍保留二次确认),插件相关只剩「加载失败」这一个纯告知提示
- 源码注释全量重写,去掉冗余与模板味;README 同步整理
FIX
- 修复切歌整岛卡死(单个动作可达 8 秒):三个根因全部修掉 —— 渲染节拍挂在线程池上、全局 Z 序调用(SetWindowPos)跑在渲染线程上、图标解析里逐个进程做全系统快照;现在单帧卡顿会落一条 [渲染卡顿] 日志,便于定位
- 修复歌词扫光吞词 / 跳半句:「前半句被跳过」与「尾巴被吞」两类(汽水音乐、网易云分别中招的那种)都修掉,扫光可稳定走到 100%
- 修复歌词时间轴持续变慢、歌词取词失败后永久无法重试
- 修复切歌后封面滞后与切歌瞬间闪蓝色兜底图
- 重构 B 站浏览器会话判定,哔哩哔哩场景下封面与歌词更稳定
- 修复待机 + 媒体控制只有左半边能点开面板
- 修复「自动隐藏」在鼠标穿透模式下不生效:设置里显示为关闭时,岛体也确实不再躲(语义是临时压制、不销毁偏好,关掉穿透即恢复)
- 修复展开态被穿透悬停淡出与自动隐藏打断:面板打开着不会自己变透明或躲起来
- 修复窗口过程异常导致的闪退
- 修复录制全局快捷键时误触发动作
- 修复设置窗口浅色外观下蓝底按钮文字看不清:试听 / 重置 / 导入 DLL 等按钮文字改为白色
插件市场
NPS v1.6.0 起开放对插件的支持,允许用户下载使用、自由开发、分发dll插件,获取插件请前往 NPS官网,若要上传插件前往 插件分发入口,同时我们为各位准备了一份完整且易懂的插件开发文档 点我阅读Wiki。
通过对插件的支持,将刘海/灵动岛推向一个自由度更高的高度,目前已经开放了大部分接口与能力,详情参考Wiki。关于 NPS 的更多玩法和特性也可以查看 NPS 进阶玩法(Wiki)。
👉 如何下载与安装插件?
下载方式(二选一):
方式一(推荐):通过内置插件市场直接进行安装、更新和卸载等操作,无需再执行下方手动安装。
方式二:访问 官方插件市场 下载插件(.dll)文件,然后通过以下两种方式手动安装。
手动安装方式(二选一):
方式一(推荐):打开 NPS,插件中心 -> 导入DLL 即可,插件默认会自动启用,否则手动启用插件;
方式二:放置到本软件 NotchPeninsula.exe 同目录下的 plugins 文件夹内(若没有此文件夹可以手动创建),重启软件后在插件中心里启用即可。

NotchPeninsula 1.9.0
🧩 歌词 / 封面 / 稳定性修复 | 网易云优先
NPS v1.9.0 主要补强了歌词与封面取词链,修复网易云音乐播放时的稳定性问题,并收口资源与文档,进一步提升媒体体验与适配性。
NEW
🎵 新增“落月 API - 网易云”歌词源
v1.9.0新增了“落月 API(网易云)”这一档歌词来源,并在网易云音乐播放时启用“网易优先”处理逻辑。这样在网易云会话中,歌词与封面优先走网易系链路,减少因 QQ 曲库匹配不到而导致的空白问题。
🌐 网易云音乐播放时启用“网易优先”
在当前接管的是网易云音乐时,歌词 / 译文 / 封面顺序将优先使用网易云相关来源,确保在网易云场景下拥有更稳定的匹配与更完整的信息展示。
🧩 新增对多种歌词时间戳格式的兼容
修复了歌词时间轴中的帧格式兼容问题,支持 [mm:ss:ff] 这类格式,避免因时间戳格式不匹配导致整段歌词无法解析。
🖼 封面归一化增强
针对 QQ / 网易云 CDN 返回的图片地址做了统一归一化处理,减少大图原图带来的额外带宽与解码成本,提升封面加载稳定性与速度。
UPDATE
🔄 歌词链与封面链整体重构
v1.9.0重构了媒体歌词 / 译文 / 封面链路,将不同来源的采纳逻辑统一整理,减少“歌词存在但译文丢失”、“封面不显示”、“歌曲状态看起来正常但实际无内容”的异常状况。
🔎 优化歌词匹配与过滤逻辑
对候选歌曲与歌词内容的匹配规则进行了增强,降低错误命中概率,并优化了无效译文、空白内容和无效时间轴的过滤逻辑,保证最终呈现的内容更可靠。
🧱 收口内置通知图标
对内置通知图标进行了收口与整理,仅保留真正有用的 QQ / Windows 系列图标,移除历史遗留的无效资源,减少资源冗余并提升工程整洁度。
📘 README 与文档精简
对 README 进行了结构整理,减少重复信息与无效说明,提升可读性和维护性。重点补充与清理了歌词 / 译文 / 封面获取链路相关说明。
FIX
🔧 修复网易云歌词取不到的问题
修复了多个根因导致的网易云歌词无法命中的问题,包括搜索分页过小、时间戳格式不兼容、译文表解析不一致等,提升网易云音乐的歌词命中率。
🖼 修复播放时封面不显示
修复了当前播放状态中封面链断开的问题,避免出现“歌曲正在播放但没有封面”的情况,并修正封面来源在不同平台上的优先级与回退逻辑。
📝 修复译文丢失
修复了译文时间轴解析与采纳错误的问题,避免出现“歌词正常,但翻译整段没有”的问题。
🎚 修复应用图标重复判定与卡拉 OK 进度回退
修复了应用图标重复判定的问题,并修正了卡拉 OK 进度在特定场景下回退的问题,提升媒体交互稳定性。
🧠 修复媒体模式判定逻辑
修正了媒体模式判定中的边界问题,减少错误切换和状态漂移,提升媒体交互一致性。
🧹 修复资源与工程结构问题
清理了一批历史遗留资源文件,并同步修正项目中因资源缺失导致的引用异常,降低构建和发布时的异常风险。
插件市场
NPS v1.6.0 起开放对插件的支持,允许用户下载使用、自由开发、分发dll插件,获取插件请前往 NPS官网,若要上传插件前往 插件分发入口,同时我们为各位准备了一份完整且易懂的插件开发文档 点我阅读Wiki。
通过对插件的支持,将刘海/灵动岛推向一个自由度更高的高度,目前已经开放了大部分接口与能力,详情参考Wiki。关于 NPS 的更多玩法和特性也可以查看 NPS 进阶玩法(Wiki)。
👉 如何下载与安装插件?
访问 官方插件市场 下载插件(.dll)文件,然后通过以下两种方式安装(二选一):
方式一(推荐):打开 NPS,插件中心 -> 导入DLL 即可,插件默认会自动启用,否则手动启用插件;
方式二:放置到本软件 NotchPeninsula.exe 同目录下的 plugins 文件夹内(若没有此文件夹可以手动创建),重启软件后在插件中心里启用即可。

NotchPeninsula 1.8.0
🔔 消息提示音 / 设置窗口系统材质 / 自动隐藏三模式
NPS v1.8.0 主要新增消息提示音(独立音量通道)、显示内容列表的勾选与排序、岛体位置自定义与完全隐藏;把自动隐藏重构为三种可自由组合的模式,并重构媒体模块与插件顺序逻辑;修复通知轮询静默故障、歌词中文乱码与多处资源泄漏,内存占用与设置窗口材质同步优化。
NEW
🔔 消息提示音(独立音量通道)
内置 14 个音源:iPhone 三全音 / 隔空投送 / 新邮件 / 手表提示 / 完成 / 叮 / 极光 / 竹韵 / 合成器,微信(桌面端)、QQ(桌面端 / 经典咳咳 / 滴滴滴)、Telegram;也可选任意本地音频文件(限 ≤5 秒、≤2 MB)。
音源列表动态扫描 data/sound 目录 —— 往里面丢一个 wav 就能出现在下拉里,不用改代码;显示名可用同目录的 sound.json 覆盖。
音量分档可调、支持试听与一键重置。提示音走完全独立的音量通道(软件增益),不会改动系统音量 —— 调提示音和调系统音量互不影响。
默认关闭;选中音源或试听成功会自动打开。
开关位置:通用设置 → 系统消息通知 → 消息提示音。
🧩 显示内容列表:勾选显示 + 自由排序
「显示设置 → 显示内容」重做成一张列表:勾选决定岛上显示哪些内容,上下移动决定先后次序,内置模块带蓝色「(内置)」标记,插件项显示作者。列表支持滚轮滚动并带滚动条指示。
原「组合模式」总开关迁移到该列表的复选框;插件中心的排序按钮移除,显示与排序统一由这一处管理,老配置自动迁移不丢。
📍 岛体位置自定义与完全隐藏
新增岛体垂直基准位置,作为位置自定义的唯一真源(窗口坐标与自动隐藏策略都由它派生);新增「完全隐藏」不透明度设置,隐藏方式二选一:贴顶时保持原上移出屏,离开顶部时改为原地淡出至全透明,唤醒按钮作为统一入口。
🖱 岛内右键直达设置页
在灵动岛内右键时,按落点所在的原生区域直接打开设置窗口并跳到对应页签,不用再进设置里翻页。
🎚 Just Solo 音量独立通道
系统主音量与 Just Solo 播放器音量拆成两条独立通路:改系统音量只影响系统侧,改 Just Solo 音量只镜像到播放器,不再双向同步、互不干扰。
🪟 设置窗口系统材质
设置窗口自动套用系统材质(Win11 云母 / Win10 亚克力,系统不支持时回退纯色暗色外观);修复失焦唤回后材质丢失;最小化进任务栏,并消除还原时的标题残影。
🧱 插件中心增强
- 导入插件时自动去重升级:同 ID 旧版本会被卸载、移入回收站并让出显示顺序,新旧版本不再共存
- 列表显示插件作者、版本号与运行状态
⚙ 自动隐藏重构为三种独立模式
原「自动隐藏」总开关拆分为三个互相独立、可任意组合的模式:焦点离开时 / 暂停播放后 / 全屏时,由总开关「允许灵动岛自动隐藏」统一控制,模式之间不再互斥。
UPDATE
- 全局折叠态高度统一:原待机高度与媒体折叠态高度合并为唯一真源,各折叠态高度口径一致
- 媒体控件遮罩重做:改为两端渐隐、仅在悬停时绘制,去掉非悬停状态下的实心背景色带;歌词与频谱遮罩按交互状态动态取范围,只截断歌词、不遮挡右侧插件
- 组合模式下媒体面板可展开:移除组合模式下媒体交互开关的禁用状态,媒体与插件详情页共用同一套折叠时序
- 媒体交互方式语义明确:开启 = 点击展开面板,关闭 = 悬停直接控制,两种模式下按钮显示与点击分支完全一致
- 插件顺序只统计当前显示的内容:未启用 / 未勾选的内容不再参与排序与移动计算
- 歌词兜底测量:解决非基础字体下歌词测量过窄的问题
- 落月 API 歌词获取:改为先搜索 songid、再同时取原文与译文
- 托盘菜单重构
- 源码结构重构:源码按模块分目录,两个巨型单类拆为 partial 文件(纯结构调整,行为不变)
- 个性化中心部分不可调尺寸项的说明文案更新
FIX
- 提示音音量不再控制系统音量:此前调提示音会把系统主音量一起改掉,现已改为独立的软件增益通道
- 提示音选择改用文件名身份:增删 data/sound 里的 wav 后不再静默换到另一个音源;第 4 行随总开关置灰,下拉滚动、音量下拉布局与命中判定同步修正
- 通知轮询静默故障:轮询定时器停摆会导致通知永久不弹 —— 改用 System.Timers.Timer 适配纯 Win32 主循环,新增看门狗自动重启、超时控制、通道失效检测与重连、状态变化诊断日志,并修复 HTTP 接口异常时不返回响应导致客户端挂起
- 歌词中文乱码:WebSocket 消息按帧解码会把 UTF-8 中文从中间截断,改为缓存整条消息后统一解码
- 多处资源泄漏:GDI region / DIBSection 位图句柄 / 注册表键句柄 / SKTypeface 强引用 / 匿名委托事件订阅 / WinRT COM 对象 / 插件 ALC 与影子目录,程序退出时统一释放长期资源
- 插件卸载不干净:卸载时关闭关联窗口、清空渲染侧静态引用、清理残留上下文
- 点击立刻收回:唤醒或展开媒体面板时,同一次按键不再被误判成岛外点击收起
- 媒体控件多余背景色带:非悬停状态不再绘制遮罩
- 边缘拖入无效:拖到岛体边缘的文件现在也能被详情页接收,并补充各阶段日志
- 通知文本换行乱码:新增文本归一化处理
- 关闭时重复释放资源
插件市场
NPS v1.6.0 起开放对插件的支持,允许用户下载使用、自由开发、分发dll插件,获取插件请前往 NPS官网,若要上传插件前往 插件分发入口,同时我们为各位准备了一份完整且易懂的插件开发文档 点我阅读Wiki。
通过对插件的支持,将刘海/灵动岛推向一个自由度更高的高度,目前已经开放了大部分接口与能力,详情参考Wiki。关于 NPS 的更多玩法和特性也可以查看 NPS 进阶玩法(Wiki)。
👉 如何下载与安装插件?
访问 官方插件市场 下载插件(.dll)文件,然后通过以下两种方式安装(二选一):
方式一(推荐):打开 NPS,插件中心 -> 导入DLL 即可,插件默认会自动启用,否则手动启用插件;
方式二:放置到本软件 NotchPeninsula.exe 同目录下的 plugins 文件夹内(若没有此文件夹可以手动创建),重启软件后在插件中心里启用即可。

NotchPeninsula 1.7.0
🫃 自动隐藏增强 / 剪贴板链接检测 / 翻译歌词 / 时间轴拖动
NPS v1.7.0 主要新增剪贴板链接检测、翻译歌词与播放进度拖动,修复了歌词残留与同步丢失、穿透模式下自动隐藏失效等问题,优化了插件行宽度预算、岛体宽度上限与展开态收起策略。
NEW
📋 剪贴板链接检测
复制任意纯链接文本,灵动岛会立刻弹出链接面板,点一下直接在浏览器打开。基于 Win32 剪贴板事件驱动,稳态零 CPU 占用;支持通知插队、超时自动收起、宽度自适应。
开关位置:通用设置 → 剪贴板链接检测。
🌐 翻译歌词(双行显示)
原文下方以次级灰、略小字号显示译文第二行,只在当前句有译文时出现,与原文同生同灭 —— 切歌 / 清空时一并重置,不会残留上一句译文。岛体宽度按更宽的一行自适应,折叠态媒体高度恒定,译文不会让岛体忽高忽低。
译文来源已接入 QQ音乐(trans)、网易云(tlyric)与 Just Solo LyricServer(translation)三条;QQ 曲库命中但拿不到可用译文时,自动兜底请求落月 API。
开关位置:媒体设置 → 歌词设置 → 显示翻译歌词(上下两行),默认开启。
⏱ 播放进度拖动
媒体控制面板的时间轴现在可以直接拖动定位:拖动期间暂停进度推算,松手后按新位置续播,拖动过程中面板不会被收起。
🎵 Just Solo 歌词 / 频谱直连
新增与 Just Solo 本地服务的直连通道。独占音频(ASIO / 独占 WASAPI)导致系统 Loopback 抓不到声音时,自动改用 Just Solo 推送的实时频谱,频谱不再整条熄火。
🎯 通用媒体:自动匹配 / 手动选择软件
- 媒体设置新增「匹配方式」卡片:自动匹配 / 手动选择软件
- 手动模式可从所有活动 SMTC 会话里直接挑选(直接显示 AppID),无活动会话时列表清空
- 自动匹配优先级:正在播放的 Just Solo > 正在播放的其它会话 > 全都没在播放时 Just Solo 兜底;并跟随各会话的播放状态实时切换接管目标
- 手动锁定后按 AppID 精确锁定,越过一切自动分类(包括浏览器判定),歌词与频谱通道也跟着锁定对象走
🌙 自动隐藏增强:暂停播放后 / 全屏时
交互设置 → 自动隐藏 卡片新增两个互斥的附属开关(只能开一个):
- 暂停播放后自动隐藏:媒体暂停播放时,也把刘海藏起来
- 全屏自动隐藏:检测到全屏应用、独占全屏游戏或演示文稿模式时藏起来(走
SHQueryUserNotificationState,能覆盖独占全屏 D3D 游戏)
两者都需要先开启「自动隐藏」;关闭「自动隐藏」会连带关闭它们,反向不会自动打开。全屏检测做了轻量化处理(节流 0.8s,功能没开就一次系统调用都不发),常态零开销。
🌍 浏览器媒体模式
新增浏览器识别(Chrome / Edge / Firefox / Brave / Opera / Vivaldi / QQ浏览器 / 360 / 搜狗等),可只接管浏览器内的播放会话,其他播放器一律不接管;命中后自动清理网页标题后缀、不请求歌词。
🗣 多语言歌词显示
默认字体缺字时改由系统字体服务按码点挑选真正含该字形的字体 —— 韩文、日文假名、泰文、阿拉伯文、希伯来文、天城文等不再画成方块。使用自定义字体时保持用户选择优先,多语言兜底层不插手;决定按码点缓存(含负缓存),稳态 60FPS 下几乎不被触碰。
🧩 插件 API 增强
IPluginHost.GetPluginRowBudget():查询「不显示自己时该位置还剩多少宽度」,宽度自适应的组件可据此提前取舍内容,避免报上超预算宽度后被整体隐藏IPluginHost.InvalidateWidgetLayout():宽度随内容自适应的组件可在内容变化后主动请求重新测量,岛体宽度经弹簧动画平滑过渡- 插件行改为按组件宽度预算逐个放行:装得下的组件完整显示,装不下的本帧整体不显示,不再压缩或截断
- 文档补充「动画期间 rect 为插值尺寸」的注意事项与正确排版示例,插件开发文档与 Wiki 链接同步更新
UPDATE
- 岛体宽度上限放开到 1920:歌词不再被裁切,插件也不会因为歌词变长而整行消失(宁可岛体超长溢出屏幕);窗口宽度自动跟随该上限,以后放宽长度只需改一个常量
- 展开态收起策略定型:鼠标离开灵动岛即自动收起 —— 媒体控制面板立即收,插件详情页延迟 0.9s 收(鼠标回到岛上会取消),拖动进度条期间一律不收起,另有岛外点击兜底
- 弹簧动画抽为单一真源:岛体尺寸变化、刘海 ⇄ 灵动岛形态切换、自动隐藏位移三处共用同一条 Q 弹曲线,手感统一
- 自动隐藏位移改用岛体实际高度:媒体控制器 / 组合模式不再多露 6px 尾巴挡视野
- 穿透模式唤醒按钮重画:深色圆角芯片 + 白色线条折角箭头,并移到岛体正中心
- 剪贴板面板图标全面矢量化:任意 DPI 下都锐利,删除两张位图资源
- 设置页布局整理:剪贴板链接检测移入通用设置;通知开关与通知内容合并为一张卡片;媒体设置的目标平台与匹配方式合并为一张两行卡片
- 音频捕获稳定性:AudioAnalyzer 重构,新增看门狗自动恢复与系统事件订阅,解决独占音频时捕获失效
- 默认尺寸调整:待机 125×29、媒体 250×35(个性化里可随时恢复默认)
FIX
- 歌词残留:切歌 / 清空时不再残留上一句歌词
- 目标媒体切换时歌词同步丢失:切换目标平台后歌词不再消失
- 手动匹配切换软件后歌词重头播放:后台会话的进度推算不再被误撤销,切回来能正常续播
- 译文时间戳匹配放宽(允许 300ms 偏差贴行),并过滤
//、纯符号、版权声明等无效译文行 - 手动锁定的软件越过浏览器自动判定:被手动锁定的会话不再被误判成浏览器而丢掉歌词
- 全局屏蔽微信视频号(与抖音同规则):任何平台模式、任何匹配方式下都不接管,也不出现在「手动选择软件」列表中
- 频谱自动跟随系统默认输出设备:切换默认播放设备后不再需要重启(旧设备不会断开,"流是否还活着"永远返回健康,所以改为主动比对默认端点 ID)
- 穿透模式下自动隐藏真正失效:设置里显示为关闭时,岛体也确实不再躲(语义是临时压制、不销毁偏好,关掉穿透即恢复)
- 剪贴板面板 / 通知弹出时临时禁用穿透:不再一悬停就变透明,导致看不见也点不到
- 插件行热区偏移与换歌词时的位置闪现:修正热区坐标,插件行不再整体挪一下再挪回去
- 剪贴板:重复复制同一链接仍会弹出面板;链接文本不再遮挡「打开」按钮
- 消息通知文字被渐隐截断:完整模式为右上角「现在」预留宽度、紧凑模式按应用名实测宽度预留,消息尾部不再被遮罩吃掉
- 设置页禁止指针压错行:「暂停播放后自动隐藏」可用时不再显示禁止符号
- 唤醒按钮 hover 无手型指针:修复唤醒按钮坐标三处各写一份导致的漂移
插件市场
NPS v1.6.0 起开放对插件的支持,允许用户下载使用、自由开发、分发dll插件,获取插件请前往 NPS官网,若要上传插件前往 插件分发入口,同时我们为各位准备了一份完整且易懂的插件开发文档 点我阅读Wiki。
通过对插件的支持,将刘海/灵动岛推向一个自由度更高的高度,目前已经开放了大部分接口与能力,详情参考Wiki。关于 NPS 的更多玩法和特性也可以查看 NPS 进阶玩法(Wiki)。
👉 如何下载与安装插件?
访问 官方插件市场 下载插件(.dll)文件,然后通过以下两种方式安装(二选一):
方式一(推荐):打开 NPS,插件中心 -> 导入DLL 即可,插件默认会自动启用,否则手动启用插件;
方式二:放置到本软件 NotchPeninsula.exe 同目录下的 plugins 文件夹内(若没有此文件夹可以手动创建),重启软件后在插件中心里启用即可。

NotchPeninsula 1.6.0
🎉 插件市场上线 / 穿透与置顶 / 自定义字体等
NPS v1.6.0 主要新增插件市场、自定义字体、灵动岛插件相关能力、穿透模式与置顶开关;修复时间不准、歌词乱码等问题;优化内存、穿透逻辑,新增通知布局并重构插件UI。
插件市场
NPS v1.6.0 起开放对插件的支持,允许用户下载使用、自由开发、分发dll插件,获取插件请前往 NPS官网,若要上传插件前往 插件分发入口,同时我们为各位准备了一份完整且易懂的插件开发文档 点我阅读Wiki。
通过对插件的支持,将刘海/灵动岛推向一个自由度更高的高度,目前已经开放了大部分接口与能力,详情参考Wiki。关于 NPS 的更多玩法和特性也可以查看 NPS 进阶玩法(Wiki)。
NEW
支持自定义字体
新增插件入口和控制台页面
新增对插件在灵动岛本体上显示的功能
新增对插件在灵动岛自定义排序的支持
新增穿透模式
新增置顶开关,允许切换是否强置顶
UPDATE
消息通知新增紧凑、完整布局
更新了进阶文档 Wiki,点击查看 NPS 进阶玩法
更新插件市场地址,插件市场上线,感谢 hxh230802 的贡献
新增插件开发文档
重构了插件item布局样式
给插件开放了详情页(IDetailPage)
FIX
优化内存
尝试修复时间不准确问题
修复歌词乱码
优化穿透/自动隐藏逻辑
修复组合模式下插件预留宽度问题
修复插件排序按钮
👉 如何下载与安装插件?
访问 官方插件市场 下载插件(.dll)文件,然后通过以下两种方式安装(二选一):
方式一(推荐):打开 NPS,插件中心 -> 导入DLL 即可,插件默认会自动启用,否则手动启用插件;
方式二:放置到本软件 NotchPeninsula.exe 同目录下的 plugins 文件夹内(若没有此文件夹可以手动创建),重启软件后在插件中心里启用即可。

NotchPeninsula 1.5.0
🧏♂️自定义显示组合模式 | 消息唤醒 | 进阶玩法
NPS v1.5.0 主要新增组合模式,支持自定义显示任意组件,拼好岛,以及支持了点击消息弹窗唤醒对应应用窗口。并更新了Wiki文档,将在下个版本推出插件市场。
NEW
新增组合模式自动长度
新增自定义显示组合模式
新增消息弹窗交互,点击消息唤醒应用窗口
新增消息激活
UPDATE
更新了进阶文档 Wiki,点击查看 NPS 进阶玩法
FIX
优化组合模式间距
NotchPeninsula 1.4.0
🆕 硬件占用率检测 | 多显示器支持 | 歌词效果增强 | HTTP消息接口
NPS v1.4.0 主要新增系统硬件资源占用率检测、消息通知 emoji 支持、多显示器支持、消息弹窗自动长度、卡拉 OK 开关与歌词卡拉 OK 效果、HTTP 接口消息接收,修复 HTTP 消息解析问题,优化待机显示设置布局、歌词匹配规则、消息通知日志及消息弹窗自动长度。
NEW
新增系统硬件资源占用率检测
新增消息通知对emoji的支持
新增多显示器支持
新增消息弹窗自动长度
新增卡拉OK开关
实现歌词卡拉OK效果
新增HTTP接口消息接收
UPDATE
更改了待机显示内容设置布局样式
增强歌词匹配规则
完善消息通知日志
FIX
优化自动长度
修复了HTTP消息解析
NotchPeninsula 1.3.0
❇️ 歌词系统 | 自动变换 | 全新媒体控制器 | 自定义待机显示
NPS v1.3.0 主要新增歌词全套显示能力、媒体控制器交互、待机显示自定义、动画过渡与更新提示;调整唤出交互逻辑;修复歌词、媒体控制器各类 BUG,同时对动画、布局、内存占用等多项细节进行优化。
NEW
实现了歌词显示
实现了歌词自动长度
新增歌词设置和延迟调整
新增歌词过渡效果,修复了消息进程导致歌词重播问题
新增刘海灵动岛背景透明度调节
媒体控制器新增展开交互
个性化中心新增待机显示圆角调整
待机显示新增空白选项
新增切换过渡动画
新增更新提示
UPDATE
自动隐藏唤出逻辑改为点击唤出
FIX
优化了媒体控制器形态之间过渡
优化了媒体控制器展开后布局样式等
优化了媒体控制器字号
优化了内存占用
优化了动画弹性系数
优化媒体控制器默认高度
修复媒体控制器文本高度不统一的问题
修复歌词残留问题,以及优化了延迟
修复并发导致歌词获取失败问题
修复了由于歌词时间轴延迟问题