|
@@ -82,6 +82,20 @@ wss://{VITE_XF_ASR}/api/human_asr/v2/asr?Authorization=...
|
|
|
|
|
|
|
|
与对话协议无关,历次迁移没碰它。
|
|
与对话协议无关,历次迁移没碰它。
|
|
|
|
|
|
|
|
|
|
+#### 📋 ASR 协议契约(从 [asr/index.ts](../../../src/three-libs/asr/index.ts) 反推,供「换成自建服务」时照做)
|
|
|
|
|
+
|
|
|
|
|
+**连接**:`wss://<host>/common/asr_hub?project=qingpu&engine=aliyun_dashscope&is_long_connection=true&heartbeat=true`
|
|
|
|
|
+
|
|
|
|
|
+| 步骤 | 内容 |
|
|
|
|
|
+|---|---|
|
|
|
|
|
+| 1. 握手 | 客户端发**一帧 JSON 文本**:`{"card_id": <id>}`(注意:**不是**上面 XF 分支那套 `business/data` 参数) |
|
|
|
|
|
+| 2. 上行 | **二进制帧**,裸 PCM:格式声明为 `audio/L16;rate=16000`、`encoding: raw`,按 `CHUNK_LENGTH` 切片、`CHECK_INTERVAL` 定时发(`new Int8Array(data)` 直接 `send`) |
|
|
|
|
|
+| 3. 下行 | JSON:`{"data": {"result": {…}}}`,关键字段 `text`(识别文本)、`pgs`(`"apd"` 等分段标识)、`command`(`"start"` / `"stop"`)、`is_sentence`、`is_quit`、`ls`、`ws` |
|
|
|
|
|
+| 4. 收尾 | 非讯飞分支用 `{"command": "close"}`;讯飞分支用 `{"data": {"status": 2}}` |
|
|
|
|
|
+
|
|
|
|
|
+> 要实现自建网关,**照这张表实现即可**——前端不用改,只要把 `VITE_ASR` 指向新地址。
|
|
|
|
|
+> 引擎侧可以接你自己的阿里云百炼 / 讯飞 / 本地模型。
|
|
|
|
|
+
|
|
|
### 4. 图片 / 附件上传 —— **用户触发不到(入口被注释)**
|
|
### 4. 图片 / 附件上传 —— **用户触发不到(入口被注释)**
|
|
|
|
|
|
|
|
- 原设计:输入框的上传按钮(图片、pdf/doc/xlsx 等)→ `POST /common/qp_signed_url`
|
|
- 原设计:输入框的上传按钮(图片、pdf/doc/xlsx 等)→ `POST /common/qp_signed_url`
|