openclaw-multi-auto 1.4.2 → 1.4.4

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.
Files changed (205) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  3. package/dist/control-ui/assets/{index-7XbUBC_m.js → index-Ql_obQqk.js} +2 -2
  4. package/dist/control-ui/assets/{index-7XbUBC_m.js.map → index-Ql_obQqk.js.map} +1 -1
  5. package/dist/control-ui/index.html +1 -1
  6. package/dist/plugin-sdk/{accounts-DyFCXtHv.js → accounts-BslAlVYS.js} +2 -2
  7. package/dist/plugin-sdk/{accounts-BJAXxY46.js → accounts-C3m65--E.js} +2 -2
  8. package/dist/plugin-sdk/accounts-CJWOBzwB.js +35 -0
  9. package/dist/plugin-sdk/{accounts-C1j7HSL0.js → accounts-CNCCkdEF.js} +3 -3
  10. package/dist/plugin-sdk/accounts-DP1-L-QS.js +288 -0
  11. package/dist/plugin-sdk/accounts-DZhWlEg3.js +46 -0
  12. package/dist/plugin-sdk/{active-listener-CftX5jLD.js → active-listener-B_sLJTXM.js} +2 -2
  13. package/dist/plugin-sdk/active-listener-CkPnMUkB.js +50 -0
  14. package/dist/plugin-sdk/{api-key-rotation-8nyyt1kx.js → api-key-rotation-BRE4X2tf.js} +2 -2
  15. package/dist/plugin-sdk/api-key-rotation-BXnNsojA.js +181 -0
  16. package/dist/plugin-sdk/{audio-preflight-C_aSAPR1.js → audio-preflight-CtO4fFvp.js} +26 -26
  17. package/dist/plugin-sdk/audio-preflight-DGEUDxxR.js +69 -0
  18. package/dist/plugin-sdk/audio-transcription-runner-DkoPNPYt.js +2176 -0
  19. package/dist/plugin-sdk/{audio-transcription-runner-CB53F7_7.js → audio-transcription-runner-DnxvOS1-.js} +11 -11
  20. package/dist/plugin-sdk/{audit-membership-runtime-BXndI4LG.js → audit-membership-runtime-BpfoSk8M.js} +2 -2
  21. package/dist/plugin-sdk/audit-membership-runtime-DSBHHw7o.js +58 -0
  22. package/dist/plugin-sdk/channel-activity-F3d0yUwy.js +94 -0
  23. package/dist/plugin-sdk/{channel-activity-C5y8AgAV.js → channel-activity-WJYxcJ3S.js} +3 -3
  24. package/dist/plugin-sdk/channel-web-QF7EpjeP.js +2256 -0
  25. package/dist/plugin-sdk/{channel-web-DBTRO03V.js → channel-web-dO5k3ubM.js} +18 -18
  26. package/dist/plugin-sdk/chrome-BXoCyCkY.js +2415 -0
  27. package/dist/plugin-sdk/{chrome-f00sZkDX.js → chrome-CjNTuJML.js} +6 -6
  28. package/dist/plugin-sdk/{commands-registry-BJ_NxG2F.js → commands-registry-CdYjoI0i.js} +4 -4
  29. package/dist/plugin-sdk/commands-registry-t7cXBTfN.js +1125 -0
  30. package/dist/plugin-sdk/{common-Cf27Jwxu.js → common-oYc5vPFl.js} +2 -2
  31. package/dist/plugin-sdk/{config-CHQrpx-Q.js → config-B1z-UxQ3.js} +7 -7
  32. package/dist/plugin-sdk/config-BkEnz2Po.js +17913 -0
  33. package/dist/plugin-sdk/deliver-B6AG_l67.js +1694 -0
  34. package/dist/plugin-sdk/{deliver-DNEuetST.js → deliver-D5_6T567.js} +10 -10
  35. package/dist/plugin-sdk/deliver-runtime-C5dgvvga.js +32 -0
  36. package/dist/plugin-sdk/deliver-runtime-D585kJZc.js +32 -0
  37. package/dist/plugin-sdk/deps-send-discord.runtime-Dg4N7PHJ.js +23 -0
  38. package/dist/plugin-sdk/deps-send-discord.runtime-a_OKY2js.js +23 -0
  39. package/dist/plugin-sdk/deps-send-imessage.runtime-0OEwzMQm.js +22 -0
  40. package/dist/plugin-sdk/deps-send-imessage.runtime-Baxy9TD4.js +22 -0
  41. package/dist/plugin-sdk/deps-send-signal.runtime-BM1jRt3G.js +21 -0
  42. package/dist/plugin-sdk/deps-send-signal.runtime-BwXoCrFl.js +21 -0
  43. package/dist/plugin-sdk/deps-send-slack.runtime-1E3BYRdF.js +19 -0
  44. package/dist/plugin-sdk/deps-send-slack.runtime-CLmKjgso.js +19 -0
  45. package/dist/plugin-sdk/deps-send-telegram.runtime-BKfdBKnZ.js +24 -0
  46. package/dist/plugin-sdk/deps-send-telegram.runtime-DNCxIflA.js +24 -0
  47. package/dist/plugin-sdk/deps-send-whatsapp.runtime-BOTwkbx_.js +57 -0
  48. package/dist/plugin-sdk/deps-send-whatsapp.runtime-OLwr-9c8.js +57 -0
  49. package/dist/plugin-sdk/{diagnostic-LYUUmjJ5.js → diagnostic-Bxxu0ig-.js} +2 -2
  50. package/dist/plugin-sdk/diagnostic-CsP-lEkI.js +319 -0
  51. package/dist/plugin-sdk/discord.js +6 -6
  52. package/dist/plugin-sdk/{errors-CtMWwS2Z.js → errors-B3cHyZZA.js} +1 -1
  53. package/dist/plugin-sdk/errors-DaiAM-yU.js +54 -0
  54. package/dist/plugin-sdk/fetch-guard-DETCcJzQ.js +156 -0
  55. package/dist/plugin-sdk/{fetch-guard-CxYB5Kg6.js → fetch-guard-Dcgod0tg.js} +2 -2
  56. package/dist/plugin-sdk/fs-safe-B8y811FR.js +352 -0
  57. package/dist/plugin-sdk/{fs-safe-DtfhxbrI.js → fs-safe-BaKqI3G4.js} +3 -3
  58. package/dist/plugin-sdk/{image-BwjYjRHx.js → image-B2mQW9Rb.js} +6 -6
  59. package/dist/plugin-sdk/image-DjTEkYZE.js +2310 -0
  60. package/dist/plugin-sdk/image-ops-BSiMpAw4.js +584 -0
  61. package/dist/plugin-sdk/{image-ops-BnZKcbd6.js → image-ops-Cbzr4U9l.js} +2 -2
  62. package/dist/plugin-sdk/image-runtime-6xPp8m5a.js +25 -0
  63. package/dist/plugin-sdk/image-runtime-BFm45j49.js +25 -0
  64. package/dist/plugin-sdk/index.js +50 -50
  65. package/dist/plugin-sdk/ir-DQ7_HbvK.js +1296 -0
  66. package/dist/plugin-sdk/{ir-Z4hX67TJ.js → ir-ZEmrTr4J.js} +7 -7
  67. package/dist/plugin-sdk/local-roots-BUP4YBmR.js +186 -0
  68. package/dist/plugin-sdk/{local-roots-KhjQw04O.js → local-roots-CIPRxA-4.js} +4 -4
  69. package/dist/plugin-sdk/logger-CZY9KIoY.js +1163 -0
  70. package/dist/plugin-sdk/{logger-DHIIvMxj.js → logger-CvPFVOgT.js} +2 -2
  71. package/dist/plugin-sdk/login-BxEKLlCo.js +57 -0
  72. package/dist/plugin-sdk/{login-C31642Ld.js → login-CCTew9bt.js} +4 -4
  73. package/dist/plugin-sdk/{login-qr--y2SG_Ue.js → login-qr-BI3Vi_wJ.js} +5 -5
  74. package/dist/plugin-sdk/login-qr-BQIpMPr9.js +320 -0
  75. package/dist/plugin-sdk/{manager-2UZBMCc7.js → manager-BEoYPn7R.js} +8 -8
  76. package/dist/plugin-sdk/manager-I6KbPihW.js +3917 -0
  77. package/dist/plugin-sdk/manager-runtime-CFfYYWIQ.js +15 -0
  78. package/dist/plugin-sdk/manager-runtime-DxclHQ4U.js +15 -0
  79. package/dist/plugin-sdk/mattermost.js +3 -3
  80. package/dist/plugin-sdk/{outbound-Ba0QUI5h.js → outbound-ByOw1K6W.js} +5 -5
  81. package/dist/plugin-sdk/outbound-NS6UHnB6.js +212 -0
  82. package/dist/plugin-sdk/{outbound-attachment-B1Laso-8.js → outbound-attachment-BzVhxRRw.js} +2 -2
  83. package/dist/plugin-sdk/outbound-attachment-Dy6fyf6H.js +19 -0
  84. package/dist/plugin-sdk/{path-alias-guards-C7Vm5DZ1.js → path-alias-guards-DBjLbIX_.js} +1 -1
  85. package/dist/plugin-sdk/path-alias-guards-sWayacde.js +43 -0
  86. package/dist/plugin-sdk/{paths-DopV9PQG.js → paths-Dpg3qxcl.js} +1 -1
  87. package/dist/plugin-sdk/paths-vTM3Lh3X.js +166 -0
  88. package/dist/plugin-sdk/pi-embedded-helpers-1R1gu7eX.js +9627 -0
  89. package/dist/plugin-sdk/{pi-embedded-helpers-DnA_OCzP.js → pi-embedded-helpers-DIxXkGJf.js} +16 -16
  90. package/dist/plugin-sdk/{pi-model-discovery-DdPqXk8f.js → pi-model-discovery-DM_2uFtj.js} +1 -1
  91. package/dist/plugin-sdk/pi-model-discovery-runtime-BuzvkvNR.js +8 -0
  92. package/dist/plugin-sdk/pi-model-discovery-runtime-Do9o-dUd.js +8 -0
  93. package/dist/plugin-sdk/pi-model-discovery-v-XPUOOf.js +134 -0
  94. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-D4sFsIks.js +354 -0
  95. package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-DxFHiLUE.js → pi-tools.before-tool-call.runtime-w1dqL_ty.js} +4 -4
  96. package/dist/plugin-sdk/{plugins-CbCt4osF.js → plugins-C4USiH29.js} +4 -4
  97. package/dist/plugin-sdk/plugins-DeBZB9l_.js +864 -0
  98. package/dist/plugin-sdk/{proxy-env-C63mMdas.js → proxy-env-ET-rp8eg.js} +1 -1
  99. package/dist/plugin-sdk/{proxy-fetch-Ch95c_Y2.js → proxy-fetch-ChxOhWF4.js} +1 -1
  100. package/dist/plugin-sdk/proxy-fetch-uDXGKG3Z.js +38 -0
  101. package/dist/plugin-sdk/{pw-ai-DpJk62D4.js → pw-ai-CyOt3RDA.js} +9 -9
  102. package/dist/plugin-sdk/pw-ai-DEOmCSSC.js +1938 -0
  103. package/dist/plugin-sdk/{qmd-manager-Ca-iSfEE.js → qmd-manager-BySdoVR7.js} +7 -7
  104. package/dist/plugin-sdk/qmd-manager-HyYKoEch.js +1448 -0
  105. package/dist/plugin-sdk/{query-expansion-B_Xe41Ab.js → query-expansion-C6uS-7lj.js} +4 -4
  106. package/dist/plugin-sdk/query-expansion-CeyKUeDW.js +1011 -0
  107. package/dist/plugin-sdk/{redact-hp9TOulW.js → redact-Bvxt1T_Q.js} +1 -1
  108. package/dist/plugin-sdk/redact-DjVX-1N3.js +319 -0
  109. package/dist/plugin-sdk/{reply-CovBlFea.js → reply-CTCSeQqW.js} +73 -73
  110. package/dist/plugin-sdk/reply-DAo_Jt8K.js +97916 -0
  111. package/dist/plugin-sdk/resolve-outbound-target-B42qgQS9.js +40 -0
  112. package/dist/plugin-sdk/{resolve-outbound-target-BbrHgyUk.js → resolve-outbound-target-Bw8YNANu.js} +2 -2
  113. package/dist/plugin-sdk/run-with-concurrency-Bt_ks0Qa.js +1994 -0
  114. package/dist/plugin-sdk/{run-with-concurrency-BR1DXa8T.js → run-with-concurrency-C_KCHwvf.js} +1 -1
  115. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-B6W989eF.js +10 -0
  116. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-BxgRDkhc.js +10 -0
  117. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-c_GDFy37.js +19 -0
  118. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-elOqrkfg.js +19 -0
  119. package/dist/plugin-sdk/{send-BvAtLLPl.js → send-BZ6nYFZr.js} +5 -5
  120. package/dist/plugin-sdk/{send-BTztm3D2.js → send-C0w6xP2x.js} +6 -6
  121. package/dist/plugin-sdk/{send-CWJUuG0i.js → send-CFf-1V89.js} +8 -8
  122. package/dist/plugin-sdk/send-CQpMudwO.js +2587 -0
  123. package/dist/plugin-sdk/{send-EcglC4cG.js → send-CY-Qfwia.js} +7 -7
  124. package/dist/plugin-sdk/send-DQHLzVyO.js +414 -0
  125. package/dist/plugin-sdk/send-DTB24bEF.js +3135 -0
  126. package/dist/plugin-sdk/send-DfHadjZ_.js +503 -0
  127. package/dist/plugin-sdk/send-XXlW2iny.js +540 -0
  128. package/dist/plugin-sdk/{send-BXpXBwM_.js → send-qPyNGSe4.js} +13 -13
  129. package/dist/plugin-sdk/session-6TF6MyaC.js +169 -0
  130. package/dist/plugin-sdk/{session-k256LJZT.js → session-COrvpvUQ.js} +3 -3
  131. package/dist/plugin-sdk/skill-commands-CkGeFUMl.js +342 -0
  132. package/dist/plugin-sdk/{skill-commands-DoRqLzxm.js → skill-commands-DZqhtmiv.js} +4 -4
  133. package/dist/plugin-sdk/skills-CBkHBYPq.js +1428 -0
  134. package/dist/plugin-sdk/{skills-QudILG6e.js → skills-Cw_vXEJb.js} +6 -6
  135. package/dist/plugin-sdk/slash-commands.runtime-CxliuGaP.js +13 -0
  136. package/dist/plugin-sdk/slash-commands.runtime-D67JLweo.js +13 -0
  137. package/dist/plugin-sdk/slash-dispatch.runtime-DFaeYlJQ.js +52 -0
  138. package/dist/plugin-sdk/slash-dispatch.runtime-DvcpvCJ0.js +52 -0
  139. package/dist/plugin-sdk/slash-skill-commands.runtime-0M0OLCxq.js +16 -0
  140. package/dist/plugin-sdk/slash-skill-commands.runtime-BM1x3azR.js +16 -0
  141. package/dist/plugin-sdk/ssrf-cFtplYtS.js +202 -0
  142. package/dist/plugin-sdk/store-5nyxY3WU.js +81 -0
  143. package/dist/plugin-sdk/{store-BbDQw3g6.js → store-CMHj6IIw.js} +2 -2
  144. package/dist/plugin-sdk/subagent-registry-runtime-1lbDyRzz.js +52 -0
  145. package/dist/plugin-sdk/subagent-registry-runtime-DCtmDwna.js +52 -0
  146. package/dist/plugin-sdk/tables-C47P4GTN.js +55 -0
  147. package/dist/plugin-sdk/{tables-BhvloMKN.js → tables-CSqrHsKL.js} +1 -1
  148. package/dist/plugin-sdk/target-errors-Blia4S69.js +195 -0
  149. package/dist/plugin-sdk/thinking-Bo2eosVa.js +1206 -0
  150. package/dist/plugin-sdk/{thinking-URzkT-3p.js → thinking-DOnsR_A8.js} +7 -7
  151. package/dist/plugin-sdk/{tokens-B1PW5Ayy.js → tokens-BDr0Z9o3.js} +1 -1
  152. package/dist/plugin-sdk/tokens-DgNRBwIg.js +52 -0
  153. package/dist/plugin-sdk/{tool-images-xpqbP6RR.js → tool-images-Gk_-0y2N.js} +2 -2
  154. package/dist/plugin-sdk/tool-images-eEfOVkzf.js +274 -0
  155. package/dist/plugin-sdk/web-BLyT64pW.js +56 -0
  156. package/dist/plugin-sdk/web-CVxZbXyH.js +56 -0
  157. package/dist/plugin-sdk/whatsapp-actions-Bw0H9g-n.js +80 -0
  158. package/dist/plugin-sdk/{whatsapp-actions-RcZ6vp61.js → whatsapp-actions-xcleMoMv.js} +17 -17
  159. package/dist/plugin-sdk/whatsapp.js +50 -50
  160. package/extensions/acpx/node_modules/.bin/acpx +2 -2
  161. package/extensions/diagnostics-otel/node_modules/.bin/acorn +2 -2
  162. package/extensions/diffs/node_modules/.bin/playwright-core +2 -2
  163. package/extensions/googlechat/node_modules/.bin/nlc +2 -2
  164. package/extensions/googlechat/node_modules/.bin/node-llama-cpp +2 -2
  165. package/extensions/googlechat/node_modules/.bin/openclaw +2 -2
  166. package/extensions/googlechat/node_modules/.bin/tsc +2 -2
  167. package/extensions/googlechat/node_modules/.bin/tsserver +2 -2
  168. package/extensions/matrix/node_modules/.bin/markdown-it +2 -2
  169. package/extensions/memory-core/node_modules/.bin/nlc +2 -2
  170. package/extensions/memory-core/node_modules/.bin/node-llama-cpp +2 -2
  171. package/extensions/memory-core/node_modules/.bin/openclaw +2 -2
  172. package/extensions/memory-core/node_modules/.bin/tsc +2 -2
  173. package/extensions/memory-core/node_modules/.bin/tsserver +2 -2
  174. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +2 -2
  175. package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
  176. package/extensions/nostr/node_modules/.bin/tsc +2 -2
  177. package/extensions/nostr/node_modules/.bin/tsserver +2 -2
  178. package/extensions/tlon/node_modules/.bin/tlon +2 -2
  179. package/package.json +1 -1
  180. package/scripts/create-instance.sh +27 -1
  181. package/scripts/install-maca.sh +127 -99
  182. package/ui/node_modules/.bin/jiti +2 -2
  183. package/ui/node_modules/.bin/marked +2 -2
  184. package/ui/node_modules/.bin/playwright +2 -2
  185. package/ui/node_modules/.bin/tsx +2 -2
  186. package/ui/node_modules/.bin/vite +2 -2
  187. package/ui/node_modules/.bin/vitest +2 -2
  188. package/ui/node_modules/.bin/yaml +2 -2
  189. package/dist/plugin-sdk/deliver-runtime-BFdqklJM.js +0 -32
  190. package/dist/plugin-sdk/deps-send-discord.runtime-DuqpYwU0.js +0 -23
  191. package/dist/plugin-sdk/deps-send-imessage.runtime-CZ2rS8Lb.js +0 -22
  192. package/dist/plugin-sdk/deps-send-signal.runtime-BdqiWhIh.js +0 -21
  193. package/dist/plugin-sdk/deps-send-slack.runtime-04s36qiC.js +0 -19
  194. package/dist/plugin-sdk/deps-send-telegram.runtime-LE5tkPvr.js +0 -24
  195. package/dist/plugin-sdk/deps-send-whatsapp.runtime-Bz57lobC.js +0 -57
  196. package/dist/plugin-sdk/image-runtime-B8twoubs.js +0 -25
  197. package/dist/plugin-sdk/manager-runtime-CMeLwose.js +0 -15
  198. package/dist/plugin-sdk/pi-model-discovery-runtime-D8CJhtJY.js +0 -8
  199. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-SkO91TZH.js +0 -10
  200. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-B0VWK5hm.js +0 -19
  201. package/dist/plugin-sdk/slash-commands.runtime-DS6vCNSL.js +0 -13
  202. package/dist/plugin-sdk/slash-dispatch.runtime-BXrxb2wd.js +0 -52
  203. package/dist/plugin-sdk/slash-skill-commands.runtime-Bd6qQ2oT.js +0 -16
  204. package/dist/plugin-sdk/subagent-registry-runtime-1uwQbuXj.js +0 -52
  205. package/dist/plugin-sdk/web-B74yhL2N.js +0 -56
