AiCast

agent
Security Audit
Fail
Health Pass
  • License — License: Apache-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 22 GitHub stars
Code Fail
  • process.env — Environment variable access in scripts/adb-token.sh
  • fs module — File system access in scripts/adb-token.sh
  • rm -rf — Recursive force deletion command in scripts/verify-fixes.sh
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

把吃灰的安卓电视、旧手机、闲置平板变成 AI 的投送屏:agent 生成网页,经局域网直接投到设备上显示。无云端、无账号、不投屏。官网:https://aicast.lvchen.fun

README.md

AiCast(爱投屏)

License: Apache-2.0
Android
LAN only
Release

官网:https://aicast.lvchen.fun | 下载:https://github.com/hamoyy/AiCast/releases/latest

把吃灰的安卓电视、旧手机、闲置平板变成 AI 的投送屏 —— 只用局域网,无云端、无账号、不投屏。


它是什么

AiCast 让 agent(智能体)拥有一块屏幕:设备上装一个 app,agent 那边装好技能,你想显示什么,直接跟它说,它会把内容做成一个网页投送过去,它可以是你的待办列表、新闻简报、数据大屏、互动小游戏,也可以是 agent 想对你的表达。
它能做什么,不取决于这个 app,只取决于你的脑洞和模型的能力。

下文出现的「agent」都指 AI 智能体——就是你平时对话的那个 AI 助手(Claude Code、Hermes 这一类能读文件、能执行命令的)。

比如:

你想做的事 投到哪里 效果
待办 / 购物清单 床头旧手机、厨房平板 单列清单,随手勾选,agent 能收到你的勾选结果
简报 / 天气 / 行情 客厅电视 自动轮播,不用动手,远距离也看得清
数据大屏 / 仪表盘 平板、电视 多列卡片墙,一屏看完
互动内容 手机、平板 投票、抽签决定吃什么、小游戏、互动科普内容
有声内容 电视、平板 播报 + 背景音乐
agent 的表达窗口 任意设备 一句话、一份报告、一张图
…… 剩下的交给你的脑洞

快速开始

三步,不用记任何命令。

1. 设备端:装 AiCast app,首次打开允许通知权限,确认「设置」里的投送开关是开着的,顺手把设备命名成「客厅电视」这种好认的名字。

2. 电脑端:把下面这段话整段发给你的 agent(智能体)——

帮我装一下 AiCast 技能:https://github.com/hamoyy/AiCast

克隆下来后先读 skill/SKILL.md 并以它为准;把仓库里的 skill 目录装到你技能目录下的 aicast,再用 bin/aicast discover 看看能不能列出我家里的 AiCast 设备。

3. 之后直接说人话:「把今天的待办投到客厅电视。」

怎么用

需要准备什么

  • 一台闲置的安卓设备(手机 / 平板 / Android TV,Android 7.0 及以上);
  • 一台装了 agent(智能体)的电脑(见下一节「哪些 agent 可以用」);
  • 两者连在同一个 WiFi 下。

哪些 agent(智能体)可以用

只要它能读文件、能执行命令就行——AiCast 技能本体就是一个说明文档加一个命令行小工具。纯聊天类的 AI 助手干不了这个活,得用下面这些:

  • 国内:DeepSeek Harness、CodeBuddy、WorkBuddy、通义灵码 / Qoder、Trae、文心快码等
  • 海外:Claude Code、Codex、Cursor、OpenClaw、Hermes等

第一步:给设备装上 AiCast

把设备接入家里的 WiFi,安装 AiCast app 并打开。首次打开会请求通知权限,请点允许——app 靠它常驻后台,才能随时接收投送;打开后在「设置」里确认投送开关是开着的,顺手给设备起一个好认的名字(比如「客厅电视」),方便 agent 认出来。

第二步:让 agent 认识 AiCast

技能本体就在仓库的 skill/ 目录里:一份 SKILL.md(写给 agent 看的说明书)+ 一个零依赖 CLI(skill/bin/aicast,只需要 Node 18+)。所以你不用自己读文档,把网址丢给 agent 就行,它自己会装。

帮我安装 AiCast 技能:https://github.com/hamoyy/AiCast。克隆后读 skill/SKILL.md,把 skill/ 放进你的技能目录,然后自检并搜索局域网里的设备。

装完怎么确认真的通了——下面这些都可以直接让 agent 去跑:

想知道 让它跑 正常的样子
运行时就绪没有 python skill/scripts/check_environment.py ready(缺 Node 18+ 会告诉你装什么)
找得到设备吗 node skill/bin/aicast discover 列出设备名 + IP + 画像摘要
看得懂这台设备吗 node skill/bin/aicast info <dev> 屏幕尺寸、能否触摸、有没有遥控器、内核档位
投一页试试 node skill/bin/aicast render <dev> --html-file page.html --wake 设备上立刻出现这一页

<dev> 那一位写设备名、deviceId 或 ip:port 都行,agent 会自己解析。设备要是认证模式,它会向你要密码,换来的通行证存在本机 ~/.aicast/devices.json,30 天内不用再输。

技能会自己升级,你不用管:app 升级过之后,如果 agent 手上那份技能太旧,它会在干活前先收到一个 skillOutdated 提示,然后按说明书里的命令把技能整目录换成新版(git pull,或整目录重新覆盖)。这一步是 agent 自己的事,你不用记命令。想手动确认一次,让它跑 node skill/bin/aicast doctor,看到 "ok": true 就说明技能与设备版本对得上。

