mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-10-03 15:53:56 +00:00
feat: remotedevice 二进制分块协议(录像回传+音频下发) + 工具描述增强
回应 GUI 6ea3fde 需服务端配套项([阻塞]两项 + [中]一项):
1. readFrame 支持 0x2 二进制帧(之前遇 0x2 直接断连):
- 返回 opcode, 二进制帧上限放宽至 8MB
2. handleWS 二进制聚合协议(设备→网关, 录像回传):
- cmd_data_start 开启按 req_id 聚合 → 0x2 帧追加 → cmd_data_end 聚合完成
- 结果存 cmdresult(data_base64 字段), device_ctl_cmdresult 可取回
- 超限防护(声明 total×2 或硬上限 64MB)
3. PushData 下发协议(网关→设备, 音频/TTS):
- cmd_speech_start → 0x2 分块(8KB) → cmd_speech_end
- GUI 端已实现接收侧(speakeruse 播放链路打通)
4. device_ctl_cmdrun 工具描述补齐:
- screensue 带参示例(<内容>/<秒> <内容>)
- camerasue 录像说明(cmdresult 含 data_base64)
- speakeruse 文字朗读
测试: 最小 WS 客户端端到端验证二进制分块上传/PushData 下发/离线报错
This commit is contained in:
@ -59,8 +59,12 @@ func (d *devicectlDevice) Tools() []agentIO.ToolDef {
|
||||
Description: "向设备下发命令/操作(异步,accepted=true 后用 device_ctl_cmdresult 轮询结果)。" +
|
||||
"command 支持两类(前缀区分):\n" +
|
||||
"- shell-cmd: 在设备上执行原生 shell 命令,如 shell-cmd ls -la /tmp\n" +
|
||||
"- homeagent-cmd: 调用设备端 HomeAgent 内置能力,如 homeagent-camerasue(调用用户侧摄像头)、" +
|
||||
"homeagent-screensue(用户侧屏幕显示内容)\n" +
|
||||
"- homeagent-cmd: 调用设备端 HomeAgent 内置能力:\n" +
|
||||
" · homeagent-screensue <显示内容/HTML> — 用户侧屏幕弹窗显示自定义内容(带参显示,如 homeagent-screensue 会议提醒:三点开会)\n" +
|
||||
" · homeagent-screensue <秒> <内容> — 显示指定时长后自动关闭;不带参数则常驻\n" +
|
||||
" · homeagent-camerasue — 抓拍单张 jpeg(结果为 base64 data URL)\n" +
|
||||
" · homeagent-camerasue <N秒> — 录像 N 秒 mp4(二进制分块回传,cmdresult 含 data_base64 字段)\n" +
|
||||
" · homeagent-speakeruse <文字> — 设备端 TTS 语音朗读文字\n" +
|
||||
"⚡ 高危:设备必须已授权,且该操作会改变设备行为。" +
|
||||
"返回 accepted=true 表示已下发并等待设备执行,之后可用 device_ctl_cmdresult 查询结果。" +
|
||||
"若设备未授权或离线,返回错误信息。",
|
||||
@ -68,7 +72,7 @@ func (d *devicectlDevice) Tools() []agentIO.ToolDef {
|
||||
"type": "object",
|
||||
"properties": map[string]interface{}{
|
||||
"device_id": map[string]interface{}{"type": "string", "description": "目标设备 ID"},
|
||||
"command": map[string]interface{}{"type": "string", "description": "以 shell-cmd 或 homeagent-cmd 前缀开头。如 shell-cmd pwd、homeagent-camerasue"},
|
||||
"command": map[string]interface{}{"type": "string", "description": "以 shell-cmd 或 homeagent-cmd 前缀开头。如 shell-cmd pwd、homeagent-screensue 三点开会、homeagent-camerasue 5(录5秒)、homeagent-speakeruse 你好"},
|
||||
},
|
||||
"required": []interface{}{"device_id", "command"},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user