我为什么决定做一个“让电视听懂人话”的系统

一、缘起:从同学的 AI 中台说起

事情要从今年年初说起。

我同学在做毕业设计,题目叫“企业级多智能体数据分析与报告生成系统”。技术栈是 Go + Python 微服务分层架构,核心功能是接收用户的模糊自然语言指令,通过自主任务拆解、多步推理和工具调用,自动化进行数据检索并生成深度报告。

听起来很酷,对吧?

那段时间他天天跟我聊 ReAct、LangChain、向量数据库。我一度被带节奏,开始焦虑:我要不要也学 Go?要不要也做一个类似的“企业级 AI 中台”?

但我问了自己一个问题:我真正喜欢的是什么?

答案很快浮出水面——我翻了一下自己的 CSDN 账号,100 多篇文章,其中 60 多篇是硬件折腾。从路由器刷 OpenWrt,到机顶盒救砖,再到风枪烙铁换内存芯片,我乐此不疲。我享受的不是写 CRUD,而是 “让物理世界听我的话”

同时,我还有一个真实痛点。

我妈看电视,总是遇到问题:

  • 这个要会员

  • 那个找不到

  • 操作太复杂

  • 网速卡了怎么办

每次她打电话问我,我远程指导半天,她更糊涂了。我心里想:如果电视能听懂人话,该多好。

于是,我决定放弃“追风口”的念头,做一个真正属于我的项目——让电视听懂人话

二、我的技术积累

在做这个决定之前,我有这些底牌:

能力 具体经验
后端开发 Java + Spring Cloud,做过仿 B 站微服务项目,熟悉微服务架构、网关、服务发现
音视频处理 B 站项目里用过 FFmpeg 转码、推流,熟悉音视频基础
硬件折腾 60+ CSDN 硬件帖,刷过 20+ 路由器、机顶盒,会风枪烙铁,懂 Linux 底层
网络基础 OpenWrt、SSH、ADB、内网穿透,家里有软路由、NAS
AI 入门 学过 Spring AI、DeepSeek API,了解 RAG 和 Agent 基础概念

这些技能,单独看每一项都不算顶尖。但组合在一起,我发现一个事实:市面上几乎没有人同时懂 Java 后端、硬件折腾、音视频处理、AI 入门。

这是我的差异化。

三、需求分析

3.1 核心用户

我项目的第一个用户,是我妈。

她不是技术用户,不懂什么叫“开发者选项”,更不会用命令行。她需要的是:说一句话,电视就听话

3.2 核心需求

从她的使用场景出发,我列出 MVP 必须满足的功能:

需求 优先级 说明
语音控制电视 P0 说“打开 B 站”,电视真的打开
搜索播放内容 P0 说“我想听周杰伦”,自动搜播放
控制米家设备 P1 说“关灯”,蓝牙灯泡灭
记住偏好 P2 “小孩 9 点后不能看电视”
控制路由器 P3 说“限速小孩的 iPad”
3.3 约束条件

除了功能,还有硬性约束:

约束 说明
隐私优先 电视截图、家庭设备信息不能上传云端,必须本地存储
设备性能有限 家里机顶盒只有 1GB 内存,跑不了大模型
成本可控 不想每月花几十美元订阅 API,优先用免费/低成本方案
小爱音箱无法劫持 Secure Boot 锁死,刷不了机,只能当蓝牙网关
现有设备优先 不买新硬件,用家里的 NAS、机顶盒、路由器、旧手机

这些约束,逼着我不能“拿个云 API 套壳”,必须做真正的软硬结合。

四、项目目标

4.1 MVP 目标(一个月内)

手机录音 → 边缘端转码 → 云端决策 → 电视执行

具体来说:

  1. 手机 App 录音(AAC)

  2. NAS 接收,FFmpeg 转成 WAV

  3. 云端 Agent 理解意图,返回操作步骤

  4. 边缘端执行 ADB 命令,电视响应

  5. 手机实时显示执行进度

4.2 终极愿景

一个跑在机顶盒上的家庭 AI 感知系统,越用越聪明

  • 本地优先,隐私数据不出门

  • 支持电视、手机、电脑、路由器、米家设备

  • 记住用户偏好,自动执行规则

  • 人机协同,危险操作需确认

五、这个项目能成吗?

说实话,刚开始我也怀疑。

市面上没有现成的产品——NAS 厂商不做 AI,智能音箱厂商不做本地存储,大厂不做这种“缝合怪”。但反过来想:正因为没人做,才是我的机会。

我有的不是“技术多牛”,而是:

  • 真实需求(我妈的痛点)

  • 跨领域经验(后端 + 硬件 + 音视频 + AI)

  • 动手能力(60+ 硬件帖,能焊电路板)

  • 热爱(折腾本身就是乐趣)

这四样东西,比任何技术栈都值钱。

六、下一篇预告

选定了方向,下一步就是技术选型。

从 1GB 机顶盒到云端 Agent,从 SQLite 到 sqlite-vec,从 Java 到 Go 到 TypeScript——每一个选择背后,都是反复对比和真实约束下的决策。

下一篇文章,我将详细拆解 HomeSense 的技术选型全记录,包括:

  • 为什么边缘端用 Go 而不是 Java?

  • 为什么数据库选 SQLite 而不是 PostgreSQL?

  • 为什么云端 Agent 用 TypeScript 而不是 Python?

  • 为什么通信用 HTTP 而不是 WebSocket?

欢迎持续关注,也欢迎在评论区讨论你的技术选型经验。


后记:这篇文章写完后,我把它发给同学看。他说:“你这不是在做项目,是在做产品。” 我回他:“不管项目还是产品,能让我妈看电视更爽,就够了。”

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