当前状态:测试阶段(Pre-release / Alpha)
目前只在一种设备组合上测试成功: OnePlus PJA110 · ColorOS 16.0.3 · Android 16(SDK 36)· cccodroid 0.4.2。
项目仍在测试阶段:接口、通知文案、网关接入方式和文件布局都可能继续变动,不建议用于生产或关键任务。
- ColorOS 16 流体云能接住 Android 16 Live Update(
PROMOTED_ONGOING实测出现) - 工作态「正在干活」、完成态「任务完成」、8 秒后收起
- 并行轮次结束不会误报完成
- driver 被杀后由守护循环/网关看门狗拉起
- cccodroid 与工作岛都退到后台 8 秒,driver、网关、前台服务仍存活
- 构建、签名、安装、通知授权在设备上通过
- 四态 bot(Wakes/Works/Asks/Done)、14 look、7 个标识在真机上目视通过
- 21 个模型的轮廓/配色/眼睛/装饰全部渲染通过(对照表
screenshots/10-bot-states.png) - 通知大/小图标与岛上胶囊显示同一只 bot;
!/?/≡/×/z实测可见 - 悬浮胶囊 1.5 初版已在 OnePlus PJA110 上出现(系统岛之外的兜底路径)
- 系统岛 / 悬浮胶囊两个开关可独立保存,切换后服务会重发通知并按新开关重画
- 悬浮胶囊字号 / 高度 / 垂直位置 / 不透明度可调,设置页内用同一个
CapsuleView做实时预览(代码已编译,待覆盖安装复测)
- 1.5 的可调版:设置页实时预览已真机目视通过(小胶囊 + 标题/动作/计时/清单 2/4); 四个滑块应用到实际悬浮窗、半透明和触摸穿透仍待复测
- 悬浮胶囊在锁屏、息屏、横屏、分屏下的可见性
- 两个开关同时开启时的重复显示(预期会重复,文档建议只开一个)
- 现象:岛上在「读文件 → 改文件 → 思考中 → 执行命令」之间毫秒级来回跳。
- 根因:设备上同时跑着 0.4.x 遗留的独立 driver 和 0.5.14 的进程内订阅模块。
旧 driver 重连
/api/events时不带Last-Event-ID,网关续不上就把当前这一轮从头重放, 于是每来一次工具事件就推一条状态。 - 处理:关闭 0.4.x 的保活开关(
keepalive.conf=0),停掉旧 driver;0.5.14 只用进程内模块。 同时给仓库里的独立 driver 补了Last-Event-ID续传和 150ms 去抖,服务端状态去重也不再计step。 - 追加修复:ColorOS 冻结会让
apply()的异步落盘丢失,服务重建时读到旧true又把 driver 拉起来。 保活偏好改成commit()同步写;IslandService不再重写keepalive.conf;升级后强制关一次。
- 其他 ColorOS 版本(如 15、17)与其他机型
- 其他厂商的“灵动岛 / 实时活动”实现:vivo 国行原子岛是白名单制,红魔 OS 11 无岛,小米 HyperOS 3 理论可行但未实测;详见
docs/07-厂商适配.md - 悬浮胶囊在其他品牌 / 其他 ColorOS 版本上的悬浮窗权限、状态栏避让和触摸穿透行为
- 开发端网关(8790)与 cccodroid(8791)的差异场景
- 重启开机自启(
BOOT_COMPLETED已声明,未做整机重启验证) - 长时间 Doze(30 分钟以上)
- force-stop 后的自动恢复
- 多轮并行时的文案归属(收工判定已按
runs处理,文案可能跟随最后事件)
- cccodroid 被强行停止后,网关与 driver 都会消失,岛上会停在最后状态;重开 cccodroid 恢复。
- ColorOS 会在后台冻结应用(
do_freezer_trap,前台服务也冻),所以定时器放在网关 driver,而不是应用里。 - cccodroid 升级可能覆盖
files/app下的网关文件,需要重新接入。 - 工作岛的服务是 exported 的,同机应用可以伪造显示状态(仅影响显示);生产化需加签名级权限。
- 系统岛路径的外观由系统绘制,未使用 OPPO UPK 自定义卡片。
- 悬浮胶囊路径由本应用进程绘制:ColorOS 冻结应用时动画会停在最后一帧,
下一次
am start-foreground-service状态更新会把它唤醒;它不是系统级常驻图层。 - 悬浮胶囊完全不接收触摸(
FLAG_NOT_TOUCHABLE),点它不会打开应用; 要打开应用请点通知。这是为了不挡下面任何操作。 - 系统岛和悬浮胶囊同时开启会重复显示;建议有岛设备只开系统岛,无岛设备只开悬浮胶囊。
- 通知图标是静态帧:四态和标识准确,但呼吸/眨眼/起跳只在应用内预览里动。
- 21 个模型图标是 LobeHub 的品牌标识,公开发布前请自行确认商标使用。
如果你在别的 ColorOS 版本或机型上试了,欢迎带上:
- 机型、ColorOS 版本、Android 版本
dumpsys notification --noredact | grep -A1 "pkg=com.dafeiyu.workisland"的 flags 行- 现象截图
这些信息足够判断是“没推广”“被冻结”还是“收工判定”的问题。