WatchMuse 帮助中心

WatchMuse 使用帮助。

设置 Mac、iPhone、iPad 和 Apple Watch 上的聊天,连接 Mac 本地 AI,或使用兼容的自定义服务器。

读懂 Apple Watch 上的 HRV。

了解 Apple Watch 的 HRV 测量结果,以及 WatchMuse 如何根据个人基线估算压力。你也可以用示例数值试算。

了解 HRV 的计算方法

几步设置,开始第一段对话。

云端 AI 需要联网,部分服务需要 API 密钥。已下载且受支持的模型可在运行它的设备上推理,不请求云端 AI。使用 Mac 本地 AI 时,仍需能连接到 Mac。下载模型需要网络。

在 Mac、iPhone 和 iPad 上使用核心聊天功能,不需要 Apple Watch。Mac 不包含 Mood 和天气。

设置 Mac 本地 AI

用 Base64 发送图片 ↓

01 / 选择服务

选择处理方式。

Mac:在设置 → undefined配置服务商,或在本地 AI管理下载的模型。iPhone/iPad:在设置选择undefined、本地 AI Beta或Mac 本地 AI。

02 / 完成设置

完成对应设置。

只填写所选服务需要的信息。Mac 的自定义服务器使用兼容的 HTTPS 地址,不需要密钥或模型字段。内置千问是单独的在线服务,有用量限制。

03 / 开始对话

先问一个简短问题。

在聊天中选好服务,先发送文字。附图需要服务和模型支持;Mac 设备连接目前仅支持文字。

这次回答,交给谁来处理。

内置千问
为 WatchMuse 提供的在线服务,有单独的访问条件与用量限制。与可下载的千问模型是两回事。
本机 AI
在当前设备上运行已下载且受支持的模型。下载需要联网,本机推理不请求云端 AI。
Mac 本地 AI
将请求发送到你配对的 Mac 上处理。设备与 Mac 之间仍需保持网络连接。
自带 API
使用你配置的提供商和模型。请求发送到该服务,密钥、费用与用量按服务商规则执行。
自定义服务器
使用兼容的 HTTPS 接口。Mac 的这个选项无需填写 API Key 或选择模型,由服务器决定模型。它与 Mac 设备连接不是同一功能。

让其他设备使用 Mac 上的本地 AI。

Mac 功能预览 · 根据 2026 年 10 月 4 日的当前代码核对,不代表 Mac 构建已在 TestFlight 开放。

模型下载并运行在 Mac 上。iPhone 或 iPad 把本次请求,以及聊天设置包含的上下文交给 Mac;Mac 生成回答后返回。模型文件不会因此下载到其他设备。

  1. iPhone / iPad
  2. 加密连接 · TCP/TLS
  3. Mac 本地模型
  4. 返回回答
  1. Apple Watch
  2. 配对的 iPhone
  3. 加密连接 · TCP/TLS
  4. Mac 本地模型
  5. 返回回答

先完成配对

  1. 在 Mac 打开设置 → 本地 AI,下载受支持的模型,等待校验完成,再点击使用此模型。在目录中点选模型,不等于已经切换为当前模型。
  2. 打开设置 → 你的设备,开启允许设备连接。等状态显示可以连接设备,再点复制配对码。仅开关开启,不代表服务已就绪。
  3. 在 iPhone/iPad 打开设置 → Mac 本地 AI,进入标题为Mac 连接的页面,粘贴配对码并点击配对 Mac。也可从本地 AI Beta → 使用 Mac 本地 AI进入。
  4. 开启使用 Mac 运行本地 AI,在聊天中选择本地 AI,发送一个简短问题。刷新模型只读取 Mac 当前选用的模型;要换模型,请在 Mac 上操作。