@@ -80,6 +80,133 @@ if ! check_node; then
80
80
  fi
81
81
  echo -e "${GREEN}✅ Node.js 环境已就绪: $(node -v)${NC}"
82
82
 
83
+ echo -e "${BLUE}================================================${NC}"
84
+ echo -e "${BLUE} Ollama 独立安装脚本(带系统检测) ${NC}"
85
+ echo -e "${BLUE}================================================${NC}"
86
+ echo -e "系统: ${YELLOW}$OS${NC}"
87
+ echo -e "架构: ${YELLOW}$ARCH${NC}"
88
+
89
+ # ==================== 询问是否安装 ====================
90
+ echo
91
+ echo -e "${YELLOW}📷 是否安装本地模型用于截屏识图?(需要约6GB内存,模型:qwen3-vl:8b)${NC}"
92
+ read -p "请输入 y/N: " install_model_choice
93
+
94
+ if [[ "$install_model_choice" == "y" || "$install_model_choice" == "Y" ]]; then
95
+ # ==================== 系统兼容性检查 ====================
96
+ echo -e "${YELLOW}🔍 检查系统兼容性...${NC}"
97
+
98
+ SUPPORTED=0
99
+ case "$OS" in
100
+ Linux)
101
+ case "$ARCH" in
102
+ x86_64|amd64|aarch64|arm64)
103
+ SUPPORTED=1
104
+ ;;
105
+ *)
106
+ echo -e "${RED}❌ Linux 架构 $ARCH 暂不被官方安装脚本支持${NC}"
107
+ echo -e "${YELLOW}请尝试手动安装:https://ollama.com/download${NC}"
108
+ ;;
109
+ esac
110
+ ;;
111
+ Darwin)
112
+ case "$ARCH" in
113
+ x86_64|arm64)
114
+ SUPPORTED=1
115
+ ;;
116
+ *)
117
+ echo -e "${RED}❌ macOS 架构 $ARCH 暂不被官方安装脚本支持${NC}"
118
+ echo -e "${YELLOW}请尝试手动安装:https://ollama.com/download${NC}"
119
+ ;;
120
+ esac
121
+ ;;
122
+ *)
123
+ echo -e "${RED}❌ 不支持的操作系统: $OS${NC}"
124
+ ;;
125
+ esac
126
+
127
+ if [ $SUPPORTED -ne 1 ]; then
128
+ echo -e "${YELLOW}⚠️ 当前系统不被官方安装脚本支持,请手动安装 ${NC}"
129
+
130
+ fi
131
+
132
+ echo -e "${GREEN}✅ 系统兼容性通过 (${OS}-${ARCH})${NC}"
133
+
134
+ # ==================== 安装 Ollama ====================
135
+ if ! command -v ollama &> /dev/null; then
136
+ echo -e "${YELLOW}未检测到 Ollama,正在安装 Ollama...${NC}"
137
+ echo -e "${BLUE}将使用官方安装脚本:https://ollama.com/install.sh${NC}"
138
+ echo -e "${YELLOW}注:如果网络访问 GitHub 不稳定,安装可能失败。若失败请手动下载安装包。${NC}"
139
+
140
+ if curl -fsSL https://ollama.com/install.sh | sh; then
141
+ # 强制让当前脚本重新识别一遍环境变量
142
+ [ -f /etc/profile ] && . /etc/profile
143
+ [ -f ~/.zshrc ] && . ~/.zshrc 2>/dev/null
144
+
145
+ # 给系统一点点响应时间
146
+ sleep 2
147
+
148
+ if command -v ollama &> /dev/null; then
149
+ echo -e "${GREEN}✅ Ollama 安装并识别成功${NC}"
150
+ else
151
+ echo -e "${YELLOW}⚠️ 脚本已运行但命令未直接生效,尝试使用全路径:${NC}"
152
+ /usr/local/bin/ollama --version && echo -e "${GREEN}全路径可用!${NC}"
153
+ fi
154
+ else
155
+ echo -e "${RED}❌ 脚本执行异常${NC}"
156
+ fi
157
+ else
158
+ echo -e "${GREEN}✅ Ollama 已安装${NC}"
159
+ fi
160
+
161
+ # ==================== 拉取模型 ====================
162
+ # 1. 尝试将 /usr/local/bin 加入临时路径(防止安装后未刷新环境)
163
+ export PATH=$PATH:/usr/local/bin
164
+ if command -v ollama &> /dev/null; then
165
+ # 2. 检查 Ollama 服务是否启动,没启动则尝试后台启动
166
+ if ! pgrep -x "ollama" > /dev/null; then
167
+ echo -e "${YELLOW}正在启动 Ollama 后台服务...${NC}"
168
+ # macOS 下启动命令,Linux 下通常是 systemctl start ollama
169
+ open -a Ollama.app --args serve > /dev/null 2>&1 &
170
+ sleep 5 # 等待服务初始化
171
+ fi
172
+
173
+ echo -e "${YELLOW}正在拉取模型 qwen3vl:8b,这可能需要一些时间...${NC}"
174
+
175
+ # ==================== 模型拉取配置 ====================
176
+ TARGET_MODEL="qwen3-vl:8b"
177
+ if command -v ollama &> /dev/null; then
178
+ echo -e "${YELLOW}🔍 正在检查本地模型库...${NC}"
179
+
180
+ # 使用 grep -w 进行全字匹配,确保精准识别 qwen3-vl:8b
181
+ if ollama list | grep -w "$TARGET_MODEL" > /dev/null; then
182
+ echo -e "${GREEN}✅ 检测到本地已存在 $TARGET_MODEL,跳过下载。${NC}"
183
+ else
184
+ echo -e "${YELLOW}📥 本地未发现 $TARGET_MODEL,准备拉取...${NC}"
185
+
186
+ # 确保 Ollama 服务处于运行状态
187
+ if ! pgrep -x "ollama" > /dev/null; then
188
+ echo -e "${YELLOW}🚀 正在后台启动 Ollama 服务...${NC}"
189
+ open -a Ollama.app --args serve > /dev/null 2>&1 &
190
+ sleep 5
191
+ fi
192
+
193
+ echo -e "${BLUE}开始拉取模型,这取决于你的网络环境...${NC}"
194
+ if ollama pull "$TARGET_MODEL"; then
195
+ echo -e "${GREEN}✅ 模型 $TARGET_MODEL 部署成功!${NC}"
196
+ else
197
+ echo -e "${RED}❌ 拉取失败。${NC}"
198
+ echo -e "${YELLOW}请检查网络或配置终端代理后再试。${NC}"
199
+ fi
200
+ fi
201
+ else
202
+ echo -e "${RED}❌ 错误:系统中未找到 Ollama,请先完成安装。${NC}"
203
+ fi
204
+ 22
205
+ else
206
+ echo -e "${RED}❌ 未检测到 ollama 命令,请确保已安装并添加到 PATH。${NC}"
207
+ fi
208
+ fi
209
+
83
210
  # ==================== 5. 配置用户级全局路径 ====================
