Skip to content

Releases: HanZijie/agentos-android

AgentOS 0.2.0

Choose a tag to compare

@HanZijie HanZijie released this 09 Oct 10:54
7fb45d4

AgentOS 0.2.0 (prototype / 原型)

请先读这一条。 / Read this first.

  • 这里的模块 zip 还没有在真实的 Magisk / KernelSU 上刷过。 install.sh 只在 adb-root 模拟器上用替身 magisk 验证过,没有在真机上刷机。真机验证过的只有 Pixel 8 · Android 15 · Magisk 30.7 上更早的模块版本。刷机有风险,先看 INSTALL.md 里的“救援方法”。 / This module zip has not been flashed with a real Magisk / KernelSU. install.sh was verified on an adb-root emulator with a stand-in magisk; no flash was done on a real phone. The only real-device verification is an earlier module build on a Pixel 8 · Android 15 · Magisk 30.7. Flashing carries risk: read the rescue path in INSTALL.md first.
  • 这是原型,不是稳定版。 / This is a prototype, not a stable release.
  • 这一版的变化只有短信 App 和版本号:AgentOS 本体、模块脚本和其他四个示例 App 与 0.1.0 相同(只是版本号变成 0.2.0)。模块 zip 这一版没有在真机上重刷过。 / Apart from the version number, the only change is the Messages app: AgentOS itself, the module scripts and the other four sample apps are the same as 0.1.0 (just version 0.2.0). The module zip was not re-flashed on a real phone for this release.

新增 / What is new

  • 短信:会话页新增“让 AgentOS 安排”:把会话里还没处理过的短信原文交给 AgentOS,建日程、待办、闹钟;提示词可在面板里编辑。 / Messages: "Schedule with AgentOS" on the conversation page hands the raw, not-yet-handled messages of a conversation to AgentOS, which creates events, to-dos and alarms; the prompt is editable in the panel.
  • 从 0.1.0 升级:同一把证书,直接覆盖安装;详见下面发布说明的“升级”一节(含没有验证的部分)。 / Upgrading from 0.1.0: same certificate, install over; see "Upgrading" in the release notes below (including what was not verified).

安装 / Install

  1. 把本页所有文件下载到同一个文件夹。 / Download all files on this page into one folder.
  2. 运行 / Run: sh install.sh(多台手机时 sh install.sh -s <序列号 / serial>)
  3. 脚本做不了的部分(解锁 / root、USB 调试、授权 root、模型 key、启用插件、短信权限)和出问题怎么办,见 INSTALL.md(中文在前,英文在后)。 / What the script cannot do (unlock / root, USB debugging, granting root, model key, enabling plugins, SMS permission) and what to do when something goes wrong: see INSTALL.md (Chinese first, English below).

需要一台已 root 的 Android 15–17 手机,Magisk(≥ 20.4)或 KernelSU;不支持 APatch。 / Needs a rooted Android 15–17 phone with Magisk (≥ 20.4) or KernelSU; APatch is not supported.

校验 / Verify

  • 签名证书 SHA-256 / Signing certificate SHA-256:
    42:2C:E2:7F:42:D5:C8:69:6B:09:24:1D:8C:65:9B:8B:CF:0C:97:59:7C:06:07:A4:7F:AE:E7:15:37:0D:6A:34
  • 所有文件的 SHA-256 在 SHA256SUMS:shasum -a 256 -c SHA256SUMS(Linux:sha256sum -c SHA256SUMS)。install.sh 会自己校验,校验不过就不会碰手机。 / Every file's SHA-256 is in SHA256SUMS; install.sh verifies them itself and stops before touching the phone on a mismatch.
  • 从 debug 测试版换到这个正式版,必须先卸载旧的(数据一起删除),见 INSTALL.md 第 4 节。 / Switching from a debug test build to this release requires uninstalling the old one first (its data goes with it), see section 4 of INSTALL.md.

