@t0ken.ai/memoryx-openclaw-plugin 2.2.33 → 2.2.34

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.
@@ -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,wBAgxBE;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
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,wBAs0BE;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.33";
29
+ const PLUGIN_VERSION = "2.2.34";
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;
@@ -744,41 +744,89 @@ export default {
744
744
  log(`[Proxy] Failed to extract credentials: ${e}`);
745
745
  }
746
746
  // 从 OpenClaw config 动态提取模型列表
747
- // Model id 不需要 provider 前缀,因为 OpenClaw 会先设置 provider
748
- // 然后在那个 provider 下查找 model
747
+ // OpenClaw provider 下查找 model,所以 model id 不需要 provider 前缀
749
748
  function extractModelsFromConfig(config) {
750
- const models = [
751
- // 默认虚拟模型 - 类似 SlimClaw 的 auto
752
- {
753
- id: 'auto',
754
- name: 'MemoryX Auto Router',
755
- reasoning: true,
756
- input: ['text', 'image'],
757
- cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
758
- contextWindow: 200000,
759
- maxTokens: 8192,
760
- },
761
- ];
762
- // 从配置中提取所有模型(不加前缀)
749
+ const modelsMap = new Map();
750
+ // 默认虚拟模型 - 类似 SlimClaw 的 auto
751
+ modelsMap.set('auto', {
752
+ id: 'auto',
753
+ name: 'MemoryX Auto Router',
754
+ reasoning: true,
755
+ input: ['text', 'image'],
756
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
757
+ contextWindow: 200000,
758
+ maxTokens: 8192,
759
+ });
760
+ // 从配置中提取所有模型
763
761
  if (config?.models?.providers) {
764
762
  for (const [providerId, providerConfig] of Object.entries(config.models.providers)) {
765
763
  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,
764
+ log(`[Proxy] Checking provider ${providerId} for models...`);
765
+ // 检查多种可能的模型配置格式
766
+ const modelSources = [
767
+ pc.models, // array format: models: ["glm-5", "glm-4.7"]
768
+ pc.modelIds, // alternative name
769
+ pc.model?.models, // nested format
770
+ ];
771
+ for (const modelList of modelSources) {
772
+ if (modelList && Array.isArray(modelList)) {
773
+ modelList.forEach((modelId) => {
774
+ if (typeof modelId === 'string' && !modelsMap.has(modelId)) {
775
+ modelsMap.set(modelId, {
776
+ id: modelId,
777
+ name: `${modelId} (via MemoryX)`,
778
+ reasoning: true,
779
+ input: ['text'],
780
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
781
+ contextWindow: 128000,
782
+ maxTokens: 8192,
783
+ });
784
+ log(`[Proxy] Added model: ${modelId} from provider ${providerId}`);
785
+ }
776
786
  });
777
- });
787
+ }
778
788
  }
789
+ // 检查 object format: models: { "glm-5": {...}, "glm-4.7": {...} }
790
+ if (pc.models && typeof pc.models === 'object' && !Array.isArray(pc.models)) {
791
+ for (const modelId of Object.keys(pc.models)) {
792
+ if (!modelsMap.has(modelId)) {
793
+ modelsMap.set(modelId, {
794
+ id: modelId,
795
+ name: `${modelId} (via MemoryX)`,
796
+ reasoning: true,
797
+ input: ['text'],
798
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
799
+ contextWindow: 128000,
800
+ maxTokens: 8192,
801
+ });
802
+ log(`[Proxy] Added model: ${modelId} from provider ${providerId} (object format)`);
803
+ }
804
+ }
805
+ }
806
+ }
807
+ }
808
+ // 添加常用模型(硬编码备用)
809
+ const fallbackModels = [
810
+ 'gpt-4o', 'gpt-4o-mini', 'gpt-4-turbo', 'gpt-3.5-turbo',
811
+ 'claude-sonnet-4-20250514', 'claude-3-5-sonnet-20241022', 'claude-3-haiku-20240307',
812
+ 'glm-4', 'glm-4-plus', 'glm-4-air', 'glm-4.7', 'glm-5',
813
+ ];
814
+ for (const modelId of fallbackModels) {
815
+ if (!modelsMap.has(modelId)) {
816
+ modelsMap.set(modelId, {
817
+ id: modelId,
818
+ name: `${modelId} (via MemoryX)`,
819
+ reasoning: true,
820
+ input: ['text'],
821
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
822
+ contextWindow: 128000,
823
+ maxTokens: 8192,
824
+ });
825
+ log(`[Proxy] Added fallback model: ${modelId}`);
779
826
  }
780
827
  }
781
- log(`[Proxy] Extracted ${models.length} models from config`);
828
+ const models = Array.from(modelsMap.values());
829
+ log(`[Proxy] Total models extracted: ${models.length}`);
782
830
  return models;
783
831
  }
784
832
  // 注册 Proxy Provider
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@t0ken.ai/memoryx-openclaw-plugin",
3
- "version": "2.2.33",
3
+ "version": "2.2.34",
4
4
  "description": "MemoryX real-time memory capture and recall plugin for OpenClaw (powered by @t0ken.ai/memoryx-sdk)",
5
5
  "type": "module",
6
6
  "author": "MemoryX Team",