84
211
  echo -e "${YELLOW}🔧 配置用户全局安装路径 ($HOME/.npm-global)...${NC}"
85
212
  NPM_GLOBAL_BIN="$HOME/.npm-global"
@@ -141,105 +268,6 @@ ln -sf "$HOME/openclaw-runtime/node_modules/.bin/openclaw" "$NPM_GLOBAL_BIN/open
141
268
 
142
269
  echo -e "${GREEN}✅ 本地安装完成,openclaw 命令已链接到 $NPM_GLOBAL_BIN/openclaw${NC}"
143
270
 
144
- # ==================== 8. 设置源码路径环境变量供 create-instance.sh 使用 ====================
145
- export OPENCLAW_SOURCE_DIR="$HOME/openclaw-runtime/node_modules/openclaw-multi-auto"
146
-
147
- # 检查源码目录是否存在
148
- if [ ! -d "$OPENCLAW_SOURCE_DIR" ]; then
149
- echo -e "${RED}❌ 错误:未找到源码目录 $OPENCLAW_SOURCE_DIR,请检查安装${NC}"
150
- exit 1
151
- fi
152
- echo -e "${GREEN}✅ 源码路径验证通过${NC}"
153
-
154
- # ==================== 8.5 可选安装本地模型(用于截屏识图)====================
155
- echo
156
- echo -e "${YELLOW}📷 是否安装本地模型用于截屏识图?(需要约6GB内存,模型:qwen2.5-vl:7b-instruct-q4_k_m)${NC}"
157
- read -p "请输入 y/N: " install_model_choice
158
-
159
- if [[ "$install_model_choice" == "y" || "$install_model_choice" == "Y" ]]; then
160
- echo -e "${YELLOW}🔍 检查 Ollama 环境...${NC}"
161
-
162
- # 设置国内镜像源(关键!)
163
- # 使用 GitHub 镜像加速下载安装脚本和二进制文件
164
- export GITHUB_MIRROR="https://ghproxy.com"
165
-
166
- if ! command -v ollama &> /dev/null; then
167
- echo -e "${YELLOW}未检测到 Ollama,正在从国内镜像安装 Ollama...${NC}"
168
-
169
- # 方法1:使用官方安装脚本(通过镜像加速)
170
- echo -e "${BLUE}尝试通过镜像加速安装...${NC}"
171
- if curl -fsSL ${GITHUB_MIRROR}/https://ollama.com/install.sh | sh; then
172
- echo -e "${GREEN}✅ Ollama 安装成功${NC}"
173
- else
174
- echo -e "${YELLOW}脚本安装失败,尝试直接下载二进制包...${NC}"
175
- # 方法2:直接下载二进制包(适用于 Linux/macOS)
176
- if [[ "$OS" == "Linux" ]]; then
177
- wget ${GITHUB_MIRROR}/https://github.com/ollama/ollama/releases/latest/download/ollama-linux-amd64.tgz
178
- sudo tar -C /usr -xzf ollama-linux-amd64.tgz
179
- rm ollama-linux-amd64.tgz
180
- elif [[ "$OS" == "Darwin" ]]; then
181
- # macOS 用户建议直接访问官网下载,或使用 homebrew
182
- echo -e "${YELLOW}macOS 用户请手动下载安装包:${NC}"
183
- echo -e "${BLUE}访问 https://ollama.com/download 或使用镜像:${NC}"
184
- echo -e "${BLUE}curl -L ${GITHUB_MIRROR}/https://ollama.com/download/Ollama-darwin.zip -o Ollama.zip${NC}"
185
- echo -e "${YELLOW}安装完成后重新运行此脚本${NC}"
186
- exit 1
187
- fi
188
-
189
- if command -v ollama &> /dev/null; then
190
- echo -e "${GREEN}✅ Ollama 二进制安装成功${NC}"
191
- else
192
- echo -e "${RED}❌ Ollama 安装失败,请手动安装后重试。${NC}"
193
- echo -e "${YELLOW}您可以访问 https://ollama.com 下载安装包。${NC}"
194
- fi
195
- fi
196
- else
197
- echo -e "${GREEN}✅ Ollama 已安装${NC}"
198
- fi
199
-
200
- # 再次检查 ollama 是否可用
201
- if command -v ollama &> /dev/null; then
202
- echo -e "${YELLOW}配置国内模型镜像源加速下载...${NC}"
203
-
204
- # 配置模型下载镜像源
205
- # 方法A:通过环境变量(临时生效)
206
- export OLLAMA_MIRROR="https://ollama.modelscope.cn" # 魔搭社区镜像
207
-
208
- # 方法B:创建配置文件(永久生效)
209
- mkdir -p ~/.ollama
210
- cat > ~/.ollama/config.json << EOF
211
- {
212
- "registry": {
213
- "mirrors": {
214
- "registry.ollama.ai": "https://ollama.modelscope.cn"
215
- }
216
- }
217
- }
218
- EOF
219
- echo -e "${GREEN}✅ 镜像源配置完成${NC}"
220
-
221
- echo -e "${YELLOW}正在拉取模型 qwen2.5-vl:7b-instruct-q4_k_m,这可能需要一些时间...${NC}"
222
- echo -e "${BLUE}使用魔搭社区镜像加速下载...${NC}"
223
-
224
- # 使用镜像源拉取模型(如果失败则尝试其他源)
225
- if ollama pull modelscope.cn/qwen/Qwen2.5-7B-Instruct-GGUF; then
226
- echo -e "${GREEN}✅ 模型拉取成功${NC}"
227
- else
228
- echo -e "${YELLOW}从魔搭拉取失败,尝试从官方源(已配置镜像)拉取...${NC}"
229
- if ollama pull qwen2.5-vl:7b-instruct-q4_k_m; then
230
- echo -e "${GREEN}✅ 模型拉取成功${NC}"
231
- else
232
- echo -e "${RED}❌ 模型拉取失败,您稍后可以手动运行以下命令重试:${NC}"
233
- echo -e "${YELLOW}export OLLAMA_MIRROR=https://ollama.modelscope.cn${NC}"
234
- echo -e "${YELLOW}ollama pull qwen2.5-vl:7b-instruct-q4_k_m${NC}"
235
- fi
236
- fi
237
- else
238
- echo -e "${YELLOW}⚠️ Ollama 不可用,跳过模型安装。${NC}"
239
- fi
240
- else
241
- echo -e "${BLUE}跳过本地模型安装。${NC}"
242
- fi
243
271
 
