【脑洞分享】明衡 OS 软件顶层构想(附 TXT 文档附件)

2 陈洛樱 4小时前 55次点击

大家好,分享一份我自己构思的明衡 OS 软件构想文档。

大家就看看当个乐子就行了,这个不是真的手机,仅仅只是幻想而已,文中也写明了架构取舍以及现存风险缺陷。

核心主要围绕系统原生无障碍、安卓兼容沙箱、控件补丁机制这些思路展开。

附件是 UTF‑8 编码的 TXT,下载后建议使用天坦文本编辑器或者百宝箱读书打开,不要用系统文件管理器直接点开,避免 OCR 识别出错。

顺带说一句,这套构想逻辑里面装不上小毛毯,气得我自己都要把它砸了。

欢迎理性交流探讨。

明衡 OS 软件构想技术文档

前置声明

本文仅为软件层面顶层构想,不含任何硬件设计、商业方案。本人无操作系统内核开发实战经验,全部设计来自无障碍实际使用痛点推演,底层实现细节有待专业开发者评估、修正。本项目只是脑洞设想,并非已经实现的产品。

创作前言:本人长期使用天坦读屏,本构想诸多设计灵感来自日常使用读屏遇到的真实痛点。明衡 OS 为全新构想系统,不能够运行天坦全局无障碍读屏服务,但沙箱环境可运行天坦配套 APP,并非否定现有读屏产品,只是探索另外一条无障碍实现路线。

文档定位说明

本文不是传统操作系统完整技术规格文档,是「明衡 OS‑软件顶层构想文档」。明衡OS包含基础进程调度、窗口管理、文件管理、网络管理等操作系统通用基础组件,本文档不对这些通用基础模块展开详细设计,仅描述和项目核心目标强相关的模块:系统双交互模式、原生无障碍模块、安卓APK兼容沙箱。

一、系统总体软件架构概述

1. 主系统本体

明衡 OS 主系统,分为两种运行模式:普通交互模式、明衡阅读无障碍模式。两种模式为系统原生切换,主系统不存在安卓无障碍 API / 无障碍服务框架。全局屏幕朗读能力由内置模块「明衡阅读」全权提供,系统不存在第三方全局读屏的运行入口。

2. 安卓兼容沙箱(兼容层)

附加独立精简安卓沙箱容器,用于运行 APK 应用。

- 沙箱内部保留大部分普通应用基础 API(界面渲染、网络、音视频、文件访问等)

- 沙箱内部完整移除安卓无障碍服务整套组件

- 沙箱进程与主系统进程互相隔离,沙箱内部 APP 不能够直接接管、操控主系统

交互桥接说明:沙箱和主系统之间可选择性实现 IPC 控件信息桥接;如果不实现桥接,沙箱内 APP 对主系统仅仅是一块渲染画面。输入法、剪贴板跨环境互通,必须依靠专门桥接模块,否则功能仅限制在沙箱内部生效。

二、明衡阅读(原生无障碍模块)设计

2.1 模式切换机制

系统可在普通模式、无障碍模式之间切换。切换时需要妥善处理正在播放的 TTS、界面焦点、弹窗状态,避免焦点漂移、重复朗读、切换卡死。

2.2 手势预设子模块

1. 功能描述

内置多套主流读屏手势映射模板:天坦、点明、保益、明衡原生手势。用户可以一键导入整套手势方案。每套手势模板支持用户二次手动微调单个手势绑定功能。

2. 重要边界说明

手势预设仅仅复刻触摸动作映射关系。朗读规则、多音字处理、标点解析、网页分段、弹窗处理逻辑,全部为明衡阅读原生逻辑。手势相同,不等于完整体验等同于其他读屏软件,会存在使用习惯落差。

2.3 自定义控件标注 & 社区补丁子模块

2.3.1 本地标注

用户任意界面(包含沙箱应用界面),遇到缺少文字标签的控件,可以调出快捷标注菜单,手动录入该控件需要朗读的文本,生成本地控件映射规则,仅本机个人使用。

实现提示:若依靠界面坐标定位控件,当页面缩放、字体变更、屏幕旋转、界面布局更新之后,坐标会错位,造成朗读文本匹配错误。

2.3.2 补丁提交权限控制

1. 普通用户:可以本地标注,公共补丁上传按钮置灰,无提交权限。

2. 官方邀请贡献用户:完成控件标注打包补丁包,可提交至官方。

3. 官方开发者:可以直接使用标注工具制作补丁包。

4. 发布流程:所有提交的补丁包必须经过官方人工复核校验,确认标签内容准确无误之后,才放到官网公共补丁下载区。

2.3.3 标签读取优先级

用户本地自定义标注 > 导入的社区公共补丁 > 系统原生控件识别

2.3.4 补丁固有短板

补丁属于补救方案。一旦 APP 更新改版、界面布局改动,旧补丁直接失效;动态滚动列表、动态弹窗场景,手动标注很难做到完美适配。

2.4 TTS 朗读模块

1. TTS 是系统内置核心组件,明衡阅读朗读功能强依赖 TTS 模块。

2. 风险点:一旦 TTS 发生卡顿、异常,整套朗读功能直接失效;系统替换第三方 TTS 引擎改动成本很高。

三、安卓沙箱软件兼容规则

3.1 可以运行的应用

