docs: 仓库文档同步 M6.1
This commit is contained in:
1 parent
06307dc4b2
commit
34f2834704
3 files changed
+30
-20
No files matched your search
@@ -3,7 +3,7 @@
|
||||
> 把 HiBy R3 Pro II 便携播放器(君正 X1600,MIPS32r2 / mipsel / musl 静态软浮点,480×720,无 GPU 软渲染)变成一个可扩展的「第二系统 + 应用框架」。
|
||||
> MeowOS 与官方 HibyOS 共存于同一台设备:开机由引导选单二选一;启动后 MeowOS 作为主控层,提供自己的桌面 UI、应用框架、服务管理与系统组件。
|
||||
>
|
||||
> 版本:**M2.96(0.7.91)**(M2.69→M2.96 全链路自刷验收:控件库/主界面 MD3 双布局/M3 导航栈/M5 通知跳转/媒体会话/Now Playing/SDK nav+media 封装/字库启动竞态修复**/M2.84-88**:installed 图标修复+残帧pan加固/物理键EVIOCGKEY双源/签名鉴权 2B/meow_route 音频路由/amsd 二期(picker 契约)/流媒体客户端二期(封面·歌词后台·大歌单分页)/MeowPanel 实时画面+遥控+通知实时化/中文拼音 IME**/M2.89**:开机选单抢屏回归修复+watchdog SIGUSR1 不误杀框架 App+amsd 失联修复+顶部下滑手势分流**/M2.90**:**meow_audiod 独占音频守护**(AUDIOD_DESIGN,meow_route 并入退役)+MIUIx 顶级主题+流媒体客户端文案中文化+面板字体库 tar.gz 导入导出**/M2.91-96**:audiod 开机武装 hbc3000 FPGA(根治 PCM 启动内核死锁)+svc_power 充电态权威链(mp2731)+amsd 注册自愈(`am rescan`)/Now Playing 死循环修复+状态栏充电闪电+插孔消抖(三路)/audiod 长流护栏+ALSA 几何收窄 period=1024×4(根治长流停摆)+watchdog 音量存盘毁设置修复/音量反转四路统一(CS43198 寄存器=衰减量,`dac=255-pct*255/100`)+炸耳安全修复(dac_vol_mute 写 255 真静音))。版本号单点 = 板上 `/etc/meowos_version`,见「构建」。本仓库是一个**自带 SDK、包管理、媒体会话、独占音频服务、网页面板、流媒体客户端的完整第三方系统**。
|
||||
> 版本:**M6.0(0.8.0,已自刷验收)**(M6.1 备料全齐——netmgrd 期3/powermgr 期2/面板 PIN 鉴权+首页仪表盘/WiFi 录入 UI/服务名统一 meow_*,待打包自刷;历史:M2.69→M2.96 全链路自刷验收:控件库/主界面 MD3 双布局/M3 导航栈/M5 通知跳转/媒体会话/Now Playing/SDK nav+media 封装/字库启动竞态修复**/M2.84-88**:installed 图标修复+残帧pan加固/物理键EVIOCGKEY双源/签名鉴权 2B/meow_route 音频路由/amsd 二期(picker 契约)/流媒体客户端二期(封面·歌词后台·大歌单分页)/MeowPanel 实时画面+遥控+通知实时化/中文拼音 IME**/M2.89**:开机选单抢屏回归修复+watchdog SIGUSR1 不误杀框架 App+amsd 失联修复+顶部下滑手势分流**/M2.90**:**meow_audiod 独占音频守护**(AUDIOD_DESIGN,meow_route 并入退役)+MIUIx 顶级主题+流媒体客户端文案中文化+面板字体库 tar.gz 导入导出**/M2.91-96**:audiod 开机武装 hbc3000 FPGA(根治 PCM 启动内核死锁)+svc_power 充电态权威链(mp2731)+amsd 注册自愈(`am rescan`)/Now Playing 死循环修复+状态栏充电闪电+插孔消抖(三路)/audiod 长流护栏+ALSA 几何收窄 period=1024×4(根治长流停摆)+watchdog 音量存盘毁设置修复/音量反转四路统一(CS43198 寄存器=衰减量,`dac=255-pct*255/100`)+炸耳安全修复(dac_vol_mute 写 255 真静音);**M6.0-6.1**:网络管理服务 **meow_netmgrd** 期1-3(接口统一层+连接普查三实体+DNS 代理+策略引擎防自锁+WiFi 录入 UI)+功耗管理服务 **meow_powermgr** 期0-2(查看/功耗分解 top/历史/事件/mp2731 实测充电功率)+MeowPanel 增强(4 位 PIN 鉴权+首页仪表盘/电源页/进程服务页)+服务名统一 meow_*(audiod/mdnsd→meow_audiod/meow_mdns))。版本号单点 = 板上 `/etc/meowos_version`,见「构建」。本仓库是一个**自带 SDK、包管理、媒体会话、独占音频服务、网页面板、流媒体客户端的完整第三方系统**。
|
||||
>
|
||||
> 许可证:Apache-2.0(见 [`LICENSE`](LICENSE))。本仓库为非官方第三方项目。
|
||||
>
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
- **双系统共存**:官方 HibyOS 原样保留;开机引导选单决定本次进入哪个系统(MeowOS / HibyOS),两者互斥运行,任一时刻只跑一个。
|
||||
- **应用框架**:一套 C 应用 SDK(`meow_ui`),第三方 App 用统一控件 / 输入 / 主题 / 字体 / 通知 API 开发,无需自读帧缓冲、自读输入、自管返回——把每个 App 都要踩一遍的坑收口到框架里。
|
||||
- **系统组件**:状态栏、通知中心、电源菜单、全局左缘返回手势、主界面(应用列表,**MD3/MIUIx 顶级主题×明暗**,卡片宫格/列表双布局)、设置页、服务管理器、mDNS 广播;系统进程总监 `meow_sysui`;专项子服务 `meow_svc_perf`(性能/系统只读聚合,含真实 network)与 `meow_svc_power`(关机/重启/升级/回 HiBy,含升级写保护 + dac 真实音量 + 读级鉴权放宽);**独占音频守护 `meow_audiod`**(M2.90:App 经 SDK `meow_audio_*` 喂 PCM,守护独占 `hw:0,0`——DAC 原生率跟随无 SRC、格式归一、4.4/3.5 路由自动跟随插孔、抢占+EOF 回收、CLI status/tone/route/vol,规范 `devdocs/plan/AUDIOD_DESIGN.md`);系统级崩溃捕获 `meow_crash` + App 崩溃直报;.mpk **Ed25519 签名验签** `meow_verify`(见 §2.9);MeowPanel 外部管理面板(HTTP/JSON 后端 + Web 前端,支持可选密码鉴权 + 字体库 tar.gz 导入导出,见 §2.10)。
|
||||
- **系统组件**:状态栏、通知中心、电源菜单、全局左缘返回手势、主界面(应用列表,**MD3/MIUIx 顶级主题×明暗**,卡片宫格/列表双布局)、设置页、服务管理器、mDNS 广播;系统进程总监 `meow_sysui`;专项子服务 `meow_svc_perf`(性能/系统只读聚合,含真实 network)与 `meow_svc_power`(关机/重启/升级/回 HiBy,含升级写保护 + dac 真实音量 + 读级鉴权放宽);**独占音频守护 `meow_audiod`**(M2.90:App 经 SDK `meow_audio_*` 喂 PCM,守护独占 `hw:0,0`——DAC 原生率跟随无 SRC、格式归一、4.4/3.5 路由自动跟随插孔、抢占+EOF 回收、CLI status/tone/route/vol,规范 `devdocs/plan/AUDIOD_DESIGN.md`);系统级崩溃捕获 `meow_crash` + App 崩溃直报;.mpk **Ed25519 签名验签** `meow_verify`(见 §2.9);**网络管理服务 `meow_netmgrd`**(M6.0 期1 / M6.1 期3:接口统一层/连接普查三实体/DNS 代理/策略引擎防自锁,HibyOS 只读)与**功耗管理服务 `meow_powermgr`**(M6.0 期1 / M6.1 期2:功耗查看/分解/历史/事件,HibyOS 只读);MeowPanel 外部管理面板(HTTP/JSON 后端 + Web 前端,支持可选密码鉴权 + 4 位 PIN 访问级鉴权 + 首页仪表盘 + 字体库 tar.gz 导入导出,见 §2.10)。
|
||||
- **媒体会话 / Now Playing**:`MSG_META`/`MSG_PLAYCTL`(0x72/0x73)媒体会话(最近活跃源,30s 超时回收)+ 通知中心**媒体卡片** + 主界面左滑 **Now Playing 大页**;媒体键路由到最近活跃媒体会话。
|
||||
- **应用生态**:**流媒体客户端 dev.player.ncm**(`core/`:mbedtls+jsmn+qrcodegen+minimp3 ≈438KB;复古 UI:登录二维码/我创建的·我收藏的双页签/搜索/歌单详情/黑胶播放页/设置,登录 803 已通;二期:专辑封面/歌词后台加载/大歌单分页;三期:歌单真分页/真实专辑封面/歌词锁修复/搜索接拼音 IME 中文搜索/设置页(音质 5 档+缓存上限+清理缓存)/缓存 LRU 淘汰接生产路径/文案全中文;三期续:歌曲对象瘦身 1324B→608B+256 首滑动窗口(任意长度歌单)/封面与缓冲 UX 修复(消除 worker 忙等 100% CPU)/FLAC 无损(dr_flac)+缓存键=歌曲 ID+音质档位/物理播放键 toggle 全链路)。**A2 起音频输出走 `meow_audiod`**(SINK_AUDIOD 默认后端,SDK `meow_audio_*` 客户端,被抢占回调→暂停;旧 ALSA 直开仅 `MEOW_AUDIO_DIRECT=1` 调试);外置**系统文件管理器 os.meow.files**;`meow_ui` SDK 配套结构化列表 `W_LISTVIEW`、通用长按、SDK nav/media 封装、视图框架(可嵌套 view + 事件路由 + 绘制期 clip);App 通知查询/清除 IPC(0x25-27)与**点击通知跳转路由**(route_status)。
|
||||
- **进程隔离**:系统 UI 渲染进程与 App 进程相互独立,App 卡死不会冻结整个 UI。
|
||||
@@ -49,7 +49,9 @@ init (rcS)
|
||||
├─ /etc/init.d/S89meow_svcd 开机自启 meow_svcd(服务管理器)
|
||||
│ ├─ meow_mdns 及 services.d 服务 = 独立子进程
|
||||
│ ├─ meow_audiod 独占音频守护(M2.90,含路由/格式归一;HibyOS 模式不启动)
|
||||
│ └─ 专项子服务(一期)= meow_svc_perf / meow_svc_power
|
||||
│ ├─ 专项子服务 = meow_svc_perf / meow_svc_power
|
||||
│ ├─ meow_netmgrd 网络管理服务(M6.0 期1 / M6.1 期3:接口统一层+连接普查三实体+DNS 代理+策略引擎;HibyOS 只读)
|
||||
│ └─ meow_powermgr 功耗管理服务(M6.0 期1 / M6.1 期2:功耗查看/分解 top/历史/事件;HibyOS 只读)
|
||||
└─ /etc/init.d/S90meow_bootmenu Supervisor / 开机引导选单
|
||||
├─(选 MeowOS)execv meow_launcherd ← 系统 UI 渲染宿主
|
||||
│ └─ 用户点 App → fork/exec MeowAPP + meow_watchdog(每 App 一个)
|
||||
@@ -112,6 +114,7 @@ init (rcS)
|
||||
- **M2.84-88 新增**:**amsd 活动管理器**(一期 agent-212 生命周期注册表+`am` CLI,二期 agent-225 路由决策化+**picker 契约** `MSG_PICKER_CALL/RESULT 0x70/71` + `MSG_AMS_START/KILL`);**签名鉴权 2B**(agent-221 多公钥数组 + v2 签名块);**meow_route 音频输出路由**自动跟随插孔(agent-220);**中文拼音 IME**(agent-229 `meow_pinyin.c` 静态表 403 音节+329 词,组合条+候选栏+翻页+中英切换+九键数字盘);**App 内物理音量/媒体键**(agent-226 EVIOCGKEY 位图轮询+120ms 去重);**开机亮度 stop100 竞态**(agent-230);**流媒体客户端二期**(agent-222 专辑封面/歌词后台/大歌单分页)+ 歌单详情回退(agent-227);**MeowPanel 阶段 C**(agent-224 实时画面 `/api/screen.jpeg` + 遥控 `/api/input/tap`)+ 通知实时化+屏幕增量帧(agent-234)。
|
||||
- **M2.89/90 新增**:**开机选单抢屏回归修复**(sysui S70 早拉 launcher 误入主屏→改怠速等 mode 文件,HibyOS 选单/热键链路恢复);**watchdog SIGUSR1 仅裸沉浸 App** + SDK sigusr1 护栏(修框架 App 误杀);**amsd 失联三修**(陈旧 revents 丢连接/收发超时/自动重连);**MIUIx 顶级主题**(ui.style 一键切换,暖底橙调大圆角);**meow_audiod 独占音频守护**(A1 全量,含 SDK 客户端与 `meow_audio` CLI;meow_route 并入退役);**MeowPanel 字体库 tar.gz 导入/导出** + 文件管理自然排序;**流媒体客户端**:搜索接拼音 IME、设置页(音质/缓存上限/清理缓存)、缓存 LRU 淘汰接线、文案全中文。
|
||||
- **M2.91-96 新增**:**audiod 开机武装 hbc3000 FPGA**(路由线程启动无条件写 Output Port Switch,根治「未烧 FPGA 时 PCM 第二次 start 内核死锁」);**svc_power 充电态权威链**(mp2731-charger/status,修 battery/status 恒 Discharging)+ 状态栏充电闪电图标;**amsd 注册自愈**(开机早于卡挂载扫空→3s 快重试+30s 合并重扫+`am rescan`);**Now Playing 死循环修复**(空态 100% CPU/卡死)+ NP 页电源键/自动息屏;**插孔消抖**(4.4/3.5 插拔 ADC 幽灵音量键:launcher/watchdog/SDK 三路 800ms 消抖窗 + ramp 3s 上限);**audiod 长流护栏 + 几何收窄 period=1024×4**(根治长流 ~12s 停摆:ring 有界等待/timedwait/popen 有界收割/O_NONBLOCK+poll 写/wedge 自救/心跳 watchdog);**watchdog `wd_vol_save` O_TRUNC 毁 settings.conf 修复**(读改写单键+去重);**音量反转四路统一**(CS43198 音量寄存器=衰减量:0 最响/255 静音,launcher/audiod/watchdog/SDK 统一 `dac=255-pct*255/100`);**炸耳安全修复**(`dac_vol_mute` 旧写 0=最大响度 → 改 255 真静音);**SDK 插孔消抖补齐**(meow_ui.a 12cdd5d7)+ **物理播放/暂停键(164) 改发 PLAYCTL cmd=6 toggle** + App 前台状态栏音量%实时刷新。
|
||||
- **M6.0-6.1 新增**:**网络管理服务 `meow_netmgrd`**(期1 接口统一层 WiFi/BT/rfkill/IP/DNS 只读 + 期2 连接普查三实体(app:/svc:/proc:)+DNS 代理 127.0.0.1:53 双行 resolv 零断流 + 期3 策略引擎防自锁(dropbear/wpa_supplicant/udhcpc 等拒 block)/SOCK_DESTROY 真机 no-op→仅 DNS 层生效/面板白名单/WiFi save_config;CLI `meow_net`,M6.0 期1/M6.1 期3,设计见 `devdocs/plan/NETMGR_DESIGN.md`);**功耗管理服务 `meow_powermgr`**(期0 调研 current_now/cpufreq 不存在/背光 0-101 + 期1 权威充电链复用/经验模型 14 系数 + 期2 history 30s 环形/top 功耗分解/events/mp2731 current_now 实测充电功率(放电仍 estimated);CLI `meow_power`,M6.0 期1/M6.1 期2,设计见 `devdocs/plan/POWER_MANAGER_DESIGN.md`);**设置页迁 netmgr IPC + WiFi 新网络录入 UI**(扫 SSID→IME 输密码→connect,286);**服务名统一 meow_***(S89 迁移 audiod.conf/mdnsd.conf→meow_audiod.conf/meow_mdns.conf,用户定案 cd4e2c2);**MeowPanel 增强**(4 位 PIN 访问级鉴权 + 首页仪表盘 `/api/overview` + 电源/进程服务页 + 系统页补强,PANEL_ENHANCE_PLAN 批1)。
|
||||
- **M2.80-83 已落地**:M3 导航栈+M5 通知跳转(M2.80)、媒体会话+Now Playing(M2.81)、SDK nav/media 封装(M2.82)、字库启动竞态修复(M2.83)。
|
||||
- 既有 `meow_btn/slider/switch/list_create` 签名一字不改(向后兼容),Options/状态机走新增挂载器。
|
||||
|
||||
@@ -122,12 +125,14 @@ init (rcS)
|
||||
- 目录式 `key=value`:`exec`(必填)/`args`/`env`/`enabled`/`restart`/`backoff_ms`/`max_restart`/`trigger`(`boot`/`card-mount`/`wifi-up`,默认 `card-mount`)。
|
||||
- 状态机 `DISABLED/STOPPED/RUNNING/STOPPING/FAILED`;CLI(SSH 直呼):`status` / `reload` / `start|stop|restart <name|all>` / `pid`。
|
||||
- **M2.73 悬垂指针修复(md5 `da6ebc66`)**:`scan_and_reconcile` 用 `*s=tmp` 整体拷贝后 `s->argv[]` 曾指向已销毁栈帧 → `execv`/`/proc/pid/cmdline` 错乱;新增 `svc_rebuild_argv` 重定位到服务自身 `exec`/`argbuf`(删除服务后同 tick 拉起不再错位)。
|
||||
- **meow_mdns(mDNS 应答器,自研)**:`/usr/bin/meow_mdns`,**IPv4-only**(该设备内核无 IPv6,完整 mDNSResponder/SAResponder 均无法运行),应答 `<host>.local` 的 A 记录与 `_ssh._tcp` 的 PTR/SRV/TXT。由 `meow_svcd` 托管(板载 `services.d/mdnsd.conf`,`trigger=boot`)。
|
||||
- **meow_mdns(mDNS 应答器,自研)**:`/usr/bin/meow_mdns`,**IPv4-only**(该设备内核无 IPv6,完整 mDNSResponder/SAResponder 均无法运行),应答 `<host>.local` 的 A 记录与 `_ssh._tcp` 的 PTR/SRV/TXT。由 `meow_svcd` 托管(板载 `services.d/meow_mdns.conf`,`trigger=boot`)。
|
||||
- **hostname = `meowos`**(设置键 `system.hostname`,缺省 `meowos`;`S89meow_svcd` 开机 `sethostname`)→ 即 `meowos.local`。
|
||||
- **M2.78 竞态修复**:无可用 IPv4 不再 `exit(2)`(改内部 2s 等待重试,SIGTERM 可打断);5s 周期检测掉线/换 IP → 重新 join 组播 + A 记录实时刷新(修 IP 变更还带旧地址);接口 down 时零应答守卫;`MEOW_MDNS_IF` 落地。
|
||||
- 注:手机热点会丢弃设备→主机的组播应答,`avahi-resolve meowos.local` 在上网热点下会超时(网络层热点隔离,非应答器缺陷),主机可用 DNS 兜底。
|
||||
- **meow_crash(系统级崩溃捕获)**:svcd 服务异常退出上报(AF_UNIX best-effort,不崩 svcd)+ dmesg 增量扫 segfault/oops;落盘 TF `MeowOS/logs/crash_<bootts>.log`(无卡回退 /tmp + 迁移);CLI `dump`/`tail`;`S89` 预置 `crash.conf`。launcher 另在 `launch_app` waitpid 回收处 **notify_app_crash**(信号杀/非0退出上报,干净 exit 不报)。
|
||||
- **meow_verify / meow_sign(包签名,二期 2A 最小闭环)**:`meow_verify`(Ed25519 验签 CLI,公钥固化固件,TweetNaCl+SHA256 单文件);`meow_sign`(宿主 keygen/sign,尾部 180B footer 签名块,私钥仅 `.keys/` 不入库);nyai 与 launcher `meow_pkg_install` **验签分级**(有签必验 / `os.meow.*` 无签拒装 / 第三方直装告警 / 三重绑定 / 原签存 `.mpk.src` 导出保留);svc_power IPC 鉴权(SO_PEERCRED→/proc/pid/exe→包名/系统身份 allowlist)。
|
||||
- **meow_netmgrd(网络管理服务,M6.0 期1 / M6.1 期3)**:`/usr/bin/meow_netmgrd`(svcd 托管板载 `services.d/meow_netmgrd.conf`,`trigger=boot`;HibyOS 只读降级,RSS ≤1MB)。**接口统一层**(iface 枚举+热插拔 / WiFi `wpa_cli` 有界收割 / BT `hciconfig`+`bluetoothctl` / rfkill / IP 路由 DNS 只读 / udhcpc 续租释放仅 MeowOS);**连接普查**(2s `/proc/net/{tcp,udp}`,inode→pid→**三实体** `app:<包名>`/`svc:<服务名>`/`proc:<comm>` 归因);**DNS 代理**(127.0.0.1:53,双行 resolv.conf+atexit 恢复+5s 自检,崩溃零断流);**策略引擎**(`/data/meow/netmgrd/net_policy.conf`,防自锁双层:dropbear/wpa_supplicant/udhcpc/netmgrd/svcd/sysui/init 拒 block+加载校验强制复位;**SOCK_DESTROY 真机 no-op(内核 4.4 接受不销毁)→ 仅 DNS 层生效,`meow_net policy show` 明示 `enforce=dns_only`**)。双形态 CLI **`meow_net`**(`status/iface/wifi/bt/rfkill/apps/conns/top/dns/policy/help`)。设计见 `devdocs/plan/NETMGR_DESIGN.md`。
|
||||
- **meow_powermgr(功耗管理服务,M6.0 期1 / M6.1 期2)**:`/usr/bin/meow_powermgr`(svcd 托管板载 `services.d/meow_powermgr.conf`,`trigger=boot`;HibyOS 只读降级)。**期0 事实**:`battery/current_now`/`cpufreq` **不存在**→实时功率只能 derived+estimated 双轨、背光量程 **0-101**(非 255)、mp2731 有 current_now(充电功率可测)、rfkill×4、无 thermal。**期1**:权威充电态链复用 + 经验模型 14 系数(`/data/meow/powermgr/power_model.conf`)。**期2**:`history`(30s 环形 4h 不落盘)+`top`(功耗分解)+`events`(充放电/低电/亮灭屏/背光跳变)+模型细化(WiFi 未关联档/BT rfkill·ACL 档)+ **mp2731 current_now 实测充电功率**(charge_confidence=measured,放电仍 estimated)。双形态 CLI **`meow_power`**(`status/estimate/model/history/top/events`)。设计见 `devdocs/plan/POWER_MANAGER_DESIGN.md`。
|
||||
|
||||
### 2.6 通知系统
|
||||
|
||||
@@ -162,7 +167,7 @@ init (rcS)
|
||||
|
||||
### 2.9 系统框架 / 专项服务
|
||||
|
||||
把**系统复用功能收敛到系统框架**(`devdocs/plan/SYSTEM_FRAMEWORK_SERVICES.md`,一期已落地):meow_sysui 派生 → meow_svcd 托管 → IPC。新增两个 **svcd 托管、板载 `trigger=boot`** 的专项子服务:
|
||||
把**系统复用功能收敛到系统框架**(`devdocs/plan/SYSTEM_FRAMEWORK_SERVICES.md`,一期已落地):meow_sysui 派生 → meow_svcd 托管 → IPC。新增 **svcd 托管、板载 `trigger=boot`** 的专项子服务(perf/power 一期;**netmgrd/powermgr** 二期——网络管理/功耗管理,见 §2.5 服务清单):
|
||||
|
||||
- **`meow_svc_perf`**(性能 / 系统只读聚合,IPC `/usr/data/meow_perf.sock`,`MSG_PERF_QUERY(0x0050)→MSG_PERF_RESULT(0x0051)`);**`meow_svc_power`**(关机 / 重启 / 升级 / 回 HiBy 系统动作,IPC `/usr/data/meow_power.sock`,`MSG_POWER_ACTION(0x0060)→MSG_POWER_STATUS(0x0061)`,服务端 `SO_PEERCRED uid==0` 基础鉴权)。**M2.73 已落地**:`meow_svc_perf` 增 **network** 子集(真实 WiFi `wpa_cli`/`ip` + 蓝牙 `hci0`/sysfs + `hostname_local`),并入 SYSTEM 子集输出;`meow_svc_power` **升级写保护**(`upgrade` 写 mtd5 前校验卡根 `r3proii.upt` 存在+可读+常规文件+size>0,失败不写 mtd5/不重启——**只完整性、不签名**,海贝官方固件无签名,签名会挡自刷)与 **`dac status` 读板载 `settings.conf` 的 `audio.volume` 真实值**(弃 amixer dummy)。**M2.78 读级鉴权放宽(agent-189)**:`STATUS`/`BATTERY`/`REBOOT_REASON`/`UPGRADE_STATUS`/`dac status` 读级不再查 uid(任意调用者);动作级维持 `os.meow.*`/系统身份白名单。**M2.88 签名鉴权 2B(agent-221)**:svc_power 面板身份精确路径绑定(删启发式)。当前 md5:perf `7ea196de`、power `306df962`。
|
||||
- **电源 CLI `meow_svc_power <cmd>`**(root 免鉴权、单一命令、**不覆盖**系统 shutdown/reboot):`shutdown` / `reboot[--hiby]`(强制回 MeowOS)/ `upgrade`(写 mtd5,含升级写保护)/ `set-default-meow` / `set-default-hiby` + `status` / `battery` / `reboot-reason` / `upgrade-status` / `screen on|off|timeout<秒>` / `dac on|off|status`。
|
||||
@@ -176,7 +181,7 @@ init (rcS)
|
||||
- **后端**:`patch_v2/meowpanel/meowpanel.c` 单进程零第三方依赖 C 静态二进制,内嵌 HTTP/JSON 服务器(8080)+ 静态托管(`/`→index.html、`/assets/*`)+ 框架专项服务 IPC 客户端 + `settings.conf` 设置镜像。**读侧透传** `meow_svc_perf` IPC(`/api/{status,perf,system}`,单一权威源,不各自爬 /proc)、**动作侧**经 `meow_svc_power` IPC(`/api/system/{reboot,shutdown,ota}`)。
|
||||
- **能力**:设置镜像(`settings.conf` 解析 `key = value` 带空格 + 精确匹配,防 `audio.volume` 误配 `audio.volume_max`)、文件管理(白名单 `MeowOS/Music/MeowData/MeowAPPs/book`,`..` 逃逸→403;**目录优先+名称不区分大小写排序、条目上限 1024**;上传 8MB 上限、文件名净化、双重白名单、`read>1MB` 截断)、**通知中心后端**(`/api/notifications` 读 TF 归档环形 200 条 + 单删 + dismiss_all)、应用(`nyai install/export/remove`,包名=`app.json.package`;`nyai` 路径固件内置 `/usr/bin/nyai` 优先+卡上回退)、按键注入(`/dev/input/event*` evdev,只注入音量/电源/播放/上下曲,**禁返回(158)/主页(172)/确认(28)/退出(96)**)、日志(`MeowOS/logs`)。
|
||||
- **OTA 检查升级 bug 已修**:改读 `GET /api/system` 返回的 `ota` 字段,不再误触 `POST /api/system/ota` 触发升级。
|
||||
- **M2.78 可选密码鉴权(agent-196,默认关)**:`panel.auth_enabled`(默认0) + `panel.auth_pass`(带盐 sha256 不明文);token 会话(`/dev/urandom`,TTL 12h,内存+卡持久化,静态屏蔽 session 文件);未启用零回归,启用后 `/api/*` 全要会话;前端登录页 + 401 回跳 + 设置卡片。
|
||||
- **M2.78 可选密码鉴权(agent-196,默认关)**:`panel.auth_enabled`(默认0) + `panel.auth_pass`(带盐 sha256 不明文);token 会话(`/dev/urandom`,TTL 12h,内存+卡持久化,静态屏蔽 session 文件);未启用零回归,启用后 `/api/*` 全要会话;前端登录页 + 401 回跳 + 设置卡片。**面板增强(PANEL_ENHANCE_PLAN 批1,2026-09-01 用户定案)**:4 位 **PIN 访问级鉴权**(面板访问即需登录,与未来锁屏同源 `system.pin` 预留,未设 PIN 首访引导设置、未设前写端点拒绝;token 会话 3 天或重启失效,进程内存);前端五页:**首页仪表盘**(`/api/overview` 聚合)+ 音频电平(rms/peak 只读)+ 电源页只读 + 进程/服务页(svcd/amsd)+ 系统页补强 + 网络健壮性 + PIN 卡;后端只读端点 `power/overview/ams/svcd` + audio 电平键;音量 clamp `vol_max`+锥度提示 / 防自锁禁停 / 确认弹窗三红线。详见 `devdocs/plan/PANEL_ENHANCE_PLAN.md`。
|
||||
- **⚠️ 鉴权默认关**:内网信任模型(`reboot/shutdown/ota/apps/删除/上传` 等危险端点默认无鉴权,**勿把 8080 暴露到不可信网络**);`meow_svc_power` 服务端做 `SO_PEERCRED uid==0` 基础校验。
|
||||
- **前端**:`patch_v2/meowpanel/web/`(MD3/MIUIx 双主题 + 宝塔式 + 浏览日夜);`/usr/bin/nyai` 装 `.mpk`;launcher 的 `meow_pkg_export` / `nyai export` 导出 tar.gz(busybox tar + gzip,不需 zip)。详见 `patch_v2/meowpanel/README.md`。
|
||||
|
||||
@@ -195,7 +200,7 @@ init (rcS)
|
||||
- `files_app/` 外置系统文件管理器 os.meow.files(app.c + ui/{browser,viewer}.c + ui/common/chrome.c + logic/fsx.c)
|
||||
- `meow_sysui/` 系统进程总监(`meow_sysui` + `S70meow_sysui` + `meow_sysui.md`)
|
||||
- `meow_svcd/` 服务管理器;`meow_watchdog/` 应用看门狗;`meowpkg/` 包管理(`nyai.c`);`uinput_tap/`
|
||||
- `meow_crash/` 系统级崩溃捕获;`meow_verify/` `.mpk` Ed25519 验签;`meow_sign/` 宿主签名工具;`meow_svc_perf/`、`meow_svc_power/` 专项子服务;`meowpanel/` MeowPanel 外置面板后端 + `web/` 前端;`meow_amsd/` amsd 活动管理器(一期 agent-212 + 二期路由决策/picker 契约 agent-225,设计见 `devdocs/plan/AMSD_DESIGN.md`);`meow_audiod/` **独占音频守护 + `meow_audio` CLI**(M2.90,规范见 `devdocs/plan/AUDIOD_DESIGN.md`;`meow_route/` 已并入退役,源码保留归档);`tools/` 诊断小工具(sndprobe/tonepcm 等)
|
||||
- `meow_crash/` 系统级崩溃捕获;`meow_verify/` `.mpk` Ed25519 验签;`meow_sign/` 宿主签名工具;`meow_svc_perf/`、`meow_svc_power/`、`meow_netmgrd/`、`meow_powermgr/` 专项子服务(性能/电源动作/网络管理/功耗管理);`meowpanel/` MeowPanel 外置面板后端 + `web/` 前端;`meow_amsd/` amsd 活动管理器(一期 agent-212 + 二期路由决策/picker 契约 agent-225,设计见 `devdocs/plan/AMSD_DESIGN.md`);`meow_audiod/` **独占音频守护 + `meow_audio` CLI**(M2.90,规范见 `devdocs/plan/AUDIOD_DESIGN.md`;`meow_route/` 已并入退役,源码保留归档);`tools/` 诊断小工具(sndprobe/tonepcm 等)
|
||||
- **`mips-repo/`(入库)**—— mipsel 交叉编译软件仓库:`bins/`(`meow_mdns` / `mdnsd` 等二进制工具 + `build.sh` + `manifest.md`)、`mpk/`(`.mpk` 应用包)。
|
||||
- **`docs/`(入库)**—— `MEOWOS_SPEC_REF.md` 权威速查总索引。
|
||||
- **`font/`(入库)**—— 字形系统:`gen/gen_font.py` 生成器、`meow_font.c/.h` 渲染库、`demo/`、`src/`(字体源文件)。
|
||||
|
||||
Reference in new issue
Block a user