@t0ken.ai/memoryx-openclaw-plugin 2.2.47 → 2.2.49
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 +58 -55
- 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;AAmDH,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;AAmDH,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,wBAm7BE;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -27,7 +27,7 @@ import * as path from "path";
|
|
|
27
27
|
import * as os from "os";
|
|
28
28
|
import * as http from "http";
|
|
29
29
|
// 插件版本号 - 由 prebuild 脚本自动从 package.json 同步
|
|
30
|
-
const PLUGIN_VERSION = "2.2.
|
|
30
|
+
const PLUGIN_VERSION = "2.2.49";
|
|
31
31
|
const DEFAULT_API_BASE = "https://t0ken.ai/api";
|
|
32
32
|
const PLUGIN_DIR = path.join(os.homedir(), ".openclaw", "extensions", "memoryx-openclaw-plugin");
|
|
33
33
|
let logStream = null;
|
|
@@ -792,6 +792,28 @@ export default {
|
|
|
792
792
|
// =========================================================================
|
|
793
793
|
// Sidecar Server - 本地 HTTP 服务
|
|
794
794
|
// =========================================================================
|
|
795
|
+
// 提取凭证并创建 Sidecar
|
|
796
|
+
const providerCredentials = extractProviderCredentials(api.config);
|
|
797
|
+
log(`[Proxy] Found ${providerCredentials.size} providers in config`);
|
|
798
|
+
const defaultProvider = getDefaultModelAndProvider(providerCredentials);
|
|
799
|
+
log(`[Proxy] Default: ${defaultProvider.provider}/${defaultProvider.model}`);
|
|
800
|
+
// 虚拟模型定义
|
|
801
|
+
//
|
|
802
|
+
// OpenClaw 的 resolveModel 查找逻辑:
|
|
803
|
+
// inlineModels.find(entry => entry.provider === provider && entry.id === modelId)
|
|
804
|
+
//
|
|
805
|
+
// before_model_resolve 返回 { providerOverride: 'memoryx-proxy', modelOverride: 'auto' }
|
|
806
|
+
// 所以 modelId = 'auto',VIRTUAL_MODEL.id 必须是 'auto'!
|
|
807
|
+
const VIRTUAL_MODEL = {
|
|
808
|
+
id: 'auto', // ← 必须等于 modelOverride,不带 provider 前缀!
|
|
809
|
+
name: 'MemoryX Auto Router',
|
|
810
|
+
api: 'openai-completions',
|
|
811
|
+
reasoning: true,
|
|
812
|
+
input: ['text', 'image'],
|
|
813
|
+
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
814
|
+
contextWindow: 200000,
|
|
815
|
+
maxTokens: 16384,
|
|
816
|
+
};
|
|
795
817
|
const SIDECAR_PORT = 3335;
|
|
796
818
|
const PROXY_URL = (pluginConfig?.apiBaseUrl || DEFAULT_API_BASE) + '/openclaw/proxy/chat/completions';
|
|
797
819
|
class SidecarServer {
|
|
@@ -982,46 +1004,24 @@ export default {
|
|
|
982
1004
|
});
|
|
983
1005
|
}
|
|
984
1006
|
}
|
|
985
|
-
//
|
|
986
|
-
const providerCredentials = extractProviderCredentials(api.config);
|
|
987
|
-
log(`[Proxy] Found ${providerCredentials.size} providers in config`);
|
|
988
|
-
const defaultProvider = getDefaultModelAndProvider(providerCredentials);
|
|
989
|
-
log(`[Proxy] Default: ${defaultProvider.provider}/${defaultProvider.model}`);
|
|
1007
|
+
// 注册 Service 管理 Sidecar 生命周期
|
|
990
1008
|
const sidecar = new SidecarServer(providerCredentials);
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
maxTokens: 16384,
|
|
1002
|
-
};
|
|
1003
|
-
// 注册 Provider - 完全对齐 SlimClaw 格式
|
|
1004
|
-
api.registerProvider({
|
|
1005
|
-
id: 'memoryx-proxy',
|
|
1006
|
-
label: 'MemoryX Proxy Provider',
|
|
1007
|
-
aliases: ['mx'],
|
|
1008
|
-
envVars: [], // No own API keys - delegates to downstream providers
|
|
1009
|
-
models: {
|
|
1010
|
-
baseUrl: `http://localhost:${SIDECAR_PORT}/v1`,
|
|
1011
|
-
api: 'openai-completions',
|
|
1012
|
-
models: [VIRTUAL_MODEL],
|
|
1009
|
+
api.registerService({
|
|
1010
|
+
id: 'memoryx-sidecar',
|
|
1011
|
+
start: async () => {
|
|
1012
|
+
try {
|
|
1013
|
+
await sidecar.start();
|
|
1014
|
+
api.logger.info(`[MemoryX] Sidecar started on port ${sidecar.getPort()}`);
|
|
1015
|
+
}
|
|
1016
|
+
catch (e) {
|
|
1017
|
+
api.logger.error(`[MemoryX] Sidecar failed to start: ${e.message}`);
|
|
1018
|
+
}
|
|
1013
1019
|
},
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
run: async () => ({
|
|
1019
|
-
profiles: [],
|
|
1020
|
-
notes: ['MemoryX proxies through configured providers']
|
|
1021
|
-
}),
|
|
1022
|
-
}],
|
|
1020
|
+
stop: async () => {
|
|
1021
|
+
await sidecar.stop();
|
|
1022
|
+
api.logger.info('[MemoryX] Sidecar stopped');
|
|
1023
|
+
}
|
|
1023
1024
|
});
|
|
1024
|
-
api.logger.info('[MemoryX] 🔄 Proxy provider registered: memoryx-proxy');
|
|
1025
1025
|
// =========================================================================
|
|
1026
1026
|
// 关键:动态注入 provider 配置到 api.config
|
|
1027
1027
|
//
|
|
@@ -1055,26 +1055,29 @@ export default {
|
|
|
1055
1055
|
else {
|
|
1056
1056
|
api.logger.warn('[MemoryX] ⚠️ api.config not available - resolveModel may fail to find memoryx-proxy');
|
|
1057
1057
|
}
|
|
1058
|
-
// 注册
|
|
1059
|
-
api.
|
|
1060
|
-
id: 'memoryx-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
}
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
}
|
|
1058
|
+
// 注册 Provider - 完全对齐 SlimClaw 格式
|
|
1059
|
+
api.registerProvider({
|
|
1060
|
+
id: 'memoryx-proxy',
|
|
1061
|
+
label: 'MemoryX Proxy Provider',
|
|
1062
|
+
aliases: ['mx'],
|
|
1063
|
+
envVars: [], // No own API keys - delegates to downstream providers
|
|
1064
|
+
models: {
|
|
1065
|
+
baseUrl: `http://localhost:${SIDECAR_PORT}/v1`,
|
|
1066
|
+
api: 'openai-completions',
|
|
1067
|
+
models: [VIRTUAL_MODEL],
|
|
1069
1068
|
},
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1069
|
+
auth: [{
|
|
1070
|
+
id: 'none',
|
|
1071
|
+
label: 'No authentication needed (proxy)',
|
|
1072
|
+
kind: 'custom',
|
|
1073
|
+
run: async () => ({
|
|
1074
|
+
profiles: [],
|
|
1075
|
+
notes: ['MemoryX proxies through configured providers']
|
|
1076
|
+
}),
|
|
1077
|
+
}],
|
|
1074
1078
|
});
|
|
1079
|
+
api.logger.info('[MemoryX] 🔄 Proxy provider registered: memoryx-proxy');
|
|
1075
1080
|
// before_model_resolve 钩子 - 自动拦截所有请求,无需用户配置
|
|
1076
|
-
//
|
|
1077
|
-
// 这与 SlimClaw 不同:SlimClaw 需要用户手动配置 model 为 "slimclaw/auto"
|
|
1078
1081
|
// 而 MemoryX 自动拦截所有请求,用户完全不需要配置
|
|
1079
1082
|
api.on('before_model_resolve', (event, ctx) => {
|
|
1080
1083
|
const originalModel = event.model || 'unknown';
|
package/package.json
CHANGED