Apple Watch 通过 iPhone 转发

  1. 先在手表配对的 iPhone 上完成 Mac 配对。打开 iPhone 的设置 → 本地 AI Beta,开启允许 Apple Watch 使用本地 AI。让 iPhone 保持在附近,并能连接到 Mac。
  2. 在手表的 AI 服务商设置选择本地 AI,在对应的模型/设备选项里选择Mac 本地 AI;若未出现,点刷新模型。也可选择跟随 iPhone,同时在 iPhone 开启使用 Mac 运行本地 AI。
  3. 模型由 Mac 选择,不会下载到手表。若请求中断,打开 iPhone 上的 WatchMuse,再试一个简短问题。iOS 和 watchOS 会限制后台工作,不能无限持续转发。

私人连接,不是公网 AI 接口

使用同一局域网,或你已正确配置、能访问 Mac 的私人 VPN。WatchMuse 不会自动提供公网中转。设备连接采用带认证的 TCP/TLS,不是 HTTP API。

配对码包含连接地址、端口和认证密钥,请像密码一样保管,只交给自己的设备。正常配对通常无需手动填写端口。

修改端口前,先在 Mac 关闭设备连接,保存 1024–65535 范围内的端口,再重新开启。复制新配对码,为每台设备重新配对。

不要将端口转发到公网,也不要关闭认证或加密。如果私人 VPN 无法解析 .local 名称,可在Mac 连接的高级连接设置中填写可访问的 Mac 私网地址。

登录同一 Apple ID 不代表已建立连接。iCloud 聊天同步与 Mac AI 配对是两回事。

让 Mac 保持可用

Mac 需要开机、保持唤醒,并运行 WatchMuse。关闭窗口后,设备连接仍可在菜单栏中运行;完全退出 App 会停止服务。

App 会记住设备访问开关,下次打开时尝试恢复服务。退出后没有独立后台服务继续运行。重启或启动失败后,都应再次检查就绪状态。

这条连接目前只处理文字,包括按聊天设置整理的文字上下文。Mac 本机能处理图片,不代表远程连接能发送图片。连接失败不会自动转用云端 AI。

一次只运行一个本地生成任务。下载、校验或其他本地回答可能让 Mac 忙碌;新请求可能被拒绝,而不是排队。耗时过长的请求也会超时。

速度取决于硬件、模型大小、可用内存和当前负载。内存建议不是流畅运行保证;资源紧张时,先尝试较小的受支持模型。

聊天同步,单独设置

Mac 的设置 → 通用 → 通过 iCloud 同步聊天是可选项,使用共享聊天归档。其他设备也需开启聊天备份;Mac 构建必须具备有效签名、iCloud 能力及可用的 iCloud 账户。

归档包含已保存的消息,以及随消息保存的附件、引用和文档提取文字。不包含模型文件、API 密钥或 Mac 配对密钥,这些需要在各设备单独设置。

关闭同步会停止后续同步,不会自动删除已经存入云端的数据。聊天不保证实时同步,也不能代替设备到 Mac 的网络连接。

Mac 连接遇到问题时

01没有配对码

先接受 App 使用条款,开启设备连接并查看状态。监听服务就绪后才会出现配对码。启动失败时,检查本地网络权限、端口占用和钥匙串访问。签名或应用身份改变可能影响旧凭据的读取,请使用预期的已签名版本。

02配对成功,却连不上

配对只保存连接信息,并不等于网络测试成功。确认 Mac 已唤醒、App 正在运行、服务已就绪,且两端在局域网或私人 VPN 上互通。检查该 App 的本地网络及防火墙权限,不要关闭整个防火墙。重新核对地址和端口;如果已经改变,用新配对码配对。

03Mac 睡眠或退出后不回答

唤醒 Mac,重新打开 WatchMuse,等设备服务就绪后重试。关闭窗口和完全退出 App 不同。

04改端口后连接失效

关闭设备连接、保存新端口、重新开启,再用新配对码为每台设备配对。旧配对码仍包含旧端口。

05模型下载了,但不能切换

等下载、校验和生成任务结束。确认当前 LocalAI 目录包含全部必需文件,并已接受适用的模型条款,然后点击使用此模型。按页面错误提示排查;下载完成不等于已切换。

06更新后看不到模型或设置

