加一套抓真实请求做预设对比的工具,并把三份预设的机制差异记进 README。
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
// 看一份抓包的逐条消息:role、额外字段(name 等)、字数、头尾片段。
|
||||
// 用法: node inspect-capture.mjs captures/st-001-xxx.json [--full 序号]
|
||||
import { readFileSync } from "node:fs";
|
||||
|
||||
const file = process.argv[2];
|
||||
const fullIdx = process.argv.indexOf("--full");
|
||||
const full = fullIdx > 0 ? Number(process.argv[fullIdx + 1]) : -1;
|
||||
const outer = JSON.parse(readFileSync(file, "utf8"));
|
||||
const body = JSON.parse(outer.body);
|
||||
console.log("url: " + outer.url + ", 顶层字段: " + Object.keys(body).join(", ")); if (body.tools) { console.log("tool_choice: " + JSON.stringify(body.tool_choice)); console.log("tools(" + body.tools.length + "): " + JSON.stringify(body.tools).slice(0, 1200)); }
|
||||
(body.messages || []).forEach((m, i) => {
|
||||
const text = typeof m.content === "string" ? m.content : JSON.stringify(m.content);
|
||||
const extras = Object.keys(m).filter((k) => k !== "role" && k !== "content");
|
||||
const head = text.replace(/\s+/g, " ").slice(0, 70);
|
||||
const tail = text.replace(/\s+/g, " ").slice(-50);
|
||||
console.log("#" + i + " [" + m.role + "] " + text.length + " 字 extra=" + JSON.stringify(extras) + (extras.length ? " name=" + JSON.stringify(m.name) : ""));
|
||||
console.log(" 头: " + head);
|
||||
console.log(" 尾: " + tail);
|
||||
if (i === full) console.log("----全文----\n" + text);
|
||||
});
|
||||
Reference in New Issue
Block a user