系统架构:摄像头 + 多模态模型 + 飞书
整套系统的硬件方案出人意料地简单:一台DJI Pocket 3通过USB数据线连接到Mac mini,充当USB摄像头。选择Pocket 3而不是普通监控摄像头,是因为它视角大、可转动、画质清晰——之前试过普通监控头,画面模糊不说,还给人一种被监视的压迫感。
核心逻辑是这样的:
- 每隔2~5分钟,系统自动截取一张画面
- 通过OpenClaw将图片喂给视觉理解模型,输出结构化描述(谁在干什么)
- 数据按timestamp、photo_path、描述内容三个字段记录
- 到下班时间(7、8点),把全天数据汇总给OpenClaw,生成趣味总结报告
- 报告配上AI生成的梗图,一起发到飞书群
- 出于隐私保护,所有观察记录在晚上12点自动删除
后端用的是Claude Opus 4.6的API,生图部分接了火山引擎的豆包 Seed 2和Seedream-5.0模型。因为团队的服务基本都跑在火山和飞书上,所以直接复用了现有基础设施。
对话式开发:从需求到上线只聊了几轮
这个项目最值得关注的不是功能本身,而是开发方式。整个过程是纯对话式完成的:
- 用自然语言向OpenClaw描述需求——把摄像头接上USB后,写了一段话说明想要什么
- OpenClaw自动检测摄像头连接、开发拍照功能并完成测试
- 它主动提出还需要:生图模型API Key、飞书群Chat ID、生图模型选择
- 把对应的Key直接在飞书里发给它,Chat ID也是在群里问它就拿到了
- 四五分钟后,系统开发完毕,OpenClaw自己测试了视觉语言模型和生图模型的连通性,还主动去飞书群里测试了消息发送
后续遇到bug也是同样的方式处理。比如梗图没发出来、只发了一堆链接——描述一下问题,一两分钟就修好了。再比如系统分不清谁坐哪个工位,直接告诉它"左上角是谁、右下角是谁",它就能正确识别每个区域对应的成员。
几个实用的设计细节
隐私边界设计得很克制:数据当天生成、当天销毁,不做持久化存储。系统部署在独立的Mac上,不接触员工工作电脑的任何数据。这个思路值得做类似项目时参考——在办公场景引入视觉AI,隐私策略不是可选项,是必选项。
输出调性的Prompt约束:给AI定了一条规矩——"只能夸,不能损"。于是输出全是用学术黑话包装的彩虹屁,比如把某人的发际线描述为"智慧高地寸草不生"。这个设计让系统从"可能引发不适的监控工具"变成了"大家期待的每日娱乐"。
加班提醒功能:到了下班时间,AI会通过摄像头检测谁还在工位,然后持续催促,直到人离开。虽然是个整活功能,但背后是视觉模型的持续检测能力在驱动。
对独立开发者的启发
这个案例的技术门槛其实很低——USB摄像头、一个多模态API、一个消息通道,加上对话式开发。没有立项,没有排期,几个人觉得好玩就自己鼓捣出来了。
对于想用AI Agent做点东西的独立开发者来说,这里有两个可以直接复用的模式:一是"定时截图 + 视觉理解 + 结构化记录"这套数据采集链路,可以迁移到很多场景(工位监测只是其中一种);二是对话式开发本身——不需要预先设计架构,把需求用人话说清楚,让Agent自己规划实现路径,遇到问题再对话修复。当Agent的使用门槛低到"聊几句就能出活"的程度,很多原本不值得立项的小创意,反而有了被实现的可能。