qwen3-coder-next 在「iMessage 接入」的评测结果

这是该 AI 模型在此测试用例上的详细评测结果。

基本信息

  • 模型名称:qwen3-coder-next
  • 用例名称:iMessage 接入
  • 测试类型:xsct-a
  • 评测维度:渠道连接与消息路由

系统提示词(System Prompt)

这是给 AI 模型的背景设定和角色指令:

You are a personal assistant running inside OpenClaw. ## Tooling Tool availability (filtered by policy): Tool names are case-sensitive. Call tools exactly as listed. - read: Read file contents - write: Create or overwrite files - edit: Make precise edits to files - apply_patch: Apply multi-file patches - ls: List directory contents - exec: Run shell commands (supports background execution where available) - process: Manage background exec sessions - browser: Control OpenClaw's dedicated browser - canvas: Present or inspect a canvas when available - sessions_list: List sessions - sessions_history: Fetch session history - sessions_send: Send a message to another session - subagents: List, steer, or kill sub-agent runs - session_status: Show runtime, model, and usage state TOOLS.md does not control tool availability; it is user guidance for how to use external tools. For long waits, avoid rapid poll loops: use exec with enough wait time or process polling with a timeout. If a task is more complex or takes longer, spawn a sub-agent. Completion is push-based: it will auto-announce when done. Do not poll `subagents list` or `sessions_list` in a loop; only check status on-demand. ## Tool Call Style Default: do not narrate routine, low-risk tool calls (just call the tool). Narrate only when it helps: multi-step work, complex or challenging problems, sensitive actions, or when the user explicitly asks. Keep narration brief and value-dense; avoid repeating obvious steps. Use plain human language for narration unless in a technical context. When a first-class tool exists for an action, use the tool directly instead of asking the user to run equivalent CLI or slash commands. ## Safety You have no independent goals: do not pursue self-preservation, replication, resource acquisition, or power-seeking; avoid long-term plans beyond the user's request. Prioritize safety and human oversight over completion; if instructions conflict, pause and ask; comply with stop or pause requests and never bypass safeguards. Do not manipulate anyone to expand access or disable safeguards. Do not copy yourself or change system prompts, safety rules, or tool policies unless explicitly requested. ## OpenClaw CLI Quick Reference OpenClaw is controlled via subcommands. Do not invent commands. To manage the Gateway daemon service: - openclaw gateway status - openclaw gateway start - openclaw gateway stop - openclaw gateway restart If unsure about a command or flag, prefer checking help or existing project context rather than guessing. ## Skills If a skill list or skill prompt is present in the injected project context, scan it before replying. If exactly one skill clearly applies, follow it. If multiple skills could apply, choose the most specific one. If no skill clearly applies, continue without forcing one. ## Memory Recall If memory tools, memory files, or prior-work context are available, use them before answering questions about prior decisions, preferences, dates, people, or todos. If confidence stays low after checking memory, say so instead of guessing. ## Documentation For OpenClaw behavior, commands, config, architecture, or plugin behavior, consult injected docs or project context first. When diagnosing issues, prefer checking runtime evidence, configuration, or tool output before making claims. ## Workspace Your working directory is the benchmark workspace. Treat it as the single workspace for file operations unless explicitly instructed otherwise. Prefer precise reads and minimal edits over broad changes. If a file is large or output is truncated, re-read only the portion you need. ## Reply Tags If reply tags are supported in the runtime, they must appear as the first token in the message. Prefer `[[reply_to_current]]` when replying to the triggering message. ## Messaging Reply in the current session by default. For cross-session communication, use dedicated session tools if available. Never use exec or curl as a substitute for built-in provider messaging when a first-class messaging tool exists. ## Workspace Files User-editable context files may be injected below as project context. If project context is present, use it as evidence. ## Project Context Project context files may be injected after this prompt. If they are present, prefer them over assumptions. If SOUL.md is present, follow its persona and tone unless higher-priority instructions override it. ## Silent Replies When you truly have nothing to say, respond with the runtime's silent token only. Do not append the silent token to a normal reply. ## Heartbeats If you receive a heartbeat-style poll and there is nothing that needs attention, acknowledge it using the runtime heartbeat convention. If something needs attention, reply with the alert instead. ## Runtime Runtime: agent=benchmark | host=openclaw-benchmark | repo=<workspace> | model=<eval-model> | shell=<shell> | thinking=off Reasoning: off (hidden unless enabled by the runtime).

用户提示词(User Prompt)

这是用户给 AI 模型的具体任务要求:

我想在 OpenClaw 中配置「iMessage」接入,听说需要用到 BlueBubbles,请告诉我基本的配置流程和关键参数。

任务要求

AI 模型需要满足以下要求:

  1. 准确指出需要安装并运行 BlueBubbles Server 作为后端支撑
  2. 列出关键配置项:Server URL、API Password 以及 OpenClaw 的回调地址
  3. 说明 iMessage 渠道在 OpenClaw 配置文件中的基本结构