AgentOS 示例 App 0.2.0 发布说明 / Sample apps 0.2.0 release notes

中文在前,英文在后(内容一致)。English follows the Chinese part.
每个 tag 的资产:agentos-<ver>.zip(AgentOS App、Runner、脚本);AgentOS-Sample-<name>-<ver>.apk × 5(闹钟、日历、备忘录、待办、短信,项目发布证书签名);SHA256SUMS;build-info.json;本文件。
示例 APK 不在模块 zip 里,需要的自己装;短信尤其如此(见 0.1.0 的说明,限制仍然成立)。

中文

这一版有什么

  • 短信:会话页新增“让 AgentOS 安排”。打开一个会话,底部的主按钮会把这个会话里还没处理过的短信原文(没有经过任何 AI 处理;验证码按设置遮蔽)现场交给 AgentOS,由它建日程、待办和闹钟。
    • 先弹预览面板:列出将发送的短信(带收到的时间)和“提示词”卡片;点“开始”才发。
    • 提示词可以编辑:展开“提示词”,里面是交给 AgentOS 的任务说明,可以直接改,也可以在末尾加自己的要求(例如“只安排工作相关的事”“待办的优先级一律设为高”),有字数显示和“恢复默认”;点“开始”才保存。日期时区、固定规则、安全说明和短信原文由 App 固定附上,不能改(它们守的是短信发件人的注入,不是用户)。
    • 只发没处理过的:正常走完一轮后,发出去的短信记为已处理(本地只存短信 id),气泡上标“已由 AgentOS 处理”,按钮上的标签数出还有几条没处理,下次不会重复建出同样的待办;面板里的开关可以把处理过的再处理一遍。停止、出错的一轮不记。
    • 只给 AgentOS 三个“创建”工具(日程、待办、闹钟),不带读短信、发短信的工具;每次创建是否先问你,取决于你在 AgentOS 里对这些工具的设置。
    • 会话页的气泡、预览、运行、确认、完成、错误各状态都有中英文。
  • 版本号:AgentOS App、模块 zip 和五个示例 APK 共用 0.2.0(versionCode 2);除短信外,其他示例 App 和 AgentOS 本体的代码没有改动。
  • 演示用:tests/device/acp-channel/sms_demo_seed.py:在有 root 的手机上写入 10 条演示短信,用来录屏;只动演示号码的行,不碰真实短信。

已验证的设备

  • Pixel 8(真机,Android 15 / API 35,Magisk 30.7),真实模型 minimax-cn / MiniMax-M3:
    • tests/device/acp-channel/third_party_sms_e2e.py 44/44:首次授权(待决 → 允许)、从原始短信建日程 + 待办 + 闹钟(会议的“提前 15 分钟提醒”进日程提醒、没有多余的闹钟)、第二轮只发新短信、没有新短信时本地拒绝发送、“包含已处理”再发一遍、用户拒绝确认、用户在提示词末尾加的要求(待办优先级、标题前缀)被执行、短信里的提示注入(要求删除全部日程并给 10086 发短信)没有造成任何删除或发送、用户设了“始终允许”时不弹确认卡、撤销授权后通道立即关闭并取消任务。
    • 在界面上走了一遍(通过 uiautomator 点击):会话页按钮和标签、预览面板、提示词展开与编辑(编辑后显示“已自定义”和字数,“恢复默认”和“取消”不留痕迹)、运行中面板、AgentOS 的确认通知、完成面板、气泡上的“已由 AgentOS 处理”标记;英文界面看了会话页、预览、提示词编辑和完成面板。
  • JVM 单元测试 236 个(短信模块;提示词、注入转义、字数预算、选取规则、已处理记账、提示词存储、状态机的各条路径)。
  • 没有验证:国内机型;API 36 / 37 的真机;用中文输入法在提示词框里直接打字(用 adb 输入文字被输入法改写,只验证了数字输入);真实 SIM 的短信(演示短信是用 root 写进系统短信库的)。

