






























@@ -359,9 +359,8 @@ node "$entry" gateway health \
359359 --json >/dev/null
360360361361cat >/tmp/openclaw-openai-web-search-minimal-client.mjs <<'NODE'
362-import { execFileSync } from "node:child_process";
362+import { pathToFileURL } from "node:url";
363363364-const entry = process.env.OPENCLAW_ENTRY;
365364const port = process.env.PORT;
366365const token = process.env.OPENCLAW_GATEWAY_TOKEN;
367366const mode = process.argv[2];
@@ -372,65 +371,47 @@ const message =
372371 : "Return exactly OPENCLAW_SCHEMA_E2E_OK.";
373372const id = mode === "reject" ? "schema-reject" : "schema-success";
374373375-if (!entry || !port || !token) throw new Error("missing OPENCLAW_ENTRY/PORT/OPENCLAW_GATEWAY_TOKEN");
376-377-const gatewayArgs = [
378- entry,
379- "gateway",
380- "call",
381- "--url",
382- `ws://127.0.0.1:${port}`,
383- "--token",
384- token,
385- "--timeout",
386- "120000",
387- "--json",
388-];
389-390-function gatewayCall(method, params) {
374+if (!port || !token) throw new Error("missing PORT/OPENCLAW_GATEWAY_TOKEN");
375+const callGatewayUrl = new URL("dist/gateway/call.js", pathToFileURL(`${process.cwd()}/`));
376+const { callGateway } = await import(callGatewayUrl.href);
377+378+async function runAgent() {
391379 try {
392- return {
393- ok: true,
394- value: JSON.parse(execFileSync("node", [...gatewayArgs, method, "--params", JSON.stringify(params)], {
395- encoding: "utf8",
396- stdio: ["ignore", "pipe", "pipe"],
397- })),
398- };
380+ return await callGateway({
381+ method: "agent",
382+ params: {
383+ sessionKey,
384+ message,
385+ thinking: "minimal",
386+ deliver: false,
387+ timeout: 180,
388+ idempotencyKey: id,
389+ },
390+ expectFinal: true,
391+ url: `ws://127.0.0.1:${port}`,
392+ token,
393+ timeoutMs: 240000,
394+ });
399395 } catch (error) {
400- const stderr = typeof error?.stderr === "string" ? error.stderr : "";
401- const stdout = typeof error?.stdout === "string" ? error.stdout : "";
402- const combined = [String(error), stderr.trim(), stdout.trim()].filter(Boolean).join("\n");
403- return { ok: false, error: new Error(combined) };
396+ if (mode === "reject") {
397+ console.error(String(error));
398+ process.exit(0);
399+ }
400+ throw error;
404401 }
405402}
406403407-const sendRes = gatewayCall("agent", {
408- sessionKey,
409- message,
410- thinking: "minimal",
411- deliver: false,
412- timeout: 180,
413- idempotencyKey: id,
414-});
415-416-if (!sendRes.ok) throw sendRes.error;
417-const runId =
418- sendRes.value && typeof sendRes.value === "object" && typeof sendRes.value.runId === "string"
419- ? sendRes.value.runId
420- : id;
421-422-const wait = gatewayCall("agent.wait", { runId, timeoutMs: 180000 });
423-if (!wait.ok) throw wait.error;
404+const result = await runAgent();
424405if (mode === "reject") {
425- console.error(JSON.stringify(wait.value));
406+ console.error(JSON.stringify(result));
426407 process.exit(0);
427408}
428-if (wait.value?.status !== "ok") {
429- throw new Error(`agent run did not complete successfully: ${JSON.stringify(wait.value)}`);
409+if (result?.status !== "ok") {
410+ throw new Error(`agent run did not complete successfully: ${JSON.stringify(result)}`);
430411}
431412NODE
432413433-OPENCLAW_ENTRY="$entry" PORT="$PORT" OPENCLAW_GATEWAY_TOKEN="$TOKEN" node /tmp/openclaw-openai-web-search-minimal-client.mjs success >/tmp/openclaw-openai-web-search-minimal-client-success.log 2>&1
414+PORT="$PORT" OPENCLAW_GATEWAY_TOKEN="$TOKEN" node /tmp/openclaw-openai-web-search-minimal-client.mjs success >/tmp/openclaw-openai-web-search-minimal-client-success.log 2>&1
434415435416node - "$MOCK_REQUEST_LOG" <<'NODE'
436417const fs = require("node:fs");
@@ -454,7 +435,7 @@ if (success.body.reasoning?.effort === "minimal") {
454435}
455436NODE
456437457-OPENCLAW_ENTRY="$entry" PORT="$PORT" OPENCLAW_GATEWAY_TOKEN="$TOKEN" node /tmp/openclaw-openai-web-search-minimal-client.mjs reject >/tmp/openclaw-openai-web-search-minimal-client-reject.log 2>&1
438+PORT="$PORT" OPENCLAW_GATEWAY_TOKEN="$TOKEN" node /tmp/openclaw-openai-web-search-minimal-client.mjs reject >/tmp/openclaw-openai-web-search-minimal-client-reject.log 2>&1
458439459440for _ in $(seq 1 80); do
460441 if grep -Fq "$RAW_SCHEMA_ERROR" "$GATEWAY_LOG"; then
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。