前言¶
DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。开发者在使用 DSH 时,往往需要将本地的智能体会话与外部服务打通。dsh-xiaoyi 是一款 DSH 宿主端插件,它将华为小艺(XiaoYi)的 OpenClaw 模式接入本地 DSH 会话,让手机端发送的语音、文本和图片直接流转到运行在你本地机器上的智能体中。
插件定位¶
- 名称:
dsh-xiaoyi - 类型:DSH 宿主端插件
- 维护者:HangZhouXi
- 许可证:MIT
- 功能:在本地 DSH 会话与华为云小艺 OpenClaw 服务之间建立连接。
核心功能¶
该插件主要实现以下能力:
- 零第三方依赖:仅使用 Node.js 内置模块,包含一个手写的最小化 RFC6455 WebSocket 客户端,处理文本帧、分片重组、心跳检测及握手验证。
- 协议完整实现:支持鉴权签名、握手、心跳检测(含连接失效检测)以及 JSON-RPC 2.0 流式传输。
- 入站附件处理:支持接收来自小艺的图片和文件,下载至本地并传递给 DSH 会话。
- 会话复用:在冷启动时复用现有会话,避免每次都开启新对话。
- 出站在线文件(实验性):支持将本地文件发送回小艺(协议仅支持公网 HTTPS URL,可靠性需谨慎对待)。
安装与配置¶
环境要求¶
在安装前,请确认满足以下条件:
- DSH 宿主:这是宿主端插件,必须在 DSH 环境中运行。
- 华为小艺 OpenClaw 凭证:需要
AK、SK和agentId。这些需要在华为云开发者平台自行申请。 - Node.js ≥ 20:代码依赖内置的
fetch、FormData和Blob。
安装步骤¶
-
注册插件:
通过 DSH 命令注册插件源:
dsh plugin --profile web add git+https://github.com/HangZhouXi/dsh-xiaoyi
- 执行安装:
dsh plugin --profile web install
-
冷启动:
宿主端插件不支持热重载,安装后必须对 DSH 宿主进行冷启动才能生效。
-
配置凭证:
编辑配置文件
~/.dsh/xiaoyi/state.json:
{
"enabled": true,
"ak": "XiaoYi Open Platform AK",
"sk": "XiaoYi Open Platform SK",
"agentId": "agentId of your OpenClaw-mode agent",
"wsUrl": "wss://hag.cloud.huawei.com/openclaw/v1/ws/link",
"sessionId": "",
"cwd": "C:\\Users\\<you>\\Desktop",
"publicBaseUrl": "",
"imageHost": ""
}
配置项说明:
* `enabled`:总开关。
* `ak` / `sk` / `agentId`:必填,小艺凭证。
* `sessionId`:会话复用 ID,通常由插件自动维护。
* `cwd`:会话工作目录。
* `publicBaseUrl` / `imageHost`:用于出站文件功能的配置。
典型用法¶
安装并冷启动后,可以在 DSH 会话中调用以下工具:
xiaoyi_status:查看通道状态(凭证完整性、WebSocket 连接、队列长度等)。xiaoyi_set:动态更新凭证或开关(如ak、sk、enabled等)。xiaoyi_send:向当前小艺会话推送短消息。xiaoyi_send_photo:向小艺发送本地图片或文件(实验性功能)。xiaoyi_reconnect:强制断开并重连。
注意事项¶
- 非独立聊天机器人:小艺仅作为入口,它连接的是你本地的 DSH 会话。本地会话拥有相同的工具集和工作目录,不存在第二个独立的智能体。
- 权限与凭证:插件仅消费 AK/SK/agentId,无法为你创建这些凭证。
- 方向可靠性:入站方向(手机 -> 本地)是可靠的;出站方向(本地 -> 手机)仅支持文本,发送图片或文件功能处于实验阶段,且协议限制只能使用公网 HTTPS URL。
总结¶
dsh-xiaoyi 为 DSH 用户提供了连接华为小艺 OpenClaw 模式的原生途径,利用零依赖的协议实现保证了与宿主进程的稳定性。开发者可以通过配置文件或 xiaoyi_set 工具快速接入,实现手机端与本地工作流的无缝对接。