244
272
  # ==================== 9. 自动化实例初始化 (直接调用 create-instance.sh) ====================
245
273
  CREATE_SCRIPT="$OPENCLAW_SOURCE_DIR/scripts/create-instance.sh"
@@ -10,9 +10,9 @@ case `uname` in
10
10
  esac
11
11
 
12
12
  if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/lib/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/jiti@2.6.1/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules"
13
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/lib/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/jiti@2.6.1/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules"
14
14
  else
15
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/lib/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/jiti@2.6.1/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
15
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/lib/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/jiti@2.6.1/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
16
16
  fi
17
17
  if [ -x "$basedir/node" ]; then
18
18
  exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/lib/jiti-cli.mjs" "$@"
@@ -10,9 +10,9 @@ case `uname` in
10
10
  esac
11
11
 
12
12
  if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/marked@17.0.4/node_modules/marked/bin/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/marked@17.0.4/node_modules/marked/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/marked@17.0.4/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules"
13
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/marked@17.0.4/node_modules/marked/bin/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/marked@17.0.4/node_modules/marked/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/marked@17.0.4/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules"
14
14
  else
15
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/marked@17.0.4/node_modules/marked/bin/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/marked@17.0.4/node_modules/marked/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/marked@17.0.4/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
15
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/marked@17.0.4/node_modules/marked/bin/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/marked@17.0.4/node_modules/marked/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/marked@17.0.4/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
16
16
  fi