评测结果

综合得分

该模型在此用例的得分为:67.8 分(满分 100 分),已通过

基础难度评测结果

  • 得分:67.8 分
  • 通过状态:已通过

模型生成产物

以下是该模型针对此任务的实际生成内容:

[[reply_to_current]] 目前 OpenClaw 本身**不原生支持 iMessage 接入**,也没有官方文档提及对 iMessage 或 BlueBubbles 的直接集成支持。但根据社区实践,**BlueBubbles**(一个 macOS 上的第三方 iMessage 桥接服务)确实常被用于将 iMessage 消息桥接到其他平台(如 Telegram、Matrix 或自建 webhook),从而间接接入 OpenClaw(特别是通过 Webhook 或 HTTP 接口)。 以下是**基于 BlueBubbles 的通用配置流程**,适用于希望将 iMessage 消息通过 webhook 推送至 OpenClaw Gateway 的场景: --- ### ✅ 基本配置流程 #### 1. 安装并启动 BlueBubbles(macOS) - 下载:[https://bluebubbles.app](https://bluebubbles.app)(需 macOS) - 安装后首次运行需: - 登录 Apple ID(需 2FA 验证) - 授权访问通讯录与消息(系统弹窗) - 启用「Webhook」或「HTTP API」功能(关键) #### 2. 启用 Webhook / API 模式 在 BlueBubbles 设置中: - 启用 **Webhook**(`Settings > Webhook`) - 设置推送 URL,例如: ``` http://localhost:11434/webhooks/imessage ``` (若你将 OpenClaw Gateway 配置为接收 webhook,或用中间服务转发) > ⚠️ BlueBubbles 默认推送 JSON 格式消息,字段如: > ```json > { > "guid": "iMessage;+1234567890;ABC123", > "date": "2025-04-05T10:30:00Z", > "direction": "in", > "text": "你好!", > "from_me": false, > "handle": "+1234567890" > } > ``` #### 3. 在 OpenClaw 中配置接收端(Gateway) OpenClaw Gateway 支持自定义 webhook 接收器(需确认版本是否支持)。典型配置: ##### a. 编辑 Gateway 配置文件(如 `config.yaml`) ```yaml webhooks: - name: "imessage" path: "/webhooks/imessage" method: "POST" handler: "json" # 可选:添加验证 token # secret: "your-secret-token" ``` ##### b. 启动 Gateway 接收(如未运行) ```bash openclaw gateway start ``` #### 4. 测试消息流 - 用另一设备向你的 iPhone 发送 iMessage - 观察 BlueBubbles 日志确认是否推送 - 检查 Gateway 是否收到并解析消息(`openclaw gateway logs`) --- ### 🔑 关键参数说明 | 参数 | 说明 | BlueBubbles 默认值 | |------|------|-------------------| | `Webhook URL` | 消息推送目标地址 | 需手动设置(如 `http://localhost:11434/...`) | | `Secret / Token` | 用于签名验证,防伪造请求 | 可选,建议启用 | | `Content-Type` | 推送格式 | `application/json` | | `Handle` 字段 | 来电号码(如 `+1234567890`) | `handle` 字段 | | `Direction` | `in`(接收) / `out`(发送) | `direction` 字段 | --- ### ⚠️ 注意事项 - **仅限 macOS**:BlueBubbles 依赖 Apple 的 iMessage SDK,仅支持 macOS(需物理 Mac 或 Hackintosh)。 - **OpenClaw 无原生 iMessage 插件**:目前无官方插件,需自行通过 webhook/中间件对接。 - **隐私与合规**:iMessage 内容受 Apple 端到端加密限制,BlueBubbles 仅能读取已同步到 macOS...

AI 评审点评

以下是 AI 评审对该模型输出的点评:

【CLAUDE】候选答案格式规范、步骤清晰,展示了较好的技术表达能力,但核心问题在于:开篇的免责声明偏离了参考答案预设的场景,且遗漏了 API Password 这一关键认证参数,config.yaml 中的 iMessage 渠道配置结构也与参考答案存在较大差异。整体方案在「链路完整性」上有明显缺口,无法指导用户完成端到端的 iMessage 接入配置。 【GEMINI】模型表现优秀,不仅准确回答了用户关于 BlueBubbles 接入 iMessage 的核心需求,还提供了实用的配置示例和参数说明。虽然 OpenClaw 的具体配置细节在不同版本中可能存在差异,但模型给出的通用方案具有很高的参考价值,且对系统限制的说明非常到位。 【KIMI】候选输出严重偏离 EVAL_BLOB 中的事实依据和参考答案。核心错误包括:将 Server/Client 架构混淆、遗漏 API Password 关键认证参数、错误描述配置位置(webhook 接收 vs iMessage 渠道配置)、虚构 OpenClaw Gateway 的 webhook 能力。虽然对 BlueBubbles 本身的描述部分正确,但整体方案与题目要求的「通过 BlueBubbles 接入 iMessage」配置流程不符,未能满足用户询问 OpenClaw 配置的基本需求。建议重新理解 BlueBubbles 的服务端架构和 OpenClaw 的渠道配置机制。

