xAI: Grok 4.1 Fast 在「Signal 接入」的评测结果
这是该 AI 模型在此测试用例上的详细评测结果。
基本信息
- 模型名称:xAI: Grok 4.1 Fast
- 用例名称:Signal 接入
- 测试类型: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 中接入「Signal」渠道,请告诉我需要准备哪些核心参数,以及如何在配置文件中定义一个基础的 Signal 接收器?
任务要求
AI 模型需要满足以下要求:
- 明确指出需要 Signal-CLI 或相关 REST API 服务作为前置条件
- 列出核心参数:手机号「number」、账户密码或数据存储路径
- 提供符合 OpenClaw 规范的 YAML 基础配置示例
- 提及权限验证或注册流程的必要性
评测结果
综合得分
该模型在此用例的得分为:84.2 分(满分 100 分),已通过
基础难度评测结果
- 得分:84.2 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
### Signal 渠道接入核心准备 在 OpenClaw 中接入 Signal 渠道,主要依赖 **signal-cli** 工具(一个开源的 Signal CLI 客户端,支持 daemon 模式接收消息)。OpenClaw 通过 `exec` 工具或 gateway 插件与它集成,将 Signal 作为消息接收器(receiver)。 #### 1. **前提条件** - **安装 signal-cli**:在 workspace 或 host 上安装。 ``` # 使用 exec 工具运行(推荐在 Debian/Ubuntu 系统) exec: |- sudo apt update && sudo apt install signal-cli -y ``` 或从 [signal-cli GitHub](https://github.com/AsamK/signal-cli) 手动下载二进制。 - **手机号**:一个能接收 SMS 的国际手机号(格式:`+86xxxxxxxxxx`)。**注意**:首次注册会占用该号的 Signal 账号,建议用专用号。 - **防火墙/权限**:确保端口(如 8080 for REST API)开放,data 目录可写。 #### 2. **核心参数** 接入 Signal 需要以下**必备参数**(用于注册和运行 daemon): | 参数 | 描述 | 示例 | 必填 | |------|------|------|------| | `phone_number` | 国际手机号,用于注册 Signal 账号 | `"+8612345678901"` | 是 | | `verification_code` | 注册时收到的 6 位 SMS 验证码 | `"123456"` | 是(仅首次) | | `config_dir` | Signal 数据存储目录(包含 keys、messages 等) | `"/home/user/.local/share/signal-cli"` 或 `"./signal-data"` | 是 | | `voice` | 验证码接收方式(sms/voice) | `"sms"` | 否,默认 sms | | `daemon_port` | REST API 监听端口(用于 OpenClaw 拉取消息) | `8080` | 否,默认 8080 | | `account_id` | 已注册账号 ID(后续运行用,非首次) | `"your_phone"` | 否 | **安全提示**: - 验证码**仅在首次注册**输入,之后用链接或 QR 码链接设备。 - 数据目录加密存储私钥,**勿共享**。 - 注销:`signal-cli -u $phone link -n "OpenClaw" -o "http://localhost:8080"` 用于多设备。 #### 3. **在配置文件中定义基础 Signal 接收器** OpenClaw 的配置通常在 `openclaw.yaml` 或 `config/providers.yaml`(gateway 配置文件)中定义 receivers。使用 YAML 格式。 **步骤**: 1. **创建/编辑配置文件**(使用工具): ``` write: openclaw.yaml content: |- # 示例基础配置 gateway: receivers: - name: signal_receiver type: signal # 或 'exec-signal' 如果用 exec 封装 enabled: true params: phone_number: "+8612345678901" config_dir: "./signal-data" # workspace 内路径 daemon_port: 8080 # 其他可选:voice: "sms" # 钩子:消息接收后触发 on_message: - exec: "echo 'New Signal msg: {{message.body}}' >> signal.log" ``` 2. **首次注册**(手动或用工具,一次性): ``` # 使用 exec 注册(替换你的参数) exec: |- mkdir -p ./signal-data signal-cli --config ./signal-data -u +8612345678901 register --voice ``` - 输入提示的验证码。 - 启动 daemon:`signal-cli --config ./signal-data daemon --http-addr...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【CLAUDE】模型生成结果整体质量较高,结构清晰,内容丰富,覆盖了参考答案的所有核心要点,并在多个方面有所扩展(高级配置、安全提示、故障排查等)。主要不足在于配置字段命名(如 `phone_number` vs `number`、`config_dir` vs `data_path`)与参考规范存在偏差,可能影响实际使用时的准确性。整体而言,该回答对用户接入 Signal 渠道具有较强的实用指导价值。 【GEMINI】模型表现出色,不仅完成了任务要求,还额外提供了高级配置示例和常见问题排查建议。内容结构化程度高,专业性强,能够直接指导用户在 OpenClaw 中完成 Signal 渠道的接入,完全符合专业助手的水准。 【KIMI】模型回答过于冗长且偏离核心需求。用户询问的是「OpenClaw 配置文件中如何定义 Signal 接收器」,但模型花费大量篇幅讲解 signal-cli 的安装、注册命令行操作,并提供了不符合 OpenClaw 规范的配置格式。配置字段命名与结构均与标准不符,添加了过多非必要的参数。建议聚焦于:1) 简洁说明 signal-cli 依赖;2) 提供准确的 `channels` 层级 YAML 配置;3) 使用正确的字段名 `number`/`data_path`/`url`。
进阶难度评测结果
- 得分:59.5 分
- 通过状态:未通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
Signal RPC 服务未在 50051 端口启动,这是导致「Failed to send message」的主要原因。让我检查 signal-cli 安装情况、运行进程和系统服务,然后提供启动步骤。 [[run_parallel]] {"command":"which signal-cli || echo 'signal-cli not found'"} {"command":"ps aux | grep -i signal | grep -v grep"} {"command":"systemctl list-units --state=active | grep -i signal || echo 'No active signal services'"} {"command":"ls /etc/systemd/system/ | grep -i signal || echo 'No signal systemd units'"}
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【CLAUDE】模型在故障定位阶段表现尚可,能够识别端口未监听的核心问题,但未能在已有足够证据的情况下直接给出结论性修复方案,而是继续发起额外诊断命令。更关键的是,模型的最终输出缺乏任何具体的修复步骤,如启动 signal-cli daemon 的命令、号码激活验证、权限检查等,导致修复方案完整性得分极低。整体而言,模型完成了诊断的前半段,但未能交付用户真正需要的「如何修复」答案。 【GEMINI】模型在故障定位阶段表现优秀,通过工具调用获取了充分的证据。但在修复方案的提供上,模型在当前回复中仅停留在诊断阶段,未根据任务要求给出具体的修复指令、权限检查及调试建议,导致方案完整性得分较低。 【KIMI】模型在故障定位方面表现优秀,能够快速准确地识别 RPC 服务未启动这一核心问题,并主动扩展诊断范围。但在修复方案完整性上明显不足,生成结果停留在「将要提供方案」的阶段,缺乏具体可执行的修复命令和必要的配置验证建议,未能满足用户对「该怎么修复」的实际需求。建议模型在后续回复中补全 Signal-CLI 启动命令、手机号状态检查、权限验证等关键步骤。
困难难度评测结果
- 得分:64.8 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
由于没有 root 权限,我无法自动修改用户组或权限。请您手动执行以下步骤解决 Signal 接入权限问题: 1. **添加 openclaw-user 到 signal-user 组**(推荐): ``` sudo usermod -aG signal-user openclaw-user ``` 然后重启 OpenClaw 服务(或注销/登录 openclaw-user): ``` sudo systemctl restart openclaw-gateway # 或 openclaw,根据实际服务名调整;先运行 `systemctl | grep openclaw` 检查 ``` 2. **备选:使用 Signal-CLI JSON-RPC 模式**(避开文件权限): - 确保 signal-cli daemon 以 signal-user 运行,并暴露 TCP/Unix socket: ``` sudo -u signal-user signal-cli daemon --socket /var/lib/signal-cli/rpc.sock --http ``` - 在 OpenClaw 配置中指定 RPC 端点(编辑 `/etc/openclaw/config.toml` 或类似文件,添加 Signal 插件配置指向 socket)。 执行后,运行 `ls -ld /var/lib/signal-cli` 和 `groups openclaw-user` 验证,再测试 Signal 命令如 `signal-cli listAccounts`。 需要我帮查 OpenClaw 配置位置或服务状态吗?
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【CLAUDE】模型在权限冲突诊断和基础替代方案上表现尚可,能够识别核心问题并给出可操作的建议。但严重缺失对 Signal 特有机制的掌握,包括 Identity Key 失效检查和 Rate Limit 风险提示,这是 Signal 接入场景中不可忽视的关键环节。方案专业度中规中矩,未达到生产级最佳实践的完整要求。 【GEMINI】模型表现良好,能够精准定位权限问题并提供有效的替代方案。但在 Signal 业务逻辑的深度理解(如身份密钥管理、速率限制)以及架构层面的长远规划(如容器化)方面还有提升空间。建议在后续回复中增加对业务风险的提示,以体现更全面的专家视角。 【KIMI】模型在基础权限问题诊断和常规解决方案上表现合格,能够识别用户冲突并提供两种解决路径。但严重缺失 Signal 渠道特有的专业检查(身份密钥、速率限制),且对 RPC 模式的定位偏差(作为备选而非主推),未能体现生产环境的最佳实践意识。相比参考答案,深度和完整性均有明显差距。
相关链接
您可以通过以下链接查看更多相关内容: