// 看酒馆工具模式请求里的 tools 定义全文,以及 Reborn 预设里的 ToolBindings 结构。 import { readFileSync } from "node:fs"; const capture = process.argv[2]; const body = JSON.parse(JSON.parse(readFileSync(capture, "utf8")).body); console.log("=== 抓包里的 tools ==="); console.log(JSON.stringify(body.tools, null, 1).slice(0, 3000)); console.log("=== tool_choice: " + JSON.stringify(body.tool_choice)); const presetFile = process.argv[3]; if (presetFile) { const raw = JSON.parse(readFileSync(presetFile, "utf8")); const spreset = raw.extensions?.SPreset ?? raw.extensions?.spreset ?? null; console.log("=== 预设 extensions 键: " + Object.keys(raw.extensions || {}).join(", ")); const bindings = spreset?.ToolBindings ?? raw.extensions?.ToolBindings ?? null; console.log("=== ToolBindings ==="); console.log(bindings ? JSON.stringify(bindings, null, 1).slice(0, 2000) : "(无)"); }