tui.js:修 /manage catalog 二次解包——models-dev:catalog 外层是 {updatedAt,digest,body},body 才是 provider JSON;此前只解一层只拿到3个key致前缀匹配恒空(日志实证 catalogProviders=3 命中[])

This commit is contained in:
ypshidifu
2026-10-19 12:18:37 +08:00
parent aa9b3281f1
commit 38c2b20e3d
+7 -1
View File
@@ -508,7 +508,13 @@ async function openModelManager(context) {
if (cat && cat.catalog && cat.credentials) { if (cat && cat.catalog && cat.credentials) {
let body = {} let body = {}
try { try {
body = JSON.parse(cat.catalog) // 坑:models-dev:catalog 的 value 是外层包装 {updatedAt, digest, body},
// body 才是真正的 provider JSON 字符串(provider→models)——必须二次解包,
// 否则 Object.keys 只有 3 个(updatedAt/digest/body),循环命不中任何 provider。
const outer = JSON.parse(cat.catalog)
if (outer && typeof outer.body === "string") body = JSON.parse(outer.body)
else if (outer && outer.body && typeof outer.body === "object") body = outer.body
else body = outer
} catch (e) { } catch (e) {
log("[oc-session-all] /manage catalog body parse 失败: " + e.message) log("[oc-session-all] /manage catalog body parse 失败: " + e.message)
} }