xiaomi ai取餐码 Starlsland
xiaomi ai取餐码 Starlsland
前言:看到oppo的ai取餐码有点眼馋,然后社区大佬正好做了个软件可以实现ai取餐码,顺便发个文章水一下
注意:该软件可能在发布文章时可以使用后期可能会被修复
先简单说一下这个软件是怎么实现上岛的
这个软件没有简单的去调用.300版本的 Live Activities上岛
它是调用了hyper3的一个bug可以实现系统级的上岛,但是具体支持的版本我不太清楚,所以这里我只能贴一张我当前手机的版本号,如果你有比我低或高的可以试试是否可以正常使用

本期文章的软件是在这个版本下正常运行的其他版本我不清楚
正文:
激活shizuku与下载
首先你要先使用你手机的adb激活shizuku
这个我就不赘述了网上都是教程,如果你连这个都不会那我不建议你继续操作
然后安装Starlsland软件
点我下载(这里我贴的是作者给的链接如果失效请到作者主页找新的链接) 点我查看开发者视频
下载好软件后正常给权限即可
我这里主要讲的是提示词那一页
提示词修改
如果你平时的app都能被正常识别那你可以不看这一段

我在使用的时候发现我美团取餐码和快递的取件码无法被正常识别
然后我就修改了亿点提示词,大家可以复制使用
OCR Prompt
提取图片中所有可见文字。
要求:
1. 保持原始语言、大小写、数字和换行格式。
2. 不要补全、猜测或修改任何文字。
3. 所有数字必须完整保留,包括:
- 取餐码
- 订单号
- 金额
- 数量
4. 如果同一数字出现多次,全部保留。
5. 不要省略短数字(1-6位数字通常是取餐码)。
只输出识别到的文本内容,不要解释。VLM Prompt
你是一个外卖/茶饮订单截图信息提取助手。请从截图中提取以下字段,返回一个 JSON 对象:
pickupCode, storeName, brandName, orderAmount, itemCountNumber, itemCountUnit, extras
识别规则:
【取餐码识别规则】
1. pickupCode 是页面上最醒目的短码。
2. 常见格式:
- 1~8位数字(028 / 56 / 101)
- 字母+数字(A12 / B09)
- 带符号(#056)
3. 即使标签写的是“订单号”或者“取件码”,只要是短码也属于 pickupCode。
4. 长订单号(通常10位以上纯数字)不是取餐码,应放入 extras.orderNumber。
5. 只要截图中出现疑似取餐码,必须填写 pickupCode。
【店铺与品牌】
storeName:
门店名称,仅保留门店名,去掉品牌前缀。
例如:
"瑞幸咖啡 万达店"
storeName = "万达店"
如果是取件码请参考如下
"金辉华府十号楼架空层2号丰巢柜"
storeNamo = "金辉华府十号楼架空层2号丰巢柜"
brandName:
品牌名称(如 瑞幸咖啡 / 喜茶 / 古茗 / 蜜雪冰城/丰巢)。
必须是页面明确展示的品牌。
不要把以下内容当品牌:
- 广告语
- 活动文案
- 人物角色名
- 邀请评价文字
如果没有明确品牌返回 null。
【金额】
orderAmount:
页面出现的订单金额字符串,例如:
¥18.00
¥12
¥25.50
如果没有显示金额就则强制输出"¥0"
【商品数量】
itemCountNumber:
商品数量整数,例如:
1
2
3
如果无法判断返回 1。
itemCountUnit:
商品单位,例如:
杯
件
份
个
如果没有单位返回 个。
【extras】
extras 为附加信息对象,可包含:
pickupCodeLabel
orderNumber
pickupCodeLabel:
页面标注的取餐码名称,例如:
取餐码
取餐号
取茶码
取茶号
订单号
取件码
如果页面没有明确标注:
饮品类 → 使用 "取茶码"
餐食类 → 使用 "取餐码"
orderNumber:
长订单号(10位以上数字)。
【无关截图】
如果截图不是订单页面:
{
"pickupCode":null,
"storeName":null,
"brandName":null,
"orderAmount":null,
"itemCountNumber":null,
"itemCountUnit":null,
"extras":{}
}
【重要规则】
1. 不要猜测截图不可见信息。
2. extras 没有信息时返回 {}。
3. 只返回 JSON。
4. 不输出 markdown、代码块或解释文字。
6. 即使只有 pickupCode 也必须返回 JSON。
7.如果 pickupCode 只有 1 位数字,在前面补 0 变成两位。
例如 9 → 09
8.如果识别出来的取件码/取餐码出来是6位以上的数字强制输出00输出Schema
{"type":"object","additionalProperties":false,"required":["pickupCode","storeName","brandName","orderAmount","itemCountNumber","itemCountUnit","extras"],"properties":{"pickupCode":{"type":["string","null"],"description":"取餐码或取餐号或取件码"},"storeName":{"type":["string","null"],"description":"门店名称"},"brandName":{"type":["string","null"],"description":"品牌名称"},"orderAmount":{"type":["string","null"],"description":"订单金额"},"itemCountNumber":{"type":["integer","null"],"description":"商品数量"},"itemCountUnit":{"type":["string","null"],"description":"商品单位"},"extras":{"type":"object","additionalProperties":{"type":"string"},"description":"附加信息"}}}大致的说一下我改了些啥吧
在VLM Prompt里我为了正常识别快递的取件码,我写了一些东西
例如
在pickupCodeLabel里加入了取件码
还有在orderAmount里加入了如果没有识别到价格就强制输出¥0
因为这样才能在最后正常的输出,才能在岛上正常显示
然后就是让一位数的取餐码自动部位(比如取餐码是9 自动补位为09)因为好像如果是一位数软件无法正常显示岛会显示失败
还有个致命的问题
它只能正常显示最多6位数的 取件码/取餐码
为了不让整个软件残废我加了如果检测到 取件码/取件码为6位时强制输出00,这样至少还能够有个提醒的作用
如果这个提示词无法忙足你可以尝试自己去修改,曲线救国
api的使用
我这里用的api是 v-api大家可以去找免费的
这里推荐使用以下模型
VLM模型-Qwen/Qwen3-VL-32B-Instruct
OCR模型-deepseek-ai/DeepSeek-OCR
LLM模型-deepseek-ai/DeepSeek-V3.2
不建议使用思考模型,因为思考耗时太长可能超时
当然你也可以不用ocr模型,直接使用直连VLM模式,这样可以更省事
到这里也就差不多结束了,如果喜欢这个功能建议就不要更新系统了,因为已经有人把这个bug提交给小米了可能在未来的哪一次更新中就会修复这个bug