@t0ken.ai/memoryx-openclaw-plugin 2.2.35 → 2.2.37
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 +54 -17
- 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,wBAoyBE;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.37";
|
|
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,9 +743,7 @@ export default {
|
|
|
743
743
|
catch (e) {
|
|
744
744
|
log(`[Proxy] Failed to extract credentials: ${e}`);
|
|
745
745
|
}
|
|
746
|
-
//
|
|
747
|
-
// before_model_resolve 拦截所有请求,改为使用 memoryx-proxy/auto
|
|
748
|
-
// sendMessage 用原始模型去代理,用户无感知
|
|
746
|
+
// 虚拟模型定义
|
|
749
747
|
const VIRTUAL_MODEL = {
|
|
750
748
|
id: 'auto',
|
|
751
749
|
name: 'MemoryX Auto Router',
|
|
@@ -755,16 +753,22 @@ export default {
|
|
|
755
753
|
contextWindow: 200000,
|
|
756
754
|
maxTokens: 8192,
|
|
757
755
|
};
|
|
758
|
-
log(`[Proxy]
|
|
759
|
-
// 注册 Proxy Provider -
|
|
756
|
+
log(`[Proxy] Registering provider with virtual model: auto`);
|
|
757
|
+
// 注册 Proxy Provider - 使用正确的 ModelProviderConfig 格式
|
|
760
758
|
api.registerProvider({
|
|
761
759
|
id: 'memoryx-proxy',
|
|
762
|
-
|
|
760
|
+
label: 'MemoryX Proxy Provider',
|
|
763
761
|
models: {
|
|
764
762
|
baseUrl: 'http://memoryx-proxy.local',
|
|
765
|
-
|
|
766
|
-
models: [VIRTUAL_MODEL], // 只注册 auto
|
|
763
|
+
models: [VIRTUAL_MODEL],
|
|
767
764
|
},
|
|
765
|
+
// auth 是必需的,提供一个简单的 apiKey 方式
|
|
766
|
+
auth: [{
|
|
767
|
+
id: 'api-key',
|
|
768
|
+
label: 'API Key',
|
|
769
|
+
kind: 'apiKey',
|
|
770
|
+
run: async () => ({ ok: true, credentials: {} }),
|
|
771
|
+
}],
|
|
768
772
|
async sendMessage(params) {
|
|
769
773
|
const requestId = `req-${Date.now()}`;
|
|
770
774
|
// ========== 详细日志 ==========
|
|
@@ -924,23 +928,56 @@ export default {
|
|
|
924
928
|
}
|
|
925
929
|
});
|
|
926
930
|
api.logger.info('[MemoryX] 🔄 Proxy provider registered: memoryx-proxy');
|
|
931
|
+
// 从 api.config 读取默认 model 和 provider
|
|
932
|
+
// 注意:hook context 不包含 model 信息,只能从 config 读取
|
|
933
|
+
// config 结构可能是:
|
|
934
|
+
// - agents.defaults.model = "model-id" (string)
|
|
935
|
+
// - agents.defaults.model = { default: "model-id" } (object)
|
|
936
|
+
// - agents.defaults.model.default = "model-id" (nested)
|
|
937
|
+
const getDefaultModelAndProvider = () => {
|
|
938
|
+
const agentsDefaults = api.config?.agents?.defaults;
|
|
939
|
+
// 处理 model - 可能是 string 或 object
|
|
940
|
+
let model = 'claude-sonnet-4-20250514';
|
|
941
|
+
if (agentsDefaults?.model) {
|
|
942
|
+
const m = agentsDefaults.model;
|
|
943
|
+
if (typeof m === 'string') {
|
|
944
|
+
model = m;
|
|
945
|
+
}
|
|
946
|
+
else if (typeof m === 'object' && m.default) {
|
|
947
|
+
model = typeof m.default === 'string' ? m.default : String(m.default);
|
|
948
|
+
}
|
|
949
|
+
}
|
|
950
|
+
// 处理 provider - 可能是 string 或 object
|
|
951
|
+
let provider = 'anthropic';
|
|
952
|
+
if (agentsDefaults?.provider) {
|
|
953
|
+
const p = agentsDefaults.provider;
|
|
954
|
+
if (typeof p === 'string') {
|
|
955
|
+
provider = p;
|
|
956
|
+
}
|
|
957
|
+
else if (typeof p === 'object' && p.default) {
|
|
958
|
+
provider = typeof p.default === 'string' ? p.default : String(p.default);
|
|
959
|
+
}
|
|
960
|
+
}
|
|
961
|
+
return { model, provider };
|
|
962
|
+
};
|
|
927
963
|
// 保存原始请求信息,供 sendMessage 使用
|
|
928
|
-
let lastRequestInfo =
|
|
964
|
+
let lastRequestInfo = getDefaultModelAndProvider();
|
|
965
|
+
log(`[Proxy] Default model/provider from config: ${lastRequestInfo.model}/${lastRequestInfo.provider}`);
|
|
929
966
|
// 用 before_model_resolve 自动切换到 Proxy Provider
|
|
930
967
|
// 关键:同时覆盖 provider 和 model,让 OpenClaw 找到 memoryx-proxy/auto
|
|
931
|
-
//
|
|
968
|
+
// 注意:hook context 没有 model,从 api.config 读取默认值
|
|
932
969
|
api.on('before_model_resolve', (event, ctx) => {
|
|
933
970
|
log(`\n[before_model_resolve] Intercepting request`);
|
|
934
971
|
log(` Prompt Preview: ${event.prompt?.slice(0, 200)}...`);
|
|
935
|
-
log(` Context
|
|
936
|
-
log(` Context Model: ${ctx.model}`);
|
|
972
|
+
log(` Context messageProvider: ${ctx.messageProvider}`);
|
|
937
973
|
log(` Context AgentId: ${ctx.agentId}`);
|
|
938
|
-
//
|
|
974
|
+
// 从 config 获取默认 model/provider(hook context 没有 model)
|
|
975
|
+
const defaults = getDefaultModelAndProvider();
|
|
939
976
|
lastRequestInfo = {
|
|
940
|
-
model:
|
|
941
|
-
provider:
|
|
977
|
+
model: defaults.model,
|
|
978
|
+
provider: defaults.provider
|
|
942
979
|
};
|
|
943
|
-
log(`[before_model_resolve]
|
|
980
|
+
log(`[before_model_resolve] Using defaults from config: model=${defaults.model}, provider=${defaults.provider}`);
|
|
944
981
|
// 同时覆盖 provider 和 model
|
|
945
982
|
// 这样 OpenClaw 会找 memoryx-proxy/auto,一定能找到
|
|
946
983
|
return {
|
package/package.json
CHANGED