先确认打开的是预期签名和应用身份的 App。不同标识可能使用不同的容器、偏好和钥匙串权限。在 Mac 的设置 → 通用中,当前代码提供“Recover Previous Data”“Import Downloaded Models…”和“Import Previous Settings…”,这些入口可能仍显示英文。选择旧 LocalAI 文件夹或偏好文件;模型会校验并复制,不会搬走原文件。密码和权限不会导入,导入设置后需重启。不要先删除旧数据。

07Mac 正在回答其他请求

等待当前本地回答、下载或校验完成,避免多台设备连续重试。若请求超时,改用简短问题或较小模型。

08Watch 无法使用 Mac AI

先在配对的 iPhone 上测试文字提问,确认 Mac 配对和手表访问开关。再在 Watch 刷新模型信息,选择 Mac,或跟随 iPhone 的 Mac 路径。保持 iPhone 在附近;后台转发中断时,重新打开它上面的 WatchMuse。无需给手表下载模型。

设置 AI 服务和模型。

下面是云端服务的设置方式,本地 AI 请看上方指南。只有要求密钥的服务才需要填写。模型可能因平台和版本不同而变化,请以 App 内列表为准。

WatchMuse 各 AI 服务的设置方法与默认或可选模型
AI 服务设置方法App 默认模型 / 可选模型
千问 AI Qwen AI为 WatchMuse 提供的在线服务,有单独的访问条件与用量限制。与可下载的千问模型是两回事。由 WatchMuse 服务器决定。
OpenAI按照 OpenAI 官方指南创建 API 密钥,再填入 App。OpenAI 密钥指南 请查看 App 内的模型选项;Mac 与移动端的默认值可能不同。
Gemini在 Google AI Studio 创建 API 密钥,再填入 App。Gemini 密钥指南 请查看 App 内的模型选项;Mac 与移动端的默认值可能不同。
DeepSeek在 DeepSeek 开放平台申请 API 密钥,再填入 App。DeepSeek 密钥指南 请查看 App 内的模型选项;Mac 与移动端的默认值可能不同。
Claude在 Claude Console 创建 API 密钥,再填入 App。Claude 密钥指南 请查看 App 内的模型选项;Mac 与移动端的默认值可能不同。
Perplexity Sonar在 Perplexity API Console 创建 API 密钥,再填入 App。Sonar 密钥指南 请查看 App 内的模型选项;Mac 与移动端的默认值可能不同。
OpenRouter创建一个 OpenRouter API 密钥,然后从 App 的模型列表中选择模型,无需为其他平台逐一添加密钥。OpenRouter 密钥指南 请查看 App 内的模型选项;Mac 与移动端的默认值可能不同。
自定义服务器填写完整的 HTTPS 接口 URL。该接口必须接收 App 发出的请求,并返回规定格式的响应,普通网页地址无法使用。查看接口格式 由你自己的服务器决定。

模型是否可用、是否支持图片,以及用量限制和费用,取决于所选服务、模型和账户。请以 App 中的模型列表及服务商的最新文档为准。密钥只需填入 App,本网站不会要求你提交 API 密钥。

常见问题。

点开问题,快速找到解决方法。

01AI 请求失败,或没有收到回答
  • 确认 Apple Watch 已连接 Wi-Fi,或能通过配对的 iPhone 正常上网。
  • 检查所选 AI 服务、API 密钥、模型名称和账户可用额度。
  • 如果使用自定义服务器,请确认接口采用 HTTPS、接受 POST 请求,并返回规定格式的 JSON。
  • 先发送一条简短的纯文字消息,判断问题出在网络连接,还是图片或上下文限制。
02离开 App 后,回答不见了

请在“设置 → AI 与聊天”中保持“回复通知”开启。网络请求和后台任务能持续多久由 watchOS 决定;App 被挂起或终止后,无法保证每个耗时较长的请求都能完成。重新打开对话,可查看已保存的内容。

03天气寄语无法使用当前位置

请为 WatchMuse 开启定位服务,再试一次“更新当前位置”。Apple 天气暂时不可用时,如果已开启备用服务,WatchMuse 可以改用 Open-Meteo。你也可以手动填写城市。

04HRV 没有更新