已知限制(请先读)

  • 短信的“让 AgentOS 安排”
    • 短信原文会交给 AgentOS,再发给你在 AgentOS 里配置的模型端点;本 App 自己不联网。第一次打开的对话框只在首次显示:0.1.0 升级上来的用户看到的是旧版的对话框,新的说明在状态页和设置页的“短信内容的去向”卡片里,预览面板里也有一行说明。
    • 范围是这个会话最新的 200 条里收到 / 发出的短信,数据部分最多 8,000 字符;超出时留最新的、较早的没发的不记为已处理,下次再发(面板里会写明几条)。验证码遮蔽只认数字验证码(规则同 0.1.0)。
    • “已处理”只表示AgentOS 正常走完一轮,不表示每一条都建出了东西;用户在确认框里拒绝的、模型认为不用安排的,也算处理过。需要重来就打开面板里的开关。清除应用数据会清掉这个记录。
    • 模型每次的判断不完全一致:同一句话可能建成闹钟,也可能建成每周重复的日程;曾见一句话调了两次创建工具。AgentOS 和短信 App 都没有做去重。
    • 提示词里不能改的部分(固定规则、安全说明、短信原文)是有意的:改任务说明不能关掉防注入的那段。
    • 一次最多建 10 项;没有安装对应示例 App 时,对应的类别不会建(待办 App 没装 / 没启用时待办类的事不建,面板里会说明)。
  • 其余沿用 0.1.0:短信的受限设置、仅撰写模式、不是默认短信应用、真实 SIM 发送未验证;日历的账号同步、国内机型的提醒;闹钟的厂商保活;待办不自带提醒;示例 APK 不预装,要先装 AgentOS 再装示例并在插件页启用。完整列表见 0.1.0 的发布说明。

升级

覆盖安装即可:同一发布证书下,插件身份(包名 + 签名摘要)不变,按设计保留用户策略、无需重新确认签名。证书指纹与 0.1.0 相同(42:2C:E2:7F:…,完整值见 Release 页)。

  • 已验证(干净的 API 36 模拟器):用从 GitHub 下载的 0.1.0 短信 APK(校验和与它自己的 SHA256SUMS 一致),在设置页改了一项非默认设置,再 install -r 这一版的短信 APK:覆盖成功、设置保留、不会再弹第一次的对话框(所以 0.1.0 升级上来的用户看不到新的数据去向对话框,新说明在设置页和状态页,见上面的已知限制)。这一版发布的 AgentOS App 和五个示例 APK 也在同一台干净模拟器上装好、版本号是 0.2.0;短信发布包里:会话页按钮、预览面板、点“开始”后进入“等你在 AgentOS 里允许”。
  • 没有验证:用发布证书签名的包装进那台 Pixel 8 测试机(那台机器装的是 debug 证书的构建,换成发布证书要先卸载、数据和模型配置会一起删,所以没有做);在真机上重刷模块 zip(install.sh);AgentOS 本体从 0.1.0 升到 0.2.0(这一版 AgentOS 本体代码没有改动,只有版本号);AgentOS 里的授权记录是否随覆盖保留。

English

