主题
产品管理
本章只回答一个问题:「产品」是什么,怎么建、怎么配、怎么测、怎么删。看完你就能独立创建一个产品,并在网页上验证它「听得懂、会说话、能执行」。
「产品」是 JoyInside 平台的核心配置单元,代表一类硬件形态;每个产品下挂载一个「智能体」,作为产品的「交互大脑」——人设、音色、技能、指令、交互策略、MCP 服务等交互配置全部挂在智能体下。
入口:左侧导航栏 → 产品管理
1. 产品与智能体
平台采用 产品 + 智能体 两层结构:
- 产品:一类硬件形态的对外身份,承载产品名称、版本、型号、开发板信息、序列号前缀、产品描述等硬件维度的信息,同时作为设备绑定的归属单元。
- 智能体:挂在产品下的「交互大脑」,承载人设、音色、技能、指令、交互策略、MCP 服务等交互维度的配置。
⚠ 当前一个产品下仅有一个「默认智能体」,暂不支持新建 / 切换多智能体,后续版本会开放。所以下文提到的「智能体配置」,实际操作对象就是产品下这一个默认智能体。
2. 产品版本:标准版 vs lite 版
创建产品时必须选择版本,且创建后不可修改。两种版本决定了智能体能配置什么、如何配置。
| 维度 | 标准版 | lite 版 |
|---|---|---|
| 智能体可配置项 | 人设、音色、技能、指令、交互策略 | 人设、音色、技能、MCP 服务 |
| 技能范围 | 全部系统技能 + 自定义技能 | 仅 新闻、音乐、知识问答、查天气 四项(详见技能配置)+MCP服务技能 |
| 交互策略范围 | 开场白、静默推送、事件反馈、情绪策略 等完整策略(语音热词为产品级配置,见 8.2) | 仅 静默推送、事件反馈、情绪策略 |
| 设备控制方式 | 由平台 AIoT Agent 统一判断并生成控制指令;控制链路支持对接小家/集贤 IoT平台/端侧直接执行 | 端侧暴露 tool list,由大模型直接判断并调用 |
| 产品型号 | 选填,可从型号库选择 | 无该字段 |
2.1 什么时候选 lite 版
适用场景:
- 功能数量在十个以内,大模型自行判定意图分类效果足够;
- 或设备控制直接由端侧以 tool list 方式暴露、交由大模型直接判断完成。
不适用场景:
- 功能数量复杂且描述近似,大模型自行判断效果不佳,需要专门的意图节点;
- 或需要使用平台 AIoT Agent 统一编排设备控制,不论最终通过小家 / 集贤 IoT 平台执行,还是由端侧直接执行。
2.2 什么时候选标准版
适用场景:
- 功能数量复杂且描述近似,需要使用平台意图 Agent(小模型 + 单独训练后的模型)加强意图分类效果;
- 想使用平台 AIoT Agent 实现设备控制,通常是复杂设备(多参数、有操作 SOP、需要状态获取等);控制指令既可通过小家 / 集贤 IoT 平台下发,也可交由端侧直接执行。
不适用场景:
- 设备控制由端侧暴露 tool list 交给大模型直接判断即可;
- 不希望平台介入意图服务,倾向自行调优。
3. 型号 - 产品 - 设备关系
平台的三层身份关系,是理解产品的前提:
产品型号(硬件标识) --1:N--> 产品(含默认智能体) --1:N--> 设备(具体实例)- 标准版产品可绑定一个产品型号(型号决定该产品可用的指令集范围);lite 版产品无型号字段;
- 一个产品可以绑定多个设备(同类硬件的不同个体)。
| 概念 | 定义 | 与产品的关系 |
|---|---|---|
| 产品型号 | 一类硬件设备的标识符,与硬件产品强关联 | 标准版可绑定一个型号;型号决定该产品可用的指令集范围 |
| 产品 | 承载硬件身份 + 一个默认智能体 | — |
| 设备 | 具体的硬件个体,通过注册获得合法身份 | 每个设备绑定一个产品,使用该产品下智能体的交互能力 |
⚠ 前置条件:标准版如需选择产品型号,需先在「资源管理 → 型号库」中创建好。型号库见 型号库。设备注册与身份模型见 4.2 设备身份模型。
4. 产品列表页
产品列表页以卡片形式展示当前企业下所有产品。
每张产品卡片包含: 产品名称、产品描述、产品 ID(API 接入时作为 appId)、产品版本(标准版 / lite 版)、创建时间、创建人。
| 操作 | 入口 | 说明 |
|---|---|---|
| 搜索 | 右上角输入框 | 按产品名称模糊搜索 |
| 新建 | 右上角「+ 创建产品」 | 打开新建产品抽屉 |
| 产品配置 | 卡片右键 / 更多 → 产品配置 | 进入产品配置详情页(配置热词与智能体) |
| 编辑产品 | 卡片右键 / 更多 → 编辑产品 | 打开编辑抽屉,改基础信息 |
| 设备管理 | 卡片右键 / 更多 → 设备管理 | 跳转到「设备管理」页面并自动带入该产品筛选 |
| 删除产品 | 卡片右键 / 更多 → 删除产品 | 删除该产品(不可恢复,详见「6. 删除产品」) |
5. 新建 / 编辑产品
新建和编辑使用相同的表单结构,以右侧抽屉形式展开。
5.1 字段说明
| 字段 | 必填 | 版本 | 说明 |
|---|---|---|---|
| 产品名称 | 必填 | 通用 | 自定义名称,用于列表中区分不同产品 |
| 产品版本 | 必填 | 通用 | 标准版 / lite 版,二选一,创建后不可修改 |
| 产品型号 | 必填 | 仅标准版 | 从型号库中选择型号;绑定后决定可用指令范围;lite 版无此字段 |
| 开发板 ID | 选填 | 通用 | 例如 kevin-box-2,用于标识开发板 |
| 开发板类型 | 选填 | 通用 | 自定义描述开发板类型 |
| 序列号前缀 | 选填 | 通用 | 仅支持英文字母、数字、横杠,且在 50 字符以内 |
| 产品描述 | 必填 | 通用 | 简单描述产品用途 |
5.2 操作流程
新建产品:
- 产品管理 → 右上角「+ 创建产品」
- 在右侧抽屉填写各字段(选定「产品版本」后决定后续字段可见性)
- 点击「确定」完成创建
- 创建成功后卡片出现在列表;进入「产品配置」即可编辑智能体
编辑产品:
- 在目标产品卡片右键 / 更多 → 「编辑产品」
- 修改允许调整的字段
- 点击「确定」保存
5.3 编辑限制
编辑抽屉字段与新建一致,但以下字段创建后不可修改:
- 产品名称
- 产品版本(标准版 / lite 版)
- 产品型号(仅标准版存在此字段)
其他字段(开发板 ID、开发板类型、序列号前缀、产品描述)可自由修改。
6. 删除产品
在目标产品卡片右键 / 更多 → 「删除产品」。
⚠ 注意:
- 删除操作不可恢复
- 删除前请确认该产品下没有已绑定的设备
- 存在已绑定设备时,产品无法删除,需先在「设备管理」中解绑 / 删除设备
7. 设备管理入口
在产品卡片右键 / 更多 → 「设备管理」,会跳转到左侧导航「设备管理」页面,并自动以当前产品作为筛选条件,直接看到该产品下所有已绑定设备。
设备的注册、绑定、解绑等操作说明见 设备管理。
8. 产品配置页
在产品卡片右键 / 更多 → 「产品配置」进入,或在卡片上直接点击进入。这里是产品最核心的配置工作区,包含两部分:热词配置 + 智能体配置。
8.1 页面结构
产品配置页顶部展示产品基本信息与「热词配置」按钮:产品名称、产品 ID、产品版本、产品型号(标准版)、产品描述、开发板 ID / 类型、序列号前缀等只读展示。
下方是智能体区域,当前固定展示「默认智能体」,即产品的唯一智能体。
8.2 热词配置
顶部信息卡片内的「热词配置」按钮,用于配置该产品的语音热词(提升端侧 ASR 对指定词汇的识别准确率)。
热词配置详见 语音热词配置。
8.3 智能体配置模块总览
智能体承载产品的全部交互配置。不同产品版本可配置的模块不同:
| 模块 | 标准版 | lite 版 | 说明 | 详见 |
|---|---|---|---|---|
| 全局人设 | ✅ | ✅ | 智能体的性格底座,拼接到所有技能 prompt 头部 | 全局人设与音色 |
| 音色 | ✅ | ✅ | 智能体默认音色(人设音色) | 全局人设与音色 |
| 技能 | ✅ 全量 | ✅ 仅 4 项 | 添加 / 编辑 / 移除技能;lite 版仅支持 新闻、音乐、知识问答、查天气(查时间已内置) | 技能配置 |
| 指令 | ✅ | ❌ | 添加 / 编辑指令集 | 指令配置 |
| 交互策略 | ✅ 全量 | ✅ 仅 3 项 | 标准版含全部策略;lite 版仅静默推送、事件反馈、情绪策略 | 交互策略配置 |
| MCP 服务 | ❌ | ✅ | 为 lite 版智能体挂载 MCP 服务,扩展工具能力 | — |
产品 ID 获取:产品配置页顶部信息区直接显示「产品 ID xxxxx」,API 接入时作为
appId参数。appId的协议用法见 4.7 核心参数总表。
8.4 预览调试
产品配置页右上角有 「预览调试」 按钮,让你在不用真实硬件的情况下,直接在网页上用文字对话测试配置效果——人设语气、技能触发、指令下发是否符合预期。
草稿 vs 发布:
| 操作 | 说明 |
|---|---|
| 保存草稿 | 保存后即可在调试窗测试,无需发布 |
| 发布 | 配置正式生效,真实设备用户可体验到变更 |
一句话:保存草稿 = 可以自己测试;发布 = 正式上线。
建立对话配置(齿轮图标) —— 对话参数对所有产品开放,设备参数仅对接入小家/集贤 IoT的标准版产品开放:
| 分组 | 参数 | 可否修改 | 说明 |
|---|---|---|---|
| 对话参数 | 产品 ID / 设备 ID(BotId) / 企业 ID / SessionId | 不可修改 | 系统自动填入 |
| 对话参数 | 位置 | 可修改 | 模拟设备所在地(影响天气、时间等位置相关功能) |
| 对话参数 | 语言 | 可修改 | 对话语言,默认中文 |
| 设备参数·标准版·小家 IoT·真实设备 | device_id / token | 可修改 | 填写小家 IoT 真实设备参数,验证真实设备控制链路 |
| 设备参数·标准版·小家 IoT·虚拟设备 | mock_device_id | 可修改 | 填写小家 IoT 虚拟设备参数,验证虚拟设备控制链路 |
| 设备参数·标准版·集贤 IoT | deviceid / productid | 可修改 | 填写集贤 IoT 设备参数,验证对应设备控制链路 |
lite 版和采用端侧对接的标准版产品不展示设备参数。端侧对接产品仍由平台 AIoT Agent 判断并生成控制指令,但指令由端侧直接执行。
两种测试范围:
- 仅测试 JoyInside 平台内能力:不填写设备参数,验证人设、技能、意图识别、AIoT 指令生成等平台内能力,不验证 IoT 平台连接和实际设备控制。
- 验证 IoT 完整链路:接入小家 / 集贤 IoT 的标准版产品填写对应设备参数后,在平台内能力测试基础上,继续验证 JoyInside 与对应 IoT 平台的连接及设备控制链路。小家 IoT 可使用真实设备参数,也可填写
mock_device_id测试虚拟设备链路。
测试流程:
1. 编辑智能体配置 → 保存草稿
2. 调试窗配置位置和语言(如需)
3. 如需验证 IoT 完整链路,填写当前产品对应的设备参数
4. 开始测试 → 系统建立 WebSocket 连接
5. 连接成功 → 对话框输入文字发送,模拟用户说话
6. 查看 AI 回复、触发技能、生成或下发的设备控制指令
7. 满意后 → +发布 正式上线「开始测试」时平台在后台建立 WebSocket 连接,本页无需关心协议细节;端侧真机的 WS 建联全集见 4.3 WebSocket 协议。
调试窗信息(每轮对话):
- 蓝色技能 / 指令标签:本轮触发了哪个技能(闲聊 / 查天气 / 有声书点播等)
- AI 回复内容:文字回复全文
- 播放按钮 ▷:直接听该条回复的 TTS 语音效果
- 调试信息按钮
>_:弹出 DEBUG INFO,含roundId(本轮唯一标识)、intent(识别到的意图 / 技能)、ttsUrl(语音文件地址)及接口原始数据
roundId是端到端排查的主键,用法见 4.7 核心参数总表。
注意事项:
- 测试会自动保存草稿:点击开始调试,未保存配置会自动存为草稿
- 调试不影响线上:草稿测试只在调试窗生效,不影响已发布版本
- 发布后才正式生效:确认无误后点「+ 发布」才让真实用户体验新配置
- 位置影响功能表现:测天气 / 时间等位置相关功能时,记得填写具体位置
9. Q&A
Q:一个产品可以有多个智能体吗? A:暂不支持。当前一个产品下固定挂载一个「默认智能体」,后续版本会开放多智能体能力。
Q:产品版本创建后能改吗? A:不能。产品名称、产品版本、产品型号(如有)三项创建后均不可修改,需要变更请新建产品。
Q:lite 版为什么没有产品型号? A:lite 版面向轻量接入场景,设备控制由端侧以 tool list 方式暴露,不依赖平台型号/指令集体系,因此不需要绑定产品型号。
Q:产品 ID 在哪里获取? A:进入「产品配置」页,顶部信息区展示「产品 ID」,API 接入时作为 appId。
Q:删除产品失败怎么办? A:确认该产品下没有已绑定设备。可通过卡片「设备管理」跳转到设备管理页查看并处理设备后再删除。
Q:新建产品后还需要做什么才能让设备「开口说话」? A:① 进入产品配置,编辑默认智能体(人设、技能,标准版还含指令 / 交互策略,lite 版含 MCP 服务);② 用预览调试验证交互效果;③ 端侧通过 API 完成设备注册和 WebSocket 接入(见 第 3 章 从零到跑通)。