请允许读取健康数据,并确认 Apple Watch 最近有记录 HRV。WatchMuse 读取的是 Apple Watch 已保存的最新测量结果,无法强制进行新的 HRV 测量。身心状态分级仅供参考,不属于医学诊断。

为什么要查看 HRV 的测量时间 ↗

05表盘复杂功能显示空白或没有更新

安装或更新后,先打开一次 WatchMuse,确认相应的心情、压力或天气功能已开启,再等待 watchOS 刷新时间线。必要时,可从表盘移除该复杂功能后重新添加。

06收不到通知

请在 watchOS 设置中检查通知权限,并确认 WatchMuse 内对应的提醒已开启。睡眠保护可能会主动暂停心情提醒;watchOS 也可能为节省电量而延后后台任务。

连接自定义服务器。

通过一个兼容的 HTTPS 接口,WatchMuse 即可连接 Ollama、自部署模型或云端模型。你的服务器负责将 WatchMuse 的简单请求转换为模型所需的格式。

使用兼容的 HTTPS 接口。Mac 的这个选项无需填写 API Key 或选择模型,由服务器决定模型。它与 Mac 设备连接不是同一功能。

请填写接口本身的 URL,而不是 Ollama 控制台或模型页面的地址。WatchMuse 以 UTF-8 编码的 JSON 发送 HTTP POST 请求,问题放在 message 中。未附图时,服务器应同时接受图片字段为 null 或未提供的情况。

接口必须在请求超时前返回成功的 2xx 状态码、Content-Type: application/json,以及一个非空的 reply 字符串。

  • 请求方法POST
  • 传输协议HTTPS
  • 请求类型application/json
  • 响应类型application/json
  • 必需的响应字段reply: string
  • 建议响应时间60 秒以内
请求JSON
{
  "message": "Hello",
  "imageBase64": null,
  "mimeType": null
}
响应JSON
{
  "reply": "Hello from your model."
}

用 Base64 发送图片

在支持附图的聊天界面,选择图片并输入问题即可,App 会处理编码。不要把一长串 Base64 粘贴到普通聊天输入框里。下面的说明用于开发或测试自定义服务器接口。

Base64 把图片文件的二进制数据转成文字,便于放进 JSON;它不是图片网址,也不是文件路径。

  1. 将图片文件本身编码成 Base64,放入 imageBase64。只保留编码内容,不要带 data:image/jpeg;base64, 这类前缀,不要夹带换行或省略号。
  2. mimeType 必须与实际图片格式一致,例如 JPEG 用 image/jpeg,PNG 用 image/png。只修改文件后缀或 MIME 类型,不会转换图片格式。
  3. 把问题放入 message,连同图片字段以 application/json 发送到自己的 HTTPS 接口。服务器再转换成所选模型要求的格式。
附图请求示例JSON
{
  "message": "这张图片里有什么?",
  "imageBase64": "REPLACE_WITH_FULL_BASE64",
  "mimeType": "image/jpeg"
}

REPLACE_WITH_FULL_BASE64 是占位文字,发送前必须替换为图片的完整 Base64。不要直接发送这段占位文字。

在本机生成 Base64

以下命令只读取本地图片并输出编码,不会上传文件。把路径换成自己的图片路径,再将输出填入 imageBase64。

macOS
base64 -i "/path/to/photo.jpg" | tr -d '\r\n'
Windows PowerShell
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("C:\path\to\photo.jpg"))

文字能发,图片发不出去?

  • 先确认服务器和模型支持图片输入。Base64 只负责传输,不会让纯文字模型获得识图能力。
  • 检查编码是否完整、是否多了 data: 前缀,以及 mimeType 是否与图片一致。服务器应校验实际文件内容,不能只相信 MIME 标签。
  • Base64 会增大请求体积。如果收到 413 或提示图片过大,先缩小图片或降低质量,再检查网关、服务器和模型各自的限制。下方示例中的 20 MB 是网关示例配置,不是 WatchMuse 的统一上传上限。