17
17
  if [ -x "$basedir/node" ]; then
18
18
  exec "$basedir/node" "$basedir/../marked/bin/marked.js" "$@"
@@ -10,9 +10,9 @@ case `uname` in
10
10
  esac
11
11
 
12
12
  if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/playwright@1.58.2/node_modules/playwright/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/playwright@1.58.2/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules"
13
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/playwright@1.58.2/node_modules/playwright/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/playwright@1.58.2/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules"
14
14
  else
15
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/playwright@1.58.2/node_modules/playwright/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/playwright@1.58.2/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
15
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/playwright@1.58.2/node_modules/playwright/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/playwright@1.58.2/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
16
16
  fi
17
17
  if [ -x "$basedir/node" ]; then
18
18
  exec "$basedir/node" "$basedir/../playwright/cli.js" "$@"
@@ -10,9 +10,9 @@ case `uname` in
10
10
  esac
11
11
 
12
12
  if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/dist/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/tsx@4.21.0/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules"
13
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/dist/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/tsx@4.21.0/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules"
14
14
  else
15
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/dist/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/tsx@4.21.0/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
15
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/dist/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/tsx@4.21.0/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
16
16
  fi
17
17
  if [ -x "$basedir/node" ]; then
18
18
  exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/dist/cli.mjs" "$@"