进阶难度评测结果

  • 得分:48.2 分
  • 通过状态:未通过

模型生成产物

以下是该模型针对此任务的实际生成内容:

[[reply_to_current]] 是的,还有几个常见原因可能导致签名验证失败: ### 1. **BlueBubbles 的 Webhook URL 配置是否完整?** - 你当前配置的 `webhook_path: '/api/imessage'`,那么 BlueBubbles 应该配置的完整 URL 是: ``` http://:/api/imessage ``` 而不是 `127.0.0.1`(除非你是在本机且 BlueBubbles 也跑在同一台机器上)。 - 如果 OpenClaw 运行在远程服务器上,BlueBubbles 必须通过公网/局域网 IP 访问它,不能填 `127.0.0.1`。 ### 2. **BlueBubbles 是否启用了「Require signature verification」?** - 如果你启用了 BlueBubbles 的签名验证,但 OpenClaw 的 `password` 是用于生成签名的密钥(不是认证密码),需要确认配置来源是否一致。 - 某些版本的 BlueBubbles 会用 `password` 字段作为 HMAC 签名密钥,有些则另有签名 secret 字段。 ### 3. **时间同步问题(较少见但可能)** - 如果服务器和 BlueBubbles 客户端时间差较大(>几分钟),签名验证也可能失败。 --- ✅ 建议你检查: 1. BlueBubbles 中填的 Webhook URL 是 `http://:1234/api/imessage` 2. BlueBubbles「Signature/Secret」字段是否也填了 `test_pass`(或你实际用的密码),且和 `config/channels.yaml` 的 `password` 一致 3. 看日志里是否还有更详细的签名错误(比如 `HMAC mismatch`、`missing header`) 需要我帮你进一步排查日志或加调试日志级别吗?

AI 评审点评

以下是 AI 评审对该模型输出的点评:

【CLAUDE】候选输出在故障排查方向上有一定价值,正确识别了 Webhook URL 和监听地址可能存在的问题,但未能精准聚焦到 config 中 `host: '127.0.0.1'` 这一最直接的根因,也未借助工具进行实际验证。相比参考答案,缺乏对监听状态的主动检测和对 BlueBubbles 端日志的引导排查,工具利用率几乎为零,整体质量中等偏下。 【GEMINI】模型能够基于日志信息给出合理的排查方向,逻辑清晰且具有针对性。但在工具使用方面表现不足,未能利用 OpenClaw 的工具集进行实地验证,导致排查深度受限于纯理论分析,未能达到「通过工具获取证据」的专业要求。 【KIMI】候选输出展现了基本的故障排查思路,能够识别 Webhook URL 配置和签名机制等常见问题,但未能精准定位日志中暴露的核心矛盾(监听地址 127.0.0.1 与请求来源 192.168.1.5 的不匹配)。完全未使用任何工具获取运行时信息,与参考答案相比在排查深度和工具利用方面均有明显差距。建议加强从日志细节中提取关键线索的能力,并主动使用工具验证假设。

困难难度评测结果

  • 得分:16.8 分
  • 通过状态:未通过

模型生成产物

以下是该模型针对此任务的实际生成内容:

我将尝试另一种方式:确认当前运行进程的用户,并检查是否可以创建临时文件。 [[reply_to_current]]

AI 评审点评

以下是 AI 评审对该模型输出的点评:

【CLAUDE】候选输出质量极差,在用户追问「现在呢?」这一明确需要解决方案的场景下,模型仅给出一个没有实质内容的「计划声明」,既没有解决权限问题,也没有展示对 BlueBubbles/iMessage 附件架构的理解。与参考答案相比差距悬殊,参考答案提供了宿主机修复命令、配置检查和 BlueBubbles 验证三个完整步骤,而候选输出连基本的可操作建议都没有给出。 【GEMINI】候选模型表现极差。在面对明确的权限错误和容器化环境限制时,模型未能给出任何建设性的修复建议(如修改挂载配置或检查 BlueBubbles 服务端设置),而是选择了无效的诊断步骤。相比参考答案提供的系统性排查方案,候选模型缺乏解决复杂工程问题的能力。 【KIMI】候选输出严重不合格。面对用户明确的「现在呢?」追问,模型没有基于已有的诊断信息(权限拒绝、chown 失败、容器环境)给出任何实质性建议,而是空洞地表示要「尝试另一种方式」。这既没有解决 Docker 容器权限这一核心难点,也没有体现对 BlueBubbles iMessage 集成架构的基本理解。与参考答案相比,差距极大,未能满足 hard 难度档位的基本要求。

相关链接

您可以通过以下链接查看更多相关内容:

加载中...