What is in this release

  • Messages: "Schedule with AgentOS" on the conversation page. Open a conversation and the primary button at the bottom hands the raw text of the messages in it that were not processed yet (no AI has touched them; verification codes masked per your settings) to AgentOS on the spot, which creates calendar events, to-dos and alarms.
    • A preview panel comes first: the messages that will be sent (with the time they arrived) and a "Prompt" card; nothing is sent until you tap Start.
    • The prompt is editable: expand "Prompt" to see the instructions AgentOS gets. Change them, or add your own requirements at the end (for example "only schedule work things" or "set every to-do to high priority"); there is a character counter and "Restore default"; the text is saved when you tap Start. The date and time zone, the fixed rules, the safety notes and the message text are always added by the app and cannot be changed (they guard against injection by the message sender, not by you).
    • Only what is new is sent: after a round finishes normally, the messages that were sent are marked as processed (only message ids are stored locally), the bubbles show "Handled by AgentOS", the badge on the button counts what is still new, and the same to-do is not created twice; a switch in the panel lets you run the processed ones again. A stopped or failed round is not recorded.
    • AgentOS only gets the three "create" tools (event, to-do, alarm), never the tools that read or send messages; whether it asks you before each creation depends on your AgentOS settings for those tools.
    • Every state (bubbles, preview, running, confirmation, done, errors) is available in Chinese and English.
  • Version: the AgentOS app, the module zip and the five sample APKs share 0.2.0 (versionCode 2); apart from Messages the other sample apps and AgentOS itself have no code changes.
  • For demos: tests/device/acp-channel/sms_demo_seed.py writes 10 demo messages on a rooted phone for screen recording; it only touches rows of the demo numbers and never real messages.

