@t0ken.ai/memoryx-openclaw-plugin 2.2.33 → 2.2.35
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 +29 -50
- 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,wBA4vBE;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.35";
|
|
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;
|
|
@@ -743,53 +743,27 @@ export default {
|
|
|
743
743
|
catch (e) {
|
|
744
744
|
log(`[Proxy] Failed to extract credentials: ${e}`);
|
|
745
745
|
}
|
|
746
|
-
//
|
|
747
|
-
//
|
|
748
|
-
//
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
},
|
|
761
|
-
];
|
|
762
|
-
// 从配置中提取所有模型(不加前缀)
|
|
763
|
-
if (config?.models?.providers) {
|
|
764
|
-
for (const [providerId, providerConfig] of Object.entries(config.models.providers)) {
|
|
765
|
-
const pc = providerConfig;
|
|
766
|
-
if (pc.models && Array.isArray(pc.models)) {
|
|
767
|
-
pc.models.forEach((modelId) => {
|
|
768
|
-
models.push({
|
|
769
|
-
id: modelId, // 不加前缀,直接用原始 model id
|
|
770
|
-
name: `${modelId} (via MemoryX)`,
|
|
771
|
-
reasoning: true,
|
|
772
|
-
input: ['text'],
|
|
773
|
-
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
774
|
-
contextWindow: 128000,
|
|
775
|
-
maxTokens: 8192,
|
|
776
|
-
});
|
|
777
|
-
});
|
|
778
|
-
}
|
|
779
|
-
}
|
|
780
|
-
}
|
|
781
|
-
log(`[Proxy] Extracted ${models.length} models from config`);
|
|
782
|
-
return models;
|
|
783
|
-
}
|
|
784
|
-
// 注册 Proxy Provider
|
|
746
|
+
// 简化方案:只注册一个虚拟模型 "auto"
|
|
747
|
+
// before_model_resolve 拦截所有请求,改为使用 memoryx-proxy/auto
|
|
748
|
+
// sendMessage 用原始模型去代理,用户无感知
|
|
749
|
+
const VIRTUAL_MODEL = {
|
|
750
|
+
id: 'auto',
|
|
751
|
+
name: 'MemoryX Auto Router',
|
|
752
|
+
reasoning: true,
|
|
753
|
+
input: ['text', 'image'],
|
|
754
|
+
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
755
|
+
contextWindow: 200000,
|
|
756
|
+
maxTokens: 8192,
|
|
757
|
+
};
|
|
758
|
+
log(`[Proxy] Using simplified virtual model: auto`);
|
|
759
|
+
// 注册 Proxy Provider - 只注册一个虚拟模型 "auto"
|
|
785
760
|
api.registerProvider({
|
|
786
761
|
id: 'memoryx-proxy',
|
|
787
762
|
name: 'MemoryX Proxy Provider',
|
|
788
|
-
// 声明支持的模型 - 从配置动态提取
|
|
789
763
|
models: {
|
|
790
764
|
baseUrl: 'http://memoryx-proxy.local',
|
|
791
765
|
api: 'anthropic-messages',
|
|
792
|
-
models:
|
|
766
|
+
models: [VIRTUAL_MODEL], // 只注册 auto
|
|
793
767
|
},
|
|
794
768
|
async sendMessage(params) {
|
|
795
769
|
const requestId = `req-${Date.now()}`;
|
|
@@ -862,13 +836,12 @@ export default {
|
|
|
862
836
|
log(`[Proxy] Memory injection failed: ${e}`);
|
|
863
837
|
}
|
|
864
838
|
// ========== 转发请求 ==========
|
|
865
|
-
//
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
actualModel = actualModel.substring('memoryx-proxy/'.length);
|
|
869
|
-
}
|
|
839
|
+
// 使用原始模型(从 lastRequestInfo 获取,由 before_model_resolve 保存)
|
|
840
|
+
// params.model 是 "auto"(虚拟模型),不能用
|
|
841
|
+
const actualModel = lastRequestInfo.model || params.model || 'claude-sonnet-4-20250514';
|
|
870
842
|
// 确定目标 provider(从 lastRequestInfo 或原始 provider)
|
|
871
843
|
const targetProvider = lastRequestInfo.provider || params.provider || 'anthropic';
|
|
844
|
+
log(`\n[Proxy] Using original model from lastRequestInfo: ${lastRequestInfo.model}`);
|
|
872
845
|
const credentials = providerCredentials.get(targetProvider);
|
|
873
846
|
if (!credentials) {
|
|
874
847
|
log(`[Proxy] ❌ No credentials for provider: ${targetProvider}`);
|
|
@@ -954,19 +927,25 @@ export default {
|
|
|
954
927
|
// 保存原始请求信息,供 sendMessage 使用
|
|
955
928
|
let lastRequestInfo = {};
|
|
956
929
|
// 用 before_model_resolve 自动切换到 Proxy Provider
|
|
957
|
-
//
|
|
930
|
+
// 关键:同时覆盖 provider 和 model,让 OpenClaw 找到 memoryx-proxy/auto
|
|
931
|
+
// 原始 model 保存在 lastRequestInfo 中,sendMessage 用它去代理
|
|
958
932
|
api.on('before_model_resolve', (event, ctx) => {
|
|
959
933
|
log(`\n[before_model_resolve] Intercepting request`);
|
|
960
934
|
log(` Prompt Preview: ${event.prompt?.slice(0, 200)}...`);
|
|
961
935
|
log(` Context Provider: ${ctx.messageProvider}`);
|
|
936
|
+
log(` Context Model: ${ctx.model}`);
|
|
962
937
|
log(` Context AgentId: ${ctx.agentId}`);
|
|
963
938
|
// 保存原始信息(从 context 获取)
|
|
964
939
|
lastRequestInfo = {
|
|
940
|
+
model: ctx.model,
|
|
965
941
|
provider: ctx.messageProvider
|
|
966
942
|
};
|
|
967
|
-
|
|
943
|
+
log(`[before_model_resolve] Saved original: model=${ctx.model}, provider=${ctx.messageProvider}`);
|
|
944
|
+
// 同时覆盖 provider 和 model
|
|
945
|
+
// 这样 OpenClaw 会找 memoryx-proxy/auto,一定能找到
|
|
968
946
|
return {
|
|
969
|
-
providerOverride: 'memoryx-proxy'
|
|
947
|
+
providerOverride: 'memoryx-proxy',
|
|
948
|
+
modelOverride: 'auto'
|
|
970
949
|
};
|
|
971
950
|
});
|
|
972
951
|
api.logger.info('[MemoryX] 🔄 Auto-routing enabled - all requests will go through MemoryX Proxy');
|
package/package.json
CHANGED