@t0ken.ai/memoryx-openclaw-plugin 2.2.37 → 2.2.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -24
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAkDH,UAAU,YAAY;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,YAAY;IAClB,QAAQ,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,eAAe,EAAE,KAAK,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAqDD,cAAM,aAAa;IACf,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,aAAa,CAAkB;gBAE3B,YAAY,CAAC,EAAE,YAAY;IAIjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAad,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUpC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6B1D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAyC/D,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAYhC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc1C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAcvE,IAAI,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAiBxC,cAAc,IAAI,OAAO,CAAC;QACnC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,WAAW,EAAE,OAAO,CAAC;QACrB,KAAK,CAAC,EAAE,GAAG,CAAC;KACf,CAAC;IAwBW,cAAc,IAAI,OAAO,CAAC;QACnC,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE;YACH,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,EAAE,MAAM,CAAC;YACnB,YAAY,EAAE,MAAM,CAAC;YACrB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,gBAAgB,EAAE,MAAM,CAAC;YACzB,mBAAmB,EAAE,MAAM,CAAC;YAC5B,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CAcL;;;;;;kBAUiB,GAAG,iBAAiB,YAAY,GAAG,IAAI;;AANzD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAkDH,UAAU,YAAY;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,YAAY;IAClB,QAAQ,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,eAAe,EAAE,KAAK,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAqDD,cAAM,aAAa;IACf,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,aAAa,CAAkB;gBAE3B,YAAY,CAAC,EAAE,YAAY;IAIjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAad,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUpC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6B1D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAyC/D,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAYhC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc1C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAcvE,IAAI,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAiBxC,cAAc,IAAI,OAAO,CAAC;QACnC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,WAAW,EAAE,OAAO,CAAC;QACrB,KAAK,CAAC,EAAE,GAAG,CAAC;KACf,CAAC;IAwBW,cAAc,IAAI,OAAO,CAAC;QACnC,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE;YACH,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,EAAE,MAAM,CAAC;YACnB,YAAY,EAAE,MAAM,CAAC;YACrB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,gBAAgB,EAAE,MAAM,CAAC;YACzB,mBAAmB,EAAE,MAAM,CAAC;YAC5B,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CAcL;;;;;;kBAUiB,GAAG,iBAAiB,YAAY,GAAG,IAAI;;AANzD,wBAk0BE;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -26,7 +26,7 @@ import * as fs from "fs";
|
|
|
26
26
|
import * as path from "path";
|
|
27
27
|
import * as os from "os";
|
|
28
28
|
// 插件版本号 - 由 prebuild 脚本自动从 package.json 同步
|
|
29
|
-
const PLUGIN_VERSION = "2.2.
|
|
29
|
+
const PLUGIN_VERSION = "2.2.39";
|
|
30
30
|
const DEFAULT_API_BASE = "https://t0ken.ai/api";
|
|
31
31
|
const PLUGIN_DIR = path.join(os.homedir(), ".openclaw", "extensions", "memoryx-openclaw-plugin");
|
|
32
32
|
let logStream = null;
|
|
@@ -716,44 +716,54 @@ export default {
|
|
|
716
716
|
await plugin.endConversation();
|
|
717
717
|
}
|
|
718
718
|
});
|
|
719
|
-
//
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
// 从 OpenClaw config 提取 provider 凭证
|
|
723
|
-
const providerCredentials = new Map();
|
|
724
|
-
function extractProviderCredentials(config) {
|
|
719
|
+
// 从 OpenClaw config 提取 provider 凭证(使用 SlimClaw 的实现)
|
|
720
|
+
function extractProviderCredentials(config, providerOverrides) {
|
|
721
|
+
const credentials = new Map();
|
|
725
722
|
if (config?.models?.providers) {
|
|
726
723
|
for (const [id, providerConfig] of Object.entries(config.models.providers)) {
|
|
724
|
+
if (typeof providerConfig !== 'object' ||
|
|
725
|
+
providerConfig === null ||
|
|
726
|
+
!('baseUrl' in providerConfig)) {
|
|
727
|
+
continue;
|
|
728
|
+
}
|
|
727
729
|
const pc = providerConfig;
|
|
728
|
-
if (pc.baseUrl
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
730
|
+
if (pc.baseUrl) {
|
|
731
|
+
// Check for custom env var name in providerOverrides
|
|
732
|
+
const override = providerOverrides?.[id];
|
|
733
|
+
const customEnvName = override?.apiKeyEnv;
|
|
734
|
+
const customApiKey = override?.apiKey;
|
|
735
|
+
// Priority: explicit apiKey > custom env var > default env var convention
|
|
736
|
+
const apiKey = customApiKey ||
|
|
737
|
+
pc.apiKey ||
|
|
738
|
+
(customEnvName ? process.env[customEnvName] : undefined) ||
|
|
739
|
+
process.env[`${id.toUpperCase()}_API_KEY`] ||
|
|
740
|
+
'';
|
|
741
|
+
credentials.set(id, {
|
|
742
|
+
baseUrl: override?.baseUrl || pc.baseUrl,
|
|
743
|
+
apiKey,
|
|
732
744
|
});
|
|
733
745
|
log(`[Proxy] Extracted credentials for ${id}: baseUrl=${pc.baseUrl?.slice(0, 50)}...`);
|
|
734
746
|
}
|
|
735
747
|
}
|
|
736
748
|
}
|
|
749
|
+
return credentials;
|
|
737
750
|
}
|
|
738
751
|
// 提取凭证
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
catch (e) {
|
|
744
|
-
log(`[Proxy] Failed to extract credentials: ${e}`);
|
|
745
|
-
}
|
|
746
|
-
// 虚拟模型定义
|
|
752
|
+
const providerCredentials = extractProviderCredentials(api.config);
|
|
753
|
+
log(`[Proxy] Found ${providerCredentials.size} providers in config`);
|
|
754
|
+
// 虚拟模型定义 - 模型 ID 必须包含 provider 前缀!
|
|
755
|
+
// SlimClaw 用的是 'slimclaw/auto',所以我们也用 'memoryx-proxy/auto'
|
|
747
756
|
const VIRTUAL_MODEL = {
|
|
748
|
-
id: 'auto',
|
|
757
|
+
id: 'memoryx-proxy/auto', // 必须带 provider 前缀!
|
|
749
758
|
name: 'MemoryX Auto Router',
|
|
759
|
+
api: 'openai-completions', // 添加 api 字段
|
|
750
760
|
reasoning: true,
|
|
751
761
|
input: ['text', 'image'],
|
|
752
762
|
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
753
763
|
contextWindow: 200000,
|
|
754
|
-
maxTokens:
|
|
764
|
+
maxTokens: 16384,
|
|
755
765
|
};
|
|
756
|
-
log(`[Proxy] Registering provider with virtual model: auto`);
|
|
766
|
+
log(`[Proxy] Registering provider with virtual model: memoryx-proxy/auto`);
|
|
757
767
|
// 注册 Proxy Provider - 使用正确的 ModelProviderConfig 格式
|
|
758
768
|
api.registerProvider({
|
|
759
769
|
id: 'memoryx-proxy',
|
|
@@ -979,10 +989,10 @@ export default {
|
|
|
979
989
|
};
|
|
980
990
|
log(`[before_model_resolve] Using defaults from config: model=${defaults.model}, provider=${defaults.provider}`);
|
|
981
991
|
// 同时覆盖 provider 和 model
|
|
982
|
-
//
|
|
992
|
+
// modelOverride 必须和虚拟模型的 id 一致:'memoryx-proxy/auto'
|
|
983
993
|
return {
|
|
984
994
|
providerOverride: 'memoryx-proxy',
|
|
985
|
-
modelOverride: 'auto'
|
|
995
|
+
modelOverride: 'memoryx-proxy/auto'
|
|
986
996
|
};
|
|
987
997
|
});
|
|
988
998
|
api.logger.info('[MemoryX] 🔄 Auto-routing enabled - all requests will go through MemoryX Proxy');
|
package/package.json
CHANGED