爱意满满的作品展示区。
maundytime

做了个 iPhone 小组件 maker:不用 Xcode,用 TypeScript 把点子放到主屏

  •  3
     
  •   maundytime · May 25 · 1468 views

    大家好,我做了一个 iOS App ,叫 Await 。

    它的出发点很简单:很多点子太小,不值得专门做成一个完整 App ,但如果能真的放到 iPhone 主屏上,又会变得挺有用。

    比如我之前看到一张 ADHD Bingo 卡片:一个 5x5 的格子,每个格子是一件很小的日常任务,做完就点一下。它本来只是一张截图,但我觉得这不就是一个小组件该有的样子吗?

    用 Codex + Await ,我大概一分半做出了一个可点击的基础版。再调几轮,加上手绘网格、荧光笔标记和每天零点重置,前后大概五分钟,就变成了一个真的可以放到主屏上的小组件。

    Await 做的事情是:用 TypeScript 创建真实的 iPhone 小组件,不用打开 Xcode ,也不用自己配置 WidgetKit extension 。

    大概工作流是:

    1. 把想法描述给 Cursor / Claude Code / Codex
    2. 让 AI 写出 TypeScript
    3. 把代码放进 Await
    4. 在 iPhone 上预览和调整
    5. 放到主屏上

    它不是 web view ,也不是生成一张静态图片。Await 会把 TypeScript/TSX DSL 渲染成真实的小组件 view ,可以有状态、timeline 、intent 、网络请求、本地存储、文件、音乐、音频等能力。

    另外我做了一个 custom panel 机制。代码里可以把一些参数标记成可调整项,比如文字、颜色、字号、开关、token 、数据源路径。Await 会在 App 里自动生成面板,而且面板和代码是同步的。

    这个对 AI coding 很有用:AI 先搭结构,后面那些「颜色深一点」「字号大一号」「这个 token 换一下」之类的细节,就不用每次都让 AI 重写代码了。

    我录了两个视频,能更直观看到它在 iPhone 上的效果:

    当然,小组件不是完整 App ,WidgetKit 的限制还在:刷新频率、内存、长时间实时交互这些都不能乱来。Await 不是要把小组件变成完整 App ,而是想把这些限制之内的空间变得更容易创作。

    App Store: https://apps.apple.com/app/id6755678187
    Website: https://awaitwidget.com

    想听听大家怎么看:

    如果做一个真实 iPhone 小组件的成本足够低,你会想给自己做一个什么样的小组件?

    Supplement 1  ·  May 26
    19 replies    2026-05-26 22:08:16 +08:00
    eocp2020
        1
    eocp2020  
       May 25
    厚着脸皮有个码可以吗?
    cG02NjZAcHJvdG9ubWFpbC5jb20=
    我想做国网电力和联通套餐的小组件,还有机场流量的小组件。
    maundytime
        2
    maundytime  
    OP
       May 25
    @eocp2020 编辑功能是免费的 可以直接用
    7gugu
        3
    7gugu  
       May 25
    coool ,晚上折腾一下
    maundytime
        4
    maundytime  
    OP
       May 25
    @7gugu 感谢支持,欢迎反馈意见
    SayHelloHi
        6
    SayHelloHi  
       May 25
    @maundytime

    提一个需求:

    在 App 里面或者有个专门的 web 页面作为小组件商店

    用户可以上传和下载小组件 😀
    maundytime
        7
    maundytime  
    OP
       May 25
    @SayHelloHi 感谢~~我想想怎么做。
    mogita
        8
    mogita  
       May 25
    基于 await 做了个能实时刷新的 Claude 套餐用量小组件,纯本机运行,除了 claude.ai 没有任何外部请求。这种直观又轻量的需求的确适合用小组件来实现。

    我自己已经用了一段时间,还挺稳定,欢迎取用 https://github.com/mogita/await-agent-usage

    安装方式:
    - 进入 Releases 点开最新发布的 index.tsx ,拷贝里面的全部代码
    - 在 await 里创建一个新的小组件,名称任意
    - 将代码粘贴到小组件里

    一次性授权设置:
    - 用浏览器打开 https://claude.ai
    - 登录状态下,找到 sessionKey cookie ,或以 sk-ant- 开头的 cookie 内容,拷贝完整的 session key
    - 在 await 小组件里,滚动到下方 Database ,点开后,把 key 粘贴到 sessionKey 的值里

    这样就配置完成了,可以在主屏乃至 macOS 桌面添加这个小组件。

    ponng
        9
    ponng  
       May 25 via iPhone
    这个点子命中我的需求,下载折腾一下,感谢 op
    maundytime
        10
    maundytime  
    OP
       May 25
    @ponng 欢迎折腾党!
    maundytime
        11
    maundytime  
    OP
       May 25
    @mogita 折腾杯第一位参赛选手你好~
    LioMore
        12
    LioMore  
       May 25
    我分享一个我的 Image Display widget ,可以把喜欢的网络图片放到 widget 上

    https://github.com/LitoMore/await-widgets/tree/main/widgets/image-display
    maundytime
        13
    maundytime  
    OP
       May 25
    @LioMore 感谢分享~
    Aixiaoa
        14
    Aixiaoa  
       May 26 via iPhone
    最低 ios26 把我拒之门外了。我还在 18.7.8 呢。让我上车啊🚌
    maundytime
        15
    maundytime  
    OP
       May 26
    @Aixiaoa 这两天就更新了~
    ponng
        16
    ponng  
       May 26 via iPhone
    debug 起来稍微有点复杂,能有个控制台啥的就好了
    ponng
        17
    ponng  
       May 26 via iPhone
    @maundytime app 不支持 http 请求,一些 demo 的 api 请求不了,能不能加个声明允许 http 请求
    maundytime
        18
    maundytime  
    OP
       May 26
    @ponng 感谢反馈~我之后支持下本地的 http
    maundytime
        19
    maundytime  
    OP
       May 26
    @ponng console 是付费功能,忘了写在说明了。你在什么地方卡 debug 了?应该不复杂,我直接介绍也行
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5862 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 93ms · UTC 03:33 · PVG 11:33 · LAX 20:33 · JFK 23:33
    ♥ Do have faith in what you're doing.