下方 Ollama 网关中的 qwen2.5 是文字模型示例。测试图片时,需要换成已安装、支持图片输入的模型。 Ollama 图片输入文档 ↗

Base64 不是加密。请使用 HTTPS;私密图片建议在本机编码,不要上传到不信任的在线转换网站。

添加接口地址。

  1. Mac:设置 → undefined → 自定义服务器。iPhone/iPad:设置 → undefined。Apple Watch:设置 → AI 提供商 → 自定义服务器。填写完整的兼容 HTTPS 地址,包括路径。这里不是粘贴 Mac 配对码的地方。

请求包含哪些字段。

  • message — 必填字符串,包含用户的提示词;启用对话上下文后,还会包含整理好的上下文。
  • imageBase64 — 不带 data-URL 前缀的完整 Base64 图片数据;未附图时可为 null 或省略。
  • mimeType — 图片的实际类型,如 image/jpeg 或 image/png;未附图时可为 null 或省略。
  • 请忽略未来可能新增的未知字段,以保持接口兼容。

返回完整的回答。

  • 成功时使用 200 至 299 范围内的 HTTP 状态码。
  • 返回有效的 JSON,其中包含名为 reply 的非空字符串。
  • 不要流式发送不完整的 JSON。请先汇总模型输出,再一次性返回完整响应。
  • 失败时返回适当的 4xx 或 5xx 状态码,并在服务器上记录内部原因。

让 Apple Watch 能够访问。

  • 使用 Apple 设备信任的有效 HTTPS 证书。
  • 除非 Apple Watch 与服务器处于可互通的同一网络,否则接口必须能从家庭网络之外访问。
  • 不要将 Ollama 的原生端口直接暴露到互联网。请在前面加一个轻量的 HTTPS 网关。
  • 无需配置 CORS 响应头,因为 WatchMuse 是原生 App。
兼容性测试curl
curl -X POST "https://your-domain.example/watch-ai" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "message": "Reply with the word ready.",
    "imageBase64": null,
    "mimeType": null
  }'
预期响应内容JSON
{ "reply": "ready" }
Ollama 网关Node.js / Express
import express from "express";

const app = express();
app.use(express.json({ limit: "20mb" }));

app.post("/watch-ai", async (request, response) => {
  const { message, imageBase64, mimeType } = request.body ?? {};

  if (typeof message !== "string" || !message.trim()) {
    return response.status(400).json({ error: "message is required" });
  }

  const userMessage = { role: "user", content: message };
  if (imageBase64 && mimeType?.startsWith("image/")) {
    userMessage.images = [imageBase64];
  }

  try {
    const ollamaResponse = await fetch("http://127.0.0.1:11434/api/chat", {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        model: "qwen2.5",
        messages: [userMessage],
        stream: false
      })
    });

    if (!ollamaResponse.ok) {
      return response.status(502).json({ error: "Model request failed" });
    }

    const result = await ollamaResponse.json();
    const reply = result?.message?.content?.trim();
    if (!reply) {
      return response.status(502).json({ error: "Model returned no answer" });
    }

    return response.json({ reply });
  } catch {
    return response.status(503).json({ error: "Model is unavailable" });
  }
});

app.listen(3000, "127.0.0.1");
安全提示:WatchMuse 目前发送上述三个 JSON 字段,不会添加自定义 Authorization 请求头。请为公网网关设置请求频率和大小限制,将密钥保存在服务器端,监测滥用行为,并在适当情况下使用难以猜测的接口地址。切勿将 Ollama 端口、模型凭据或不受限制的代理直接暴露到公网。控制自定义接口的人可以接收发送到该接口的提示词和图片。

AI 也会出错。

重要信息请向可靠来源核实。WatchMuse 及其连接的服务不能替代专业医疗、法律、财务或紧急救助服务。联系支持时,请勿在邮件中包含密码、API 密钥、付款信息或医疗记录。

阅读隐私政策

描述你遇到的问题。

请提供 App 版本、设备、系统版本、所选 AI 方式和完整错误提示。连接 Mac 时,也请说明服务是否显示已就绪。不要发送配对码、密钥或私人对话内容。

[email protected]