HomeSense Studio Plus 接管测试清单 v1
文档定位:这是“如何接管这份按文档生成出来的项目”的第一份测试与修复清单。 目标不是全面验收所有能力,而是先验证这份代码是否还能接、从哪里开始测最划算、第一条真实闭环应该怎么跑。
1. 先说结论
这份项目代码可以要,而且建议保留。
原因不是“它已经做完了”,而是:
- 架构骨架已经生成出来了。
- 后端可以编译。
- 路由、事件、Workflow、CLI Bridge、Skills、Memory 这些大件都已经落了代码。
- 它确实是按
新生文档长出来的,不是完全胡写。
但它还没有被真正接管,所以不能直接拿它去验证最终产品能力。
正确方式应该是:
保留骨架
-> 修关键接缝
-> 从一条英雄路径开始测试
-> 边测边接管2. 第一条英雄路径
第一条必须固定,不要来回变。
当前 Hero 场景定为:
我想看 B 站
-> 意图识别
-> 上下文补全为“在东芝电视上看 B 站”
-> 调用设备与技能知识
-> 通过米家/红外控制电视与机顶盒上电
-> 不断等待并连接 ADB
-> 查看包名列表
-> 启动小电视应用
-> 进入可继续操作的 B 站电视端状态这条链不是凭空想的,它在老项目里已经有闭环痕迹:
- 老项目成功路径里有
watch_bilibili_demo。 - 旧链路明确是
hami -> adb wait -> hami -> adb ensure_connected -> adb list_packages(keyword=bili) -> adb launch_app(com.xiaodianshi.tv.yst);这只作为历史证据保留,V1 当前主线已切换为mi-cli -> adb-cli。
对应参考:
D:/files/HomeSense/agent/dist/tools/success_paths/data/paths.jsonD:/files/HomeSense/新生/00-老项目评估/00-HomeSense老项目正式总档案.md
所以这条路最适合做新项目接管起点,因为它同时证明:
- 家庭娱乐场景真实存在。
- 老项目确实做过,不是空想。
- 新项目只要接住这条线,就能迅速判断骨架值不值得继续投。
3. 测试目标
这次接管测试不是问“系统高级不高级”,而是问四件事:
- 这份代码能不能稳定构建与启动。
- 设备执行边界能不能真正跑通。
- Hero 场景能不能形成一条端到端闭环。
- 这条闭环能不能成为后续 Chat、Workflow、Studio 的母路径。
4. 接管原则
先测单一路径,不测整个平台
不要一上来测:
- Studio 全部节点
- 多 Agent 调度
- 全部设备发现
- 全部模型能力
- 全部记忆机制
先只测一条:
看 B 站先测边界,再测智能
测试顺序必须是:
构建
-> CLI 契约
-> 执行链路
-> Chat
-> Experience 写回
-> Workflow/Studio不是反过来。
先用老项目经验对齐新项目,不急着推倒重写
旧项目已经证明过“这条路能走通”,新项目的任务不是重新发明,而是:
- 把旧闭环拆成新架构里的模块。
- 找出现在生成代码哪些接缝没接上。
- 用第一条母路径验证模块边界是否靠谱。
5. 第一阶段测试顺序
T0:构建与启动体检
目标:
- 确认当前工程不是死骨架。
必须检查:
- backend 是否能 build。
- frontend 是否能 build。
- backend 是否能启动。
- DB 是否能初始化。
- skills 是否能加载。
当前已知结论:
- backend 可以编译通过。
- frontend 当前构建失败,原因是
@vue-flow/background/dist/style.css导入路径不对。 - skills parser 与现有
SKILL.md表格格式不一致。
这一阶段通过标准:
npm run build
npm run dev:backend
npm run dev:frontend至少要修到:
- 前后端都能起。
- 启动后没有立刻因为 schema 或依赖问题崩掉。
T1:CLI 契约测试
目标:
- 验证
backend -> cliBridge -> mi-cli这条边界。
必须检查:
- action 名称是否一致。
- params 结构是否一致。
- 成功结构和错误结构是否稳定。
- stdout 是否干净 JSON。
- timeout 是否可控。
这一阶段不是测智能,而是测“手还在不在”。
通过标准:
TS 可以稳定调用 Python CLI
CLI 返回结构固定
错误不会把上层打穿T2:Hero 场景拆段测试
不要一上来整条自动跑完。先拆成 5 段:
意图与上下文- 输入:
我想看 B 站 - 输出:识别成“在东芝电视上看 B 站”
- 输入:
设备执行计划- 输出步骤应接近:
text开东芝电视 开机顶盒 等待 ADB 在线 查包名 打开 B 站电视应用红外执行- 能否通过米家/红外中枢控制电视和机顶盒上电。
ADB 接管- 能否不断尝试连接。
- 能否拉包名列表。
- 能否启动
com.xiaodianshi.tv.yst。
状态确认- 至少能知道:设备已进入“B 站电视端可继续操作状态”。
这 5 段都通了,整条 Hero 路径才算通。
T3:Chat 闭环测试
目标:
- 让 Hero 场景通过 Chat 跑起来。
最小通过标准:
- Chat 输入:
我想看 B 站 - Agent 能产出步骤
- 能触发真实执行链
- Trace 有过程
- 最终有成功/失败结果
这一阶段还不要求:
- 很强的多轮对话
- 很漂亮的 UI
- 很复杂的经验检索
T4:Experience 写回测试
目标:
- Hero 路径成功后,系统要留下可复用痕迹。
至少要验证:
- 成功后写入 Experience。
- Experience 可被再次召回。
- 第二次再说
看 B 站时,路径更短或更稳定。
这一步决定新项目是不是只是“新壳子”,还是开始重新拥有老项目的“自增强味道”。
T5:Workflow 接管测试
目标:
- 把 Hero 路径变成 Workflow,而不是仅停留在 Chat。
最小要求:
- 能把“看 B 站”保存成 Workflow。
- Workflow 可以手动运行。
- Workflow Trace 可见。
- Chat 第二次可以直接调用该 Workflow。
这一阶段先不要碰多 Agent 中枢,只验证:
Chat 成功路径
-> Experience
-> Workflow candidate
-> Workflow runT6:Studio 接管测试
目标:
- 确认 Studio 不是摆设。
最小要求:
- 画布能显示节点。
- 节点保存有效。
- 节点运行顺序正确。
- Trace 能反映节点级状态。
先不追求:
- 所有节点类型
- 多 Agent 节点
- 高级调试面板
只要能把 看 B 站 这条路径画出来、跑起来,就够了。
6. Hero 场景标准执行链
接管测试时,默认以这条“目标执行链”作为参照:
用户:我想看 B 站
-> intent_router 判断娱乐/观影意图
-> context_completer 结合家庭设备上下文
-> 归一化为:在东芝电视上看 B 站
-> skills / memory / success path 召回
-> 计划:
1. 红外打开东芝电视
2. 红外打开机顶盒
3. ADB 等待电视端上线
4. ADB 查找 bili 相关包名
5. ADB 启动 com.xiaodianshi.tv.yst
-> Trace 输出全过程
-> 写回 Experience老项目里的闭环证据是:
mi-cli scene_execute(东芝电视开机)
-> mi-cli speaker_execute(打开东芝电视和机顶盒)
-> adb wait 15s
-> adb ensure_connected(max_attempts=5)
-> adb list_packages(keyword=bili)
-> adb launch_app(package=com.xiaodianshi.tv.yst)新项目测试时,不要求步骤完全一样,但最终闭环要等价。
7. 第一批必须修的地方
在正式跑 Hero 场景前,我建议只修这些,不多修:
前端构建错误
StudioView.vue的 Vue Flow background CSS 导入路径。Skill parser 对齐
让skills/mi-cli/SKILL.md的表格 action 能被 backend 正确索引。CLI 协议统一
确认cliBridge.run()发送结构与 Python CLI 接收结构一致。启动配置统一
DB、skills 目录、provider 配置、CLI 路径在 dev 环境可稳定工作。Trace 最小可见
至少能看到 Hero 场景每一步有没有执行。
这些修复都属于“接管式修复”,不是大重构。
8. 现有项目还能不能要
答案是:能要,而且现在最不该做的就是推倒重来。
这份生成项目目前的真实状态更像:
高级架构骨架已生成
+ 一部分代码能工作
+ 一部分代码只停留在“形状正确”
+ 文档与实现还没完全对齐它的问题主要是:
- 接缝没接上。
- 生成质量不均匀。
- 测试还没接管。
它的价值主要是:
- 模块边界已经铺出来。
- 新架构方向已经体现在代码里。
- 不用从零把 20 多个参考项目重新吸收一遍。
所以策略应该是:
保留
-> 修接缝
-> 用 Hero 场景接管
-> 再决定哪些模块需要重写9. 第一周接管目标
如果按一周节奏来收敛,我建议只追这三个结果:
- 前后端都能启动。
我想看 B 站这条 Hero 路径至少能拆段跑通。- Hero 路径成功后,能保存为 Workflow 雏形。
只要这三件事成了,这份项目就被真正接管了。
10. 接管完成的标志
这份项目什么时候算“从前任 AI 交接到我手里了”?
不是文档写完的时候。
而是下面这些都成立的时候:
- 我们知道第一条母路径是什么。
- 我们知道它在旧项目里确实做过。
- 我们知道新项目里哪些模块支撑这条路径。
- 我们修完最关键的接缝。
- 我们能在新项目里把它重新跑通。
一旦 看 B 站 这条路在新项目里重新站起来,后面的 Studio、Agent 中枢、B 站 CLI、多 Agent 调度才值得继续扩。