不依赖安卓无障碍服务、不索取底层特殊系统权限的普通 APK:社交、浏览器、音乐视频、记事本等。可以在沙箱内打开界面、联网、播放音视频,执行基础业务逻辑。

示例:天坦 APP 可以安装进沙箱。天坦社区、天坦输入法、天坦百宝箱内纯文本工具,在沙箱内可以运行;但是天坦全局无障碍读屏服务,因为沙箱移除无障碍组件,无法启动。

3.2 会异常的应用

1. 依赖安卓无障碍服务:直接功能失效,部分 APP 检测组件缺失直接闪退。

2. 需要系统底层权限:受沙箱隔离限制,无法正常工作。

3. 大型重度 3D 游戏:精简沙箱图形驱动不全,大概率卡顿闪退。

3.3 沙箱与主系统稳定性规则

1. 进程隔离:沙箱内部 APP 崩溃,默认只会终止沙箱容器,不会直接让主系统、明衡阅读崩溃。重启沙箱即可恢复主系统操作。

2. 桥接风险:如果实现控件 IPC 桥接,沙箱内 APP 高频刷新界面,大量控件事件推送,桥接代码处理不好,会造成明衡阅读焦点错乱、重复朗读、TTS 卡顿,极端情况下读屏模块卡死。

3. 无桥接场景:明衡阅读仅基于画面坐标识别沙箱界面,界面布局一变,就会发生朗读内容匹配错误。

四、已知软件固有缺陷 & 待解决风险点

说明:一部分是架构取舍,无法简单修复;一部分是开发阶段需要重点测试规避的软件问题

4.1 架构固有取舍

1. 无第三方全局读屏兜底:明衡阅读是系统唯一全局无障碍模块,如果某个界面原生适配翻车,没有别的全局读屏可以切换救场,只能依靠本地标注或者公共补丁。

2. 控件补丁属于补救方案:APP 更新布局,补丁失效,补丁库需要长期持续维护;动态弹窗、滚动列表场景标注难度高。

3. 手势只是动作复刻:朗读解析逻辑独立,老用户会存在体验落差。

4. TTS 单点风险:整套无障碍朗读高度绑定内置 TTS,更换外部 TTS 引擎成本高。

5. 沙箱隔离代价:沙箱内控件信息不会自动给到主系统,必须桥接或者依靠坐标补丁;输入法、剪贴板跨系统互通,依赖桥接模块。

4.2 开发阶段潜在软件 Bug(写代码时必须重点测试)

1. 模式切换 Bug:普通 / 无障碍模式切换过程,TTS 状态、触摸焦点、弹窗控件状态错乱,出现重复朗读、焦点漂移、切换卡顿。

2. 坐标标注错位 Bug:字体缩放、屏幕旋转,原先保存的控件坐标匹配到错误界面元素,朗读文字出错。

3. 补丁脏数据 Bug:即使邀请制 + 人工审核,依然有可能流入错误补丁,造成界面朗读错乱。

4. 多层弹窗识别 Bug:多层弹窗、悬浮遮罩叠加场景,控件识别逻辑混乱,漏读、重复朗读。

5. 内存资源泄漏:长时间运行,手势模块、补丁库、TTS 持续累积占用内存,系统越用越卡顿。

6. 开机初始化风险:开机引导界面,如果快捷键无法调出明衡阅读,无人协助的视障用户会直接卡在开机初始化页面,无法操作设备。

7. 桥接消息过载:开启控件桥接时,沙箱大量控件事件涌入主系统,未做限流处理,会拖慢明衡阅读。

五、补充总结

本文档全部为软件顶层构想,只定义“希望软件做到什么、有什么限制、会遇到什么问题”,不包含内核源码、寄存器、内存布局、驱动实现等底层细节。所有底层实现方式,交由专业开发者重新选型与落地,部分设计有可能根据技术现实进行修改。

你直接全选复制,粘贴保存成txt文件就行,之后作为附件上传天坦社区。

需要精简段落或者微调措辞随时跟我说!

共 6 条评论
Misterwang 4小时前
你迟早要把 CPU 累趴下。
Misterwang 4小时前
难道你还想自己自研一个编程语言吗?你这套技术文档我看了,感觉和安卓原生层有点不兼容。而且安卓沙箱是 Linux 难道你还想用 Linux 内核来搭系统吗?用 Linux 搭系统的话,那系统底层的代码用什么语言写?用 C 医院还是c++?Java 层和网络层,你要如何设计?
陈洛樱 [楼主] 4小时前

你好,文章开头已经写明这纯属脑洞构想。至于选用 C 语言还是 C++,这些都是后续真正落地写代码的时候才需要去考虑的事情,我本身并不会编程,目前只是做顶层架构思路的设想,还请不必围绕底层实现细节反复提问哈。

Misterwang 4小时前
即便脑洞大开,操作系统应该也要有一份完整的技术文档。你的技术文档既没交代用什么语言编写,又没交代要不要研制新的编程语言,也没交代如何与安卓沙箱兼容,还没交代如何用安卓沙箱 去搭系统,用 Linux 还是用别的内核?那你这个技术文档写了以后,哪个工程师可以看懂?即便他是脑洞大开,脑洞也得有点前提。
Misterwang 4小时前
既然你是脑洞构想,为什么又要提开发者去技术选型?你是系统设计师,你不给开发者选型,开发者还得自己去策划?那系统研发要设计师干什么?
Misterwang 4小时前
我也没有否定它不是脑洞。