@t0ken.ai/memoryx-openclaw-plugin 2.2.44 → 2.2.47
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 +43 -6
- 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,wBAg7BE;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.47";
|
|
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;
|
|
@@ -989,9 +989,9 @@ export default {
|
|
|
989
989
|
log(`[Proxy] Default: ${defaultProvider.provider}/${defaultProvider.model}`);
|
|
990
990
|
const sidecar = new SidecarServer(providerCredentials);
|
|
991
991
|
// 虚拟模型定义 - 完全对齐 SlimClaw 格式
|
|
992
|
-
//
|
|
992
|
+
// SlimClaw 使用 'slimclaw/auto' 作为模型 ID,我们也用完整路径
|
|
993
993
|
const VIRTUAL_MODEL = {
|
|
994
|
-
id: 'auto',
|
|
994
|
+
id: 'memoryx-proxy/auto',
|
|
995
995
|
name: 'MemoryX Auto Router',
|
|
996
996
|
api: 'openai-completions',
|
|
997
997
|
reasoning: true,
|
|
@@ -1022,6 +1022,39 @@ export default {
|
|
|
1022
1022
|
}],
|
|
1023
1023
|
});
|
|
1024
1024
|
api.logger.info('[MemoryX] 🔄 Proxy provider registered: memoryx-proxy');
|
|
1025
|
+
// =========================================================================
|
|
1026
|
+
// 关键:动态注入 provider 配置到 api.config
|
|
1027
|
+
//
|
|
1028
|
+
// resolveModel() 只从 cfg.models.providers 查找 provider,
|
|
1029
|
+
// 不会查找 registerProvider() 注册的 providers!
|
|
1030
|
+
// 所以必须在 config 中注入 provider 配置。
|
|
1031
|
+
// =========================================================================
|
|
1032
|
+
if (api.config?.models?.providers) {
|
|
1033
|
+
api.config.models.providers['memoryx-proxy'] = {
|
|
1034
|
+
baseUrl: `http://localhost:${SIDECAR_PORT}/v1`,
|
|
1035
|
+
api: 'openai-completions',
|
|
1036
|
+
models: [VIRTUAL_MODEL]
|
|
1037
|
+
};
|
|
1038
|
+
api.logger.info('[MemoryX] ✅ Injected memoryx-proxy into config.models.providers');
|
|
1039
|
+
}
|
|
1040
|
+
else if (api.config) {
|
|
1041
|
+
// 确保 models.providers 存在
|
|
1042
|
+
if (!api.config.models) {
|
|
1043
|
+
api.config.models = {};
|
|
1044
|
+
}
|
|
1045
|
+
if (!api.config.models.providers) {
|
|
1046
|
+
api.config.models.providers = {};
|
|
1047
|
+
}
|
|
1048
|
+
api.config.models.providers['memoryx-proxy'] = {
|
|
1049
|
+
baseUrl: `http://localhost:${SIDECAR_PORT}/v1`,
|
|
1050
|
+
api: 'openai-completions',
|
|
1051
|
+
models: [VIRTUAL_MODEL]
|
|
1052
|
+
};
|
|
1053
|
+
api.logger.info('[MemoryX] ✅ Created and injected memoryx-proxy into config.models.providers');
|
|
1054
|
+
}
|
|
1055
|
+
else {
|
|
1056
|
+
api.logger.warn('[MemoryX] ⚠️ api.config not available - resolveModel may fail to find memoryx-proxy');
|
|
1057
|
+
}
|
|
1025
1058
|
// 注册 Service 管理 Sidecar 生命周期
|
|
1026
1059
|
api.registerService({
|
|
1027
1060
|
id: 'memoryx-sidecar',
|
|
@@ -1039,15 +1072,19 @@ export default {
|
|
|
1039
1072
|
api.logger.info('[MemoryX] Sidecar stopped');
|
|
1040
1073
|
}
|
|
1041
1074
|
});
|
|
1042
|
-
// before_model_resolve 钩子 -
|
|
1075
|
+
// before_model_resolve 钩子 - 自动拦截所有请求,无需用户配置
|
|
1076
|
+
//
|
|
1077
|
+
// 这与 SlimClaw 不同:SlimClaw 需要用户手动配置 model 为 "slimclaw/auto"
|
|
1078
|
+
// 而 MemoryX 自动拦截所有请求,用户完全不需要配置
|
|
1043
1079
|
api.on('before_model_resolve', (event, ctx) => {
|
|
1044
|
-
|
|
1080
|
+
const originalModel = event.model || 'unknown';
|
|
1081
|
+
log(`[before_model_resolve] Intercepting: ${originalModel} → memoryx-proxy/auto`);
|
|
1045
1082
|
return {
|
|
1046
1083
|
providerOverride: 'memoryx-proxy',
|
|
1047
1084
|
modelOverride: 'auto'
|
|
1048
1085
|
};
|
|
1049
1086
|
});
|
|
1050
|
-
api.logger.info('[MemoryX] 🔄 Auto-
|
|
1087
|
+
api.logger.info('[MemoryX] 🔄 Auto-intercept enabled - ALL requests go through MemoryX Proxy');
|
|
1051
1088
|
api.logger.info(`[MemoryX] ✅ Plugin v${PLUGIN_VERSION} ready! Your conversations will be remembered automatically.`);
|
|
1052
1089
|
// Async check and show portal link after SDK initializes
|
|
1053
1090
|
setImmediate(async () => {
|
package/package.json
CHANGED