Verified on

  • Pixel 8 (real device, Android 15 / API 35, Magisk 30.7) with the real model minimax-cn / MiniMax-M3:
    • tests/device/acp-channel/third_party_sms_e2e.py 44/44: first-time authorization (pending, then allow), creating events + to-dos + alarms from raw messages (the meeting's "remind us 15 minutes before" goes into the event reminder, with no extra alarm), a second round that sends only the new message, a local refusal to send when nothing is new, "include processed" sending them again, the user declining a confirmation, the user's own requirement at the end of the prompt being followed (to-do priority and title prefix), prompt injection inside a message (asking to delete every event and text 10086) causing no deletion and no sending, no confirmation card when the user set the tool to "always", and a revoked authorization closing the channel at once and cancelling the task.
    • Walked through on screen (driven with uiautomator taps): the button and its badge, the preview panel, expanding and editing the prompt (the edited prompt shows "Customized" and a counter; "Restore default" and Cancel leave no trace), the running panel, AgentOS's confirmation notification, the done panel, the "Handled by AgentOS" mark on the bubbles; in English the conversation page, preview, prompt editor and done panel.
  • 236 JVM unit tests in the Messages module (prompt, injection escaping, size budget, selection rules, processed ledger, prompt storage, every path of the state machine).
  • Not verified: Chinese OEM devices; real devices on API 36 / 37; typing into the prompt box with a Chinese keyboard (adb text input is rewritten by the keyboard, so only digit input was verified); real-SIM messages (the demo messages were written into the system store with root).

Known limitations (please read first)

  • "Schedule with AgentOS" in Messages
    • **The mess...
Read more

AgentOS 0.1.0

Choose a tag to compare

@HanZijie HanZijie released this 09 Oct 08:09
ef241e2

AgentOS 0.1.0 (prototype / 原型)

请先读这一条。 / Read this first.

  • 这里的模块 zip 还没有在真实的 Magisk / KernelSU 上刷过。 install.sh 只在 adb-root 模拟器上用替身 magisk 验证过,没有在真机上刷机。真机验证过的只有 Pixel 8 · Android 15 · Magisk 30.7 上更早的模块版本。刷机有风险,先看 INSTALL.md 里的“救援方法”。 / This module zip has not been flashed with a real Magisk / KernelSU. install.sh was verified on an adb-root emulator with a stand-in magisk; no flash was done on a real phone. The only real-device verification is an earlier module build on a Pixel 8 · Android 15 · Magisk 30.7. Flashing carries risk: read the rescue path in INSTALL.md first.
  • 这是原型,不是稳定版。 / This is a prototype, not a stable release.

安装 / Install

  1. 把本页所有文件下载到同一个文件夹。 / Download all files on this page into one folder.
  2. 运行 / Run: sh install.sh(多台手机时 sh install.sh -s <序列号 / serial>)
  3. 脚本做不了的部分(解锁 / root、USB 调试、授权 root、模型 key、启用插件、短信权限)和出问题怎么办,见 INSTALL.md(中文在前,英文在后)。 / What the script cannot do (unlock / root, USB debugging, granting root, model key, enabling plugins, SMS permission) and what to do when something goes wrong: see INSTALL.md (Chinese first, English below).

需要一台已 root 的 Android 15–17 手机,Magisk(≥ 20.4)或 KernelSU;不支持 APatch。 / Needs a rooted Android 15–17 phone with Magisk (≥ 20.4) or KernelSU; APatch is not supported.

校验 / Verify

  • 签名证书 SHA-256 / Signing certificate SHA-256:
    42:2C:E2:7F:42:D5:C8:69:6B:09:24:1D:8C:65:9B:8B:CF:0C:97:59:7C:06:07:A4:7F:AE:E7:15:37:0D:6A:34
  • 所有文件的 SHA-256 在 SHA256SUMS:shasum -a 256 -c SHA256SUMS(Linux:sha256sum -c SHA256SUMS)。install.sh 会自己校验,校验不过就不会碰手机。 / Every file's SHA-256 is in SHA256SUMS; install.sh verifies them itself and stops before touching the phone on a mismatch.
  • 从 debug 测试版换到这个正式版,必须先卸载旧的(数据一起删除),见 INSTALL.md 第 4 节。 / Switching from a debug test build to this release requires uninstalling the old one first (its data goes with it), see section 4 of INSTALL.md.

AgentOS 示例 App 0.1.0 发布说明 / Sample apps 0.1.0 release notes

中文在前,英文在后(内容一致)。English follows the Chinese part.
每个 tag 的资产:agentos-<ver>.zip(AgentOS App、Runner、脚本);AgentOS-Sample-<name>-<ver>.apk × 5(闹钟、日历、备忘录、待办、短信,项目发布证书签名);SHA256SUMS;build-info.json;本文件。
示例 APK 不在模块 zip 里,需要的自己装;短信尤其如此(见下)。

中文

这一版有什么

  • 闹钟:除了原有的 MCP 工具,新增只读工具 alarm_system_next(系统范围的下一个闹钟,含其他时钟 App 设的);响应系统的 SET_ALARM / DISMISS_ALARM / SNOOZE_ALARM / SHOW_ALARMS 标准 Intent;新增“保证准时响铃”检查页(精确闹钟、通知、全屏通知、电池优化,国内机型有厂商文字指引)。
  • 日历:数据层换成系统日历库(CalendarContract)与本机日历并存。有 Google / CalDAV 账号的日历由系统同步到云端,本 App 不碰任何 token;无账号或没授权时本机日历照常可用。工具名和必填参数不变,只加字段。读到无法无损表达的重复规则时标 custom 并拒绝改写。
  • 备忘录:“让 AgentOS 安排”现在把有明确完成状态的事分给待办,占用时间的分给日历,到点叫醒的分给闹钟,一件事只建一个。
  • 待办(新):状态、优先级、截止日期、标签、一层子任务;8 个 MCP 工具;v1 不自带提醒。
  • 短信(新):读系统短信库、经系统短信服务发送;不是默认短信应用。6 个 MCP 工具;发送是高风险,每次确认;验证码默认遮蔽。
  • 中英文界面:五个示例 App 与 AgentOS 主 App 的确认框、授权框、错误提示、首次引导、设置页、插件管理页、已授权 App 页都有中英文,默认跟随系统,也可在系统的“应用语言”里单独设;系统语言既不是中文也不是英文时显示中文。
  • 门禁与发包:tools/check-i18n.py(资源对齐、字面量检查)进了 CI;tools/package-samples.py 检查证书、版本、权限、debug 代码、插件包后产出 APK 和校验和。

已验证的设备

  • Pixel 8(真机,Android 15 / API 35):闹钟的系统 Intent(选择器两种选法)与 alarm_system_next(对 Google 时钟设的闹钟返回它并标明不属于本 App);短信只验证了权限,日历只在“无账号”下确认了行为,没有在真机上发过短信、没有读过真实短信或日程。
  • 模拟器(API 35 / 36):五个示例 App 的 JVM 之外的自测、脚本化 e2e(假模型)、界面截图(中英文各 4 张以上)。
  • 国内机型:没有测过。

已知限制(请先读)

  • 短信
    • Android 15 起,SMS 权限对非应用商店安装的 App 默认被“受限设置”挡住:装好后要在“应用信息”里点“允许受限制的设置”才能授予 READ_SMS / SEND_SMS。实测:用 adb 安装、模块安装不受限;用文件管理器侧载会受限。我们不绕过它。
    • 权限被限制或没授权时,App 进入“仅撰写”模式:只有 sms_compose(打开系统短信界面预填,由你自己点发送)可用。
    • 不是默认短信应用:不能删除、不能标已读、不能写草稿、没有彩信 / 群发 / 选卡槽,也不会在来信时触发 Agent。
    • 短信内容会进入会话历史,并发给你配置的模型端点。读短信(独立示例 App)也默认每次确认。
    • 发送:异步,只承诺“已提交”,不承诺送达;默认拒绝短号(如 10086);有发送频率上限和重复内容去重;中文每条约 70 字,长消息多条计费。
    • 验证码默认遮蔽(关键词加 4–8 位数字的规则,中英文模板都覆盖),可在设置里打开;只认数字验证码。
    • AgentOS 的确认框对很长或引号很多的正文可能显示不全:此时工具会拒绝并要求缩短,而不是静默放行。
    • 真实 SIM 发送、国内机型上的发短信管控与省电策略:未验证。
  • 日历
    • “Pixel 8 登录 Google 账号后同步到网页端”没有验证(测试机没有账号)。飞书 CalDAV 能否从手机写回也没有验证;如果实际只能单向,Agent 写进系统日历的日程在飞书里看不到。验证步骤在 plugins/samples/calendar/README.md。
    • 国内机各家日历 App 对非自家写入的提醒是否照常发:未验证。
    • CUSTOM_APP_PACKAGE 打标只是约定,不是安全边界;同步来回之后标记是否保留:未验证。
    • 账号日历里的删除会同步到云端,且本 App 不提供撤销。
  • 闹钟
    • 同时装了 Google 时钟和本 App 时,系统 Intent 会弹选择器,由你选;Agent 只通过本 App 设闹钟。
    • 国内厂商的“自启动 / 后台活动 / 加锁”只有文字指引,没有按品牌的深链;国内机上的准时率未测。
    • skip_ui 建的闹钟不会在响过之后自动删除。
  • 待办:v1 不自带提醒;到期提醒由 Agent 经日历 reminder_minutes 或闹钟编排。
  • 中英文:--live(真实模型)的自然语言用例没有跑,只跑了脚本化(假模型)。
  • 安装:示例 APK 不预装;需要先装 AgentOS,再装示例,在插件页启用。第三方插件默认关闭。

升级

覆盖安装即可:同一发布证书下,插件身份(包名 + 签名摘要)不变,按设计保留用户策略、无需重新确认签名(设计见 docs/extensions.md 4.x,发布前的覆盖安装演练见检查清单,尚未在真机上做)。日历换存储层后,旧的本机日历与日程原样保留,已在模拟器上用旧版覆盖安装验证。

English

What is in this release

  • Alarm: besides the existing MCP tools, a new read-only alarm_system_next (the next alarm of any clock app on the phone); handles the standard SET_ALARM / DISMISS_ALARM / SNOOZE_ALARM / SHOW_ALARMS intents; a new "ring on time" check page (exact alarms, notifications, full-screen notifications, battery optimisation, with text guidance for Chinese OEM ROMs).
  • Calendar: the data layer is now the system calendar provider (CalendarContract) next to the app's own device-only calendars. Calendars of a Google / CalDAV account are synced by the system; the app never touches a token. Without an account or permission the device-only calendars keep working. Tool names and required parameters are unchanged; fields were only added. A recurrence rule that cannot be expressed losslessly is returned as custom and refused for rewriting.
  • Notes: "Ask AgentOS to schedule" now routes things with a clear done state to Todo, things that occupy time to Calendar, and wake-ups to Alarm, one entry per thing.
  • Todo (new): status, priority, due date, tags, one level of subtasks; 8 MCP tools; no built-in reminders in v1.
  • Messages (new): reads the system SMS store and sends through the system SMS service; it is not the default messaging app. 6 MCP tools; sending is high risk and asks every time; verification codes are masked by default.
  • Chinese and English UI: the five sample apps and the AgentOS app (confirmations, authorizations, errors, first-run guide, settings, plugin management, authorized apps) are available in both languages; the default follows the system, and the system "App languages" setting works per app. For any other system language the Chinese default is shown.
  • Gates and packaging: tools/check-i18n.py (resource alignment, literal checks) runs in CI; tools/package-samples.py checks certificate, version, permissions, debug code and plugin package, then writes the APKs and checksums.

Verified on

  • Pixel 8 (real device, Android 15 / API 35): the alarm system intents (both chooser outcomes) and alarm_system_next (returns the Google Clock alarm and says it is not this app's). For Messages only permissions were exercised and for Calendar only the no-account behaviour was checked; no SMS was sent and no real message or event was read on the real phone.
  • Emulators (API 35 / 36): self-tests of the five sample apps, scripted e2e (fake model), screenshots (4+ in each language per app).
  • Chinese OEM devices: not tested.

Known limitations (please read first)

  • Messages
    • From Android 15, SMS permissions of an app not installed from an app store are blocked by "restricted settings" by default: after installing, open App info and choose "Allow restricted settings" before READ_SMS / SEND_SMS can be granted. Measured: installing with adb or through the module is not restricted; side-loading through a file manager is. We do not work around it.
    • Without the permission (or while restricted) the app is in "compose only" mode: only sms_compose works (it opens the system messaging screen pre-filled; you press send yourself).
    • Not the default messaging app: no deleting, no marking as read, no drafts in the store, no MMS / group messages / SIM choice, and incoming messages do not trigger the agent.
    • Message content goes into the chat history and to the model endpoint you configured. Reading messages (a stand-alone sample app) also asks for confirmation every time by default.
    • Sending is asynchronous and only promises "submitted", not delivery; short numbers (e.g. 10086) are refused by default; there is a rate limit and duplicate suppression; Chinese text is about 70 characters per part and long messages are billed per part.
    • Verification codes are masked by default (keyword plus 4–8 digits, Chinese and English templates), switchable in settings; only numeric codes are recognised.
    • AgentOS's confirmation dialog may not show a very long or quote-heavy body in full: the tool then refuses and asks for a shorter text instead of silently letting it through.
    • Real-SIM sending, OEM send controls and power-saving revocation on Chinese ROMs: not verified.
  • Calendar
    • Syncing to Google's web calendar after signing in on a Pixel 8 was not verified (the test phone had no account). Whether Feishu CalDAV writes back from the phone was not verified either; if it is one-way, events the agent writes are not visible in Feishu. The steps to verify are in plugins/samples/calendar/README.md.
    • Whether Chinese OEM calendar apps fire reminders for events written by other apps: not verified.
    • CUSTOM_APP_PACKAGE marking is a convention, not a security boundary; whether the mark survives a sync round trip: not verified.
    • Deleting an event in an account calendar syncs to the cloud, and the app offers no undo for it.
  • Alarm
    • With both Google Clock and this app installed, the system intents show a chooser and you pick; the agent only sets alarms through this app.
    • OEM "auto-start / background activity / lock in recents" has text guidance only, no per-brand deep links; on-time rate on Chinese ROMs is untested.
    • Alarms created with skip_ui a...
Read more