@@ -10,9 +10,9 @@ case `uname` in
10
10
  esac
11
11
 
12
12
  if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/vite@7.3.1_@types+node@25.4.0_jiti@2.6.1_tsx@4.21.0_yaml@2.8.2/node_modules/vite/bin/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/vite@7.3.1_@types+node@25.4.0_jiti@2.6.1_tsx@4.21.0_yaml@2.8.2/node_modules/vite/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/vite@7.3.1_@types+node@25.4.0_jiti@2.6.1_tsx@4.21.0_yaml@2.8.2/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules"
13
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/vite@7.3.1_@types+node@25.4.0_jiti@2.6.1_tsx@4.21.0_yaml@2.8.2/node_modules/vite/bin/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/vite@7.3.1_@types+node@25.4.0_jiti@2.6.1_tsx@4.21.0_yaml@2.8.2/node_modules/vite/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/vite@7.3.1_@types+node@25.4.0_jiti@2.6.1_tsx@4.21.0_yaml@2.8.2/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules"
14
14
  else
15
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/vite@7.3.1_@types+node@25.4.0_jiti@2.6.1_tsx@4.21.0_yaml@2.8.2/node_modules/vite/bin/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/vite@7.3.1_@types+node@25.4.0_jiti@2.6.1_tsx@4.21.0_yaml@2.8.2/node_modules/vite/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/vite@7.3.1_@types+node@25.4.0_jiti@2.6.1_tsx@4.21.0_yaml@2.8.2/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
15
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/vite@7.3.1_@types+node@25.4.0_jiti@2.6.1_tsx@4.21.0_yaml@2.8.2/node_modules/vite/bin/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/vite@7.3.1_@types+node@25.4.0_jiti@2.6.1_tsx@4.21.0_yaml@2.8.2/node_modules/vite/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/vite@7.3.1_@types+node@25.4.0_jiti@2.6.1_tsx@4.21.0_yaml@2.8.2/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
16
16
  fi
17
17
  if [ -x "$basedir/node" ]; then
18
18
  exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
@@ -10,9 +10,9 @@ case `uname` in
10
10
  esac
11
11
 
12
12
  if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@25.4.0_@vitest+browser-playwright@4._0689576d17408b4731df8353247254c0/node_modules/vitest/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@25.4.0_@vitest+browser-playwright@4._0689576d17408b4731df8353247254c0/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules"
13
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@25.4.0_@vitest+browser-playwright@4._0689576d17408b4731df8353247254c0/node_modules/vitest/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@25.4.0_@vitest+browser-playwright@4._0689576d17408b4731df8353247254c0/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules"
14
14
  else
15
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@25.4.0_@vitest+browser-playwright@4._0689576d17408b4731df8353247254c0/node_modules/vitest/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@25.4.0_@vitest+browser-playwright@4._0689576d17408b4731df8353247254c0/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
15
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@25.4.0_@vitest+browser-playwright@4._0689576d17408b4731df8353247254c0/node_modules/vitest/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@25.4.0_@vitest+browser-playwright@4._0689576d17408b4731df8353247254c0/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
16
16
  fi
17
17
  if [ -x "$basedir/node" ]; then
18
18
  exec "$basedir/node" "$basedir/../vitest/vitest.mjs" "$@"
@@ -10,9 +10,9 @@ case `uname` in
10
10
  esac
11
11
 
12
12
  if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/yaml@2.8.2/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules"
13
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/yaml@2.8.2/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules"
14
14
  else
15
- export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/yaml@2.8.2/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
15
+ export NODE_PATH="/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/yaml@2.8.2/node_modules:/Users/zhoujinyu/Documents/projects/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
16
16
  fi
17
17
  if [ -x "$basedir/node" ]; then
18
18
  exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/bin.mjs" "$@"