搜不到设备时:让 agent 看 discover 输出里的 mdnsDiag——5353 端口被占、路由器禁了组播都会写明原因;也可以把设备待机页底部显示的 IP 告诉它,用 discover --address 192.168.x.x 手动登记(端口不是默认的 43210 就写成 192.168.x.x:43211)。

第三步:直接说你要什么

不用记命令,像聊天一样说就行:

「把今天的待办投到床头那台旧手机上。」
「每天上午8点汇总新闻,放到客厅电视。」
「我们中午吃什么?做个抽签页投到电视。」

agent 会自动找到设备、看一眼它是什么样子,再把内容做成适合这台设备的样子投过去。

第四步:在设备上互动、看效果

  • 手机 / 平板:直接点按、勾选、输入,agent 能看到你的操作;
  • 电视:用遥控器的左右键翻页、OK 键暂停或确认,不需要触摸;
  • 也可以随时跟 agent 说「换一页」「再加一条」「回待机画面」,它都会立刻照做。

关于设备画像

agent(智能体)在投送前会先看一眼这台设备长什么样——是手机还是电视、屏幕多大、能不能触摸、系统里的浏览器是什么版本,然后决定内容该怎么排、怎么交互。

设备 agent 会生成什么样的内容
手机 · 竖屏 · 可触摸 单列、可点按;按钮、表单、勾选待办
平板 · 可触摸 多列 / 网格仪表盘、卡片墙;点击区域更大
电视 · 不可触摸 自动播放:轮播 / 滚动 / 动画;巨字号、深色高对比
电视 · 有遥控器 以自动播放为主,也可以用遥控器翻页

这些判断全都在 agent 那边完成,你不需要做任何设置。同一份需求投到手机和电视上,agent 会给出两个不同的样子。

模式与权限

模式 适合什么场景 行为
公开 Public 客厅大屏这类「谁都能投」的设备 局域网内任何 agent 都可以直接投送,不需要密码
认证 Authenticated 卧室、工位这些私密的设备 需要密码换一个 30 天的通行证;连错 5 次会锁 60 秒

两种模式都受投送总开关约束:关掉后设备照样能被发现、照样报告自己的画像,但拒绝接收任何内容。

除此之外,AiCast 目前只用到普通的运行时权限(网络、通知、保持唤醒这类),装上就能用。

待机主题

设备闲下来时显示的首页,默认自带三个:

  • native:原生时钟,最省电,默认用它;
  • aurora(极光)、minimal-light(素白):两种 HTML 主题,更好看一些。

在设备的「设置 → 待机主题」里点选就能切换。也可以让 agent 照着你的喜好做一个新主题换上——它会保存在设备上,重启也不会丢。

投送历史

设备会记住最近 10 条投送记录,方便回头再看一遍。记录存在设备本机,重启不会丢。

怎么打开:待机时钟页点右上角的**「历史」按钮;电视上也可以直接用遥控器按左键唤出。用 HTML 主题时,右上角同样有「历史」浮标(遥控器按上键**聚焦过去)。

能做的事(删除和清空都会先弹确认框,不会误删):

操作 怎么做
重播 点任意一条,内容重新上屏
删一条 点那一条右侧的垃圾桶图标,确认后只删这一条
清空全部 点右上角的「清空」,确认后全部删除

一个限制:单条内容超过 2MB 时,设备只保留开头一小段作为摘要——这一条会显示成**「不可还原」,不能再重播,但仍然可以删掉**。

这是为了不让历史把设备存储吃满:能超过 2MB 的基本都是长文档或大图表,重播价值低,留个标题让你知道「投过这么个东西」就够了。(顺带一提,单次投送本身的上限是 4MB。)

常见问题

投过去了,设备上没反应?
先确认两件事:设备上「设置 → 访问模式」里的投送开关是否打开;以及 app 是否还在运行。如果 app 被退到后台,内容会先排队,等你回到 app 界面就会自动显示出来。

可以投给不在同一个 WiFi 的设备吗?
不行。AiCast 只在局域网内工作,这也正是它不需要账号、不经过云端的原因。想跨网使用,可以在两端各装一个组网工具(比如 Tailscale)把它们连成一个私网。

它是投屏吗?手机画面能镜像到电视上吗?
不是。AiCast 不做屏幕镜像、视频投屏,也不支持 Miracast、AirPlay、DLNA。它只做一件事:把一页内容投到设备上显示。

老电视上有些效果不生效?
老设备的浏览器内核比较旧,有些新的样式和脚本写上去会静默失效。agent(智能体)会自动检测并改用兼容写法,你不用操心。

其他
你问AI吧,别让它闲置了。

项目结构

app/       安卓端 app(装到设备上的那个)
skill/     agent 技能:SKILL.md(写给 agent 的说明书)+ 零依赖 CLI + 内容模板
           —— agent 只需要这一个目录,其余部分它不用管
scripts/   开发和验证用的小脚本
docs/      设计文档与字体许可

English

Turn spare Android phones, tablets and TVs into a screen for your AI agent. The agent renders HTML and casts it over your LAN — no cloud, no account, no screen mirroring.

Website https://aicast.lvchen.fun · Download https://github.com/hamoyy/AiCast/releases/latest · Agent docs skill/SKILL.md

许可

AiCast 本体以 Apache License 2.0 发布,版权声明见 NOTICE。

内置字体 JetBrains Mono 依 SIL Open Font License 使用,许可见 docs/licenses/。

Reviews (0)

No results found