dsh-siri:用 Siri 与 iPhone 快捷指令对话 DeepSeek Harness

前言

DeepSeek Harness(DSH)把智能体、工作区和模型配置收在一台本机进程里。日常在 Mac 上调试或跑任务时,往往要回到桌面客户端或 Web 设置页输入一句话;离开电脑后,手机侧缺少与同一套 Harness 会话对齐的入口。Telegram 等通道可以远程对话,但需要额外账号与第三方服务。

下面介绍社区插件 dsh-siri(维护者 Pegasus02,GitHub:Pegasus02/dsh-siri)。它在运行 DSH 的本机上暴露带 Bearer 鉴权的 HTTP 接口,由 iPhone 快捷指令把 Siri 听写文本 POST 上去,Harness 返回的回复再由 Siri 朗读。插件归类为客户端,独立运行,不依赖 Telegram 或其他第三方通道。

这是什么

dsh-siri 当前版本为 0.1.0(MIT)。一句话定位:对 Siri 说触发语,快捷指令把文本发到这台 Mac 上的 /siri,Harness 回答后由 Siri 念出来。

典型数据流如下:

Siri 听写 → iPhone 快捷指令 → POST /siri(Bearer 密钥)→ DSH → JSON reply → Siri 朗读

核心功能

HTTP 接口

插件在本机监听可配置端口,主要路径如下(均需 Authorization: Bearer <密钥>):

方法与路径 作用
POST /siri 请求体 {"text": "…"},返回 {"reply": "…"}
GET /siri/last 取上一轮结果(任务较慢时,Siri 可先提示「还在处理」)
GET /siri/health 检查密钥是否有效

POST /siri 还可带 "bot" 字段(DS Bot 的名称或 ID,名称可只写一部分),把该句话发给指定 Bot;不带则使用设置页绑定的 DS Bot,未绑定则走普通会话。

DSH 设置页「Siri 语音」

启用插件后,DSH 设置中会出现 Siri 语音 页,用于:

  • 查看与重置密钥,配置监听端口与等待时长;
  • 选择工作区、模型、Agent Preset,编写语音指引;
  • 限频、限制来源地址。

DS Bot 与实验能力

  • 绑定 DS Bot 后,对 Siri 说的话进入所选 Bot 会话;单次请求可用 bot 字段临时指定另一个 Bot(需已安装并启用 ds-bot 插件)。
  • DS Bot 提问(实验性):Bot 通过 ask_user 提问时,Siri 会念出问题和选项,用户的下一句话作为回答交回 Bot。

快捷指令模板

仓库提供已签名的 shortcuts/Hey DSH.shortcut,或由 scripts/make-shortcut.py 生成;也可使用 iCloud 模板:Hey DSH 快捷指令。

安装与启用

资料中的构建步骤面向从源码打包插件,命令如下:

npm install
npm run build

构建会把 plugin-src/ 与 src/ 打成 lib/index.js(Host)和 lib/client.js(设置页)。

在 DSH 侧,需已安装 DeepSeek Harness,并在插件管理中启用 dsh-siri。社区目录页:skillhub.cn/plugins/Pegasus02/dsh-siri(独立社区站点,与 DeepSeek / 幻方无官方从属关系)。安装前应自行查看仓库源码与 MIT 许可证;插件以当前 dsh 进程权限运行。

典型用法

1. 网络与前置条件

  1. Mac 上 DSH 已运行,且本插件已启用。
  2. iPhone 能访问运行 Harness 的电脑(同一 Wi-Fi,或 Tailscale 等内网可达方式)。
  3. 使用 DS Bot 时,同时安装并启用 ds-bot。

接口仅做 Bearer 密钥鉴权,未提供 HTTPS;不要直接暴露到公网。

2. 在 DSH 里拿地址与密钥

打开 DSH 设置 → Siri 语音 页,记下显示的接口地址(形如 http://地址:8000/siri),点击「显示」复制密钥。可按需绑定默认 DS Bot、端口与限频等。

3. 导入快捷指令

  1. 在 iPhone 上打开 Hey DSH.shortcut(AirDrop、iCloud 链接或「文件」App),点「添加快捷指令」。
  2. 添加时系统会问三个问题(填一次即可):
    - 接口地址:上一步 Siri 语音页中的地址;
    - 密钥:同一页复制的 Bearer 密钥;
    - DS Bot 名称:可留空,留空则用设置页绑定的 Bot。
  3. 对 Siri 说「Hey DSH」,然后说话。

自行搭建快捷指令时,链路为:听写文本 → 获取 URL 内容(POST,JSON 体含 text,请求头 Authorization: Bearer 密钥)→ 从字典取键 reply → 朗读文本。分享快捷指令时请分享模板,勿分享含个人密钥与地址的副本。

4. 调用示例(curl)

本机或内网调试时,可对 POST /siri 发请求(将地址与密钥替换为设置页中的值):

curl -s -X POST 'http://地址:8000/siri' \
  -H 'Authorization: Bearer 你的密钥' \
  -H 'Content-Type: application/json' \
  -d '{"text":"你好"}'

返回形如 {"reply":"…"}。指定 Bot 时在 JSON 中增加 "bot":"Bot名称或ID"。

适用场景与注意

适合:已在 Mac 上长期跑 DSH,希望走路时或离桌时用 Siri 触发同一工作区 / 模型 / Bot,且愿意维护内网可达与密钥轮换。

不适合:需要公网 HTTPS、多用户隔离或企业级身份体系的场景;本插件设计为个人本机 + 手机内网访问。

安全:密钥等同于接口口令;限频与来源地址限制可在 Siri 语音页配置,但仍应避免把端口映射到公网。

致谢:src/channels/shared/ 与 plugin-src/host/ 中部分文件取自 dsh-im(MIT,xmanrui),详见仓库 LICENSE。

结尾

dsh-siri 把 DSH 的对话能力接到 Siri 与快捷指令,核心是 POST /siri 与设置页里的密钥、端口和 Bot 绑定。按上文完成启用、内网可达与快捷指令配置后,即可用「Hey DSH」在本机 Harness 上语音对话。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