@@ -1,32 +0,0 @@
1
- import "./run-with-concurrency-BR1DXa8T.js";
2
- import "./config-CHQrpx-Q.js";
3
- import "./logger-DHIIvMxj.js";
4
- import "./paths-0d8fBoC4.js";
5
- import "./accounts-C1j7HSL0.js";
6
- import "./plugins-CbCt4osF.js";
7
- import "./thinking-URzkT-3p.js";
8
- import "./accounts-DyFCXtHv.js";
9
- import "./image-ops-BnZKcbd6.js";
10
- import "./pi-embedded-helpers-DnA_OCzP.js";
11
- import "./accounts-BJAXxY46.js";
12
- import "./github-copilot-token-CKKBybuX.js";
13
- import "./paths-DopV9PQG.js";
14
- import "./tokens-B1PW5Ayy.js";
15
- import "./chrome-f00sZkDX.js";
16
- import "./skills-QudILG6e.js";
17
- import "./path-alias-guards-C7Vm5DZ1.js";
18
- import "./redact-hp9TOulW.js";
19
- import "./errors-CtMWwS2Z.js";
20
- import "./fs-safe-DtfhxbrI.js";
21
- import "./proxy-env-C63mMdas.js";
22
- import "./store-BbDQw3g6.js";
23
- import "./tool-images-xpqbP6RR.js";
24
- import "./fetch-guard-CxYB5Kg6.js";
25
- import "./local-roots-KhjQw04O.js";
26
- import { t as deliverOutboundPayloads } from "./deliver-DNEuetST.js";
27
- import "./fetch-O45GieZo.js";
28
- import "./ir-Z4hX67TJ.js";
29
- import "./send-BvAtLLPl.js";
30
- import "./outbound-attachment-B1Laso-8.js";
31
-
32
- export { deliverOutboundPayloads };
@@ -1,23 +0,0 @@
1
- import "./run-with-concurrency-BR1DXa8T.js";
2
- import "./config-CHQrpx-Q.js";
3
- import "./logger-DHIIvMxj.js";
4
- import "./paths-0d8fBoC4.js";
5
- import "./accounts-C1j7HSL0.js";
6
- import "./plugins-CbCt4osF.js";
7
- import "./image-ops-BnZKcbd6.js";
8
- import { h as sendMessageDiscord } from "./send-CWJUuG0i.js";
9
- import "./github-copilot-token-CKKBybuX.js";
10
- import "./path-alias-guards-C7Vm5DZ1.js";
11
- import "./redact-hp9TOulW.js";
12
- import "./errors-CtMWwS2Z.js";
13
- import "./fs-safe-DtfhxbrI.js";
14
- import "./proxy-env-C63mMdas.js";
15
- import "./fetch-guard-CxYB5Kg6.js";
16
- import "./local-roots-KhjQw04O.js";
17
- import "./fetch-O45GieZo.js";
18
- import "./ir-Z4hX67TJ.js";
19
- import "./render-95l30zcf.js";
20
- import "./channel-activity-C5y8AgAV.js";
21
- import "./tables-BhvloMKN.js";
22
-
23
- export { sendMessageDiscord };
@@ -1,22 +0,0 @@
1
- import "./run-with-concurrency-BR1DXa8T.js";
2
- import "./config-CHQrpx-Q.js";
3
- import "./logger-DHIIvMxj.js";
4
- import "./paths-0d8fBoC4.js";
5
- import "./accounts-C1j7HSL0.js";
6
- import "./plugins-CbCt4osF.js";
7
- import "./accounts-DyFCXtHv.js";
8
- import "./image-ops-BnZKcbd6.js";
9
- import "./github-copilot-token-CKKBybuX.js";
10
- import "./path-alias-guards-C7Vm5DZ1.js";
11
- import "./fs-safe-DtfhxbrI.js";
12
- import "./proxy-env-C63mMdas.js";
13
- import "./store-BbDQw3g6.js";
14
- import "./fetch-guard-CxYB5Kg6.js";
15
- import "./local-roots-KhjQw04O.js";
16
- import "./ir-Z4hX67TJ.js";
17
- import "./render-95l30zcf.js";
18
- import "./outbound-attachment-B1Laso-8.js";
19
- import { t as sendMessageIMessage } from "./send-EcglC4cG.js";
20
- import "./tables-BhvloMKN.js";
21
-
22
- export { sendMessageIMessage };
@@ -1,21 +0,0 @@
1
- import "./run-with-concurrency-BR1DXa8T.js";
2
- import "./config-CHQrpx-Q.js";
3
- import "./logger-DHIIvMxj.js";
4
- import "./paths-0d8fBoC4.js";
5
- import "./accounts-C1j7HSL0.js";
6
- import "./plugins-CbCt4osF.js";
7
- import "./image-ops-BnZKcbd6.js";
8
- import "./accounts-BJAXxY46.js";
9
- import "./github-copilot-token-CKKBybuX.js";
10
- import "./path-alias-guards-C7Vm5DZ1.js";
11
- import "./fs-safe-DtfhxbrI.js";
12
- import "./proxy-env-C63mMdas.js";
13
- import "./store-BbDQw3g6.js";
14
- import "./fetch-guard-CxYB5Kg6.js";
15
- import "./local-roots-KhjQw04O.js";
16
- import "./fetch-O45GieZo.js";
17
- import "./ir-Z4hX67TJ.js";
18
- import { t as sendMessageSignal } from "./send-BvAtLLPl.js";
19
- import "./outbound-attachment-B1Laso-8.js";
20
-
21
- export { sendMessageSignal };
@@ -1,19 +0,0 @@
1
- import "./run-with-concurrency-BR1DXa8T.js";
2
- import "./config-CHQrpx-Q.js";
3
- import "./logger-DHIIvMxj.js";
4
- import "./paths-0d8fBoC4.js";
5
- import "./accounts-C1j7HSL0.js";
6
- import "./plugins-CbCt4osF.js";
7
- import { t as sendMessageSlack } from "./send-BTztm3D2.js";
8
- import "./image-ops-BnZKcbd6.js";
9
- import "./github-copilot-token-CKKBybuX.js";
10
- import "./tokens-B1PW5Ayy.js";
11
- import "./path-alias-guards-C7Vm5DZ1.js";
12
- import "./fs-safe-DtfhxbrI.js";
13
- import "./proxy-env-C63mMdas.js";
14
- import "./fetch-guard-CxYB5Kg6.js";
15
- import "./local-roots-KhjQw04O.js";
16
- import "./ir-Z4hX67TJ.js";
17
- import "./render-95l30zcf.js";
18
-
19
- export { sendMessageSlack };
@@ -1,24 +0,0 @@
1
- import "./run-with-concurrency-BR1DXa8T.js";
2
- import "./config-CHQrpx-Q.js";
3
- import "./logger-DHIIvMxj.js";
4
- import "./paths-0d8fBoC4.js";
5
- import "./accounts-C1j7HSL0.js";
6
- import "./plugins-CbCt4osF.js";
7
- import "./image-ops-BnZKcbd6.js";
8
- import "./github-copilot-token-CKKBybuX.js";
9
- import { o as sendMessageTelegram } from "./send-BXpXBwM_.js";
10
- import "./path-alias-guards-C7Vm5DZ1.js";
11
- import "./redact-hp9TOulW.js";
12
- import "./errors-CtMWwS2Z.js";
13
- import "./fs-safe-DtfhxbrI.js";
14
- import "./proxy-env-C63mMdas.js";
15
- import "./fetch-guard-CxYB5Kg6.js";
16
- import "./local-roots-KhjQw04O.js";
17
- import "./proxy-fetch-Ch95c_Y2.js";
18
- import "./fetch-O45GieZo.js";
19
- import "./ir-Z4hX67TJ.js";
20
- import "./render-95l30zcf.js";
21
- import "./channel-activity-C5y8AgAV.js";
22
- import "./proxy-BOZmkV9K.js";
23
-
24
- export { sendMessageTelegram };
@@ -1,57 +0,0 @@
1
- import "./run-with-concurrency-BR1DXa8T.js";
2
- import "./config-CHQrpx-Q.js";
3
- import "./logger-DHIIvMxj.js";
4
- import "./paths-0d8fBoC4.js";
5
- import "./accounts-C1j7HSL0.js";
6
- import "./plugins-CbCt4osF.js";
7
- import "./thinking-URzkT-3p.js";
8
- import "./accounts-DyFCXtHv.js";
9
- import "./send-BTztm3D2.js";
10
- import "./common-Cf27Jwxu.js";
11
- import "./reply-CovBlFea.js";
12
- import "./image-ops-BnZKcbd6.js";
13
- import "./pi-embedded-helpers-DnA_OCzP.js";
14
- import "./accounts-BJAXxY46.js";
15
- import "./send-CWJUuG0i.js";
16
- import "./github-copilot-token-CKKBybuX.js";
17
- import "./paths-DopV9PQG.js";
18
- import "./send-BXpXBwM_.js";
19
- import "./channel-web-DBTRO03V.js";
20
- import "./tokens-B1PW5Ayy.js";
21
- import "./audio-transcription-runner-CB53F7_7.js";
22
- import "./image-BwjYjRHx.js";
23
- import "./chrome-f00sZkDX.js";
24
- import "./skills-QudILG6e.js";
25
- import "./path-alias-guards-C7Vm5DZ1.js";
26
- import "./redact-hp9TOulW.js";
27
- import "./errors-CtMWwS2Z.js";
28
- import "./fs-safe-DtfhxbrI.js";
29
- import "./proxy-env-C63mMdas.js";
30
- import "./store-BbDQw3g6.js";
31
- import "./tool-images-xpqbP6RR.js";
32
- import "./fetch-guard-CxYB5Kg6.js";
33
- import "./api-key-rotation-8nyyt1kx.js";
34
- import "./local-roots-KhjQw04O.js";
35
- import "./proxy-fetch-Ch95c_Y2.js";
36
- import "./deliver-DNEuetST.js";
37
- import "./commands-registry-BJ_NxG2F.js";
38
- import "./skill-commands-DoRqLzxm.js";
39
- import "./fetch-O45GieZo.js";
40
- import "./diagnostic-LYUUmjJ5.js";
41
- import "./pi-model-discovery-DdPqXk8f.js";
42
- import "./ir-Z4hX67TJ.js";
43
- import "./render-95l30zcf.js";
44
- import "./send-BvAtLLPl.js";
45
- import "./outbound-attachment-B1Laso-8.js";
46
- import "./send-EcglC4cG.js";
47
- import "./channel-activity-C5y8AgAV.js";
48
- import "./tables-BhvloMKN.js";
49
- import "./proxy-BOZmkV9K.js";
50
- import "./manager-2UZBMCc7.js";
51
- import "./query-expansion-B_Xe41Ab.js";
52
- import { t as sendMessageWhatsApp } from "./outbound-Ba0QUI5h.js";
53
- import "./session-k256LJZT.js";
54
- import "./login-C31642Ld.js";
55
- import "./web-B74yhL2N.js";
56
-
57
- export { sendMessageWhatsApp };
@@ -1,25 +0,0 @@
1
- import "./run-with-concurrency-BR1DXa8T.js";
2
- import "./config-CHQrpx-Q.js";
3
- import "./logger-DHIIvMxj.js";
4
- import "./paths-0d8fBoC4.js";
5
- import "./accounts-C1j7HSL0.js";
6
- import "./plugins-CbCt4osF.js";
7
- import "./thinking-URzkT-3p.js";
8
- import "./accounts-DyFCXtHv.js";
9
- import "./image-ops-BnZKcbd6.js";
10
- import "./pi-embedded-helpers-DnA_OCzP.js";
11
- import "./accounts-BJAXxY46.js";
12
- import "./github-copilot-token-CKKBybuX.js";
13
- import "./paths-DopV9PQG.js";
14
- import { t as describeImageWithModel } from "./image-BwjYjRHx.js";
15
- import "./chrome-f00sZkDX.js";
16
- import "./skills-QudILG6e.js";
17
- import "./path-alias-guards-C7Vm5DZ1.js";
18
- import "./redact-hp9TOulW.js";
19
- import "./errors-CtMWwS2Z.js";
20
- import "./fs-safe-DtfhxbrI.js";
21
- import "./proxy-env-C63mMdas.js";
22
- import "./store-BbDQw3g6.js";
23
- import "./tool-images-xpqbP6RR.js";
24
-
25
- export { describeImageWithModel };
@@ -1,15 +0,0 @@
1
- import "./run-with-concurrency-BR1DXa8T.js";
2
- import "./config-CHQrpx-Q.js";
3
- import "./logger-DHIIvMxj.js";
4
- import "./paths-0d8fBoC4.js";
5
- import "./github-copilot-token-CKKBybuX.js";
6
- import "./paths-DopV9PQG.js";
7
- import "./redact-hp9TOulW.js";
8
- import "./errors-CtMWwS2Z.js";
9
- import "./proxy-env-C63mMdas.js";
10
- import "./fetch-guard-CxYB5Kg6.js";
11
- import "./api-key-rotation-8nyyt1kx.js";
12
- import { t as MemoryIndexManager } from "./manager-2UZBMCc7.js";
13
- import "./query-expansion-B_Xe41Ab.js";
14
-
15
- export { MemoryIndexManager };
@@ -1,8 +0,0 @@
1
- import "./run-with-concurrency-BR1DXa8T.js";
2
- import "./config-CHQrpx-Q.js";
3
- import "./logger-DHIIvMxj.js";
4
- import "./paths-0d8fBoC4.js";
5
- import "./github-copilot-token-CKKBybuX.js";
6
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DdPqXk8f.js";
7
-
8
- export { discoverAuthStorage, discoverModels };
@@ -1,10 +0,0 @@
1
- import "./run-with-concurrency-BR1DXa8T.js";
2
- import "./config-CHQrpx-Q.js";
3
- import "./logger-DHIIvMxj.js";
4
- import "./paths-0d8fBoC4.js";
5
- import "./accounts-C1j7HSL0.js";
6
- import "./github-copilot-token-CKKBybuX.js";
7
- import "./session-k256LJZT.js";
8
- import { t as loginWeb } from "./login-C31642Ld.js";
9
-
10
- export { loginWeb };