myagent-ai 1.47.11 → 1.47.12

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/main.py CHANGED
@@ -83,11 +83,23 @@ def _open_browser_kiosk(url: str):
83
83
  """打开浏览器窗口,使用系统已安装的 Chrome 或默认浏览器。
84
84
 
85
85
  [v1.34.0] 优先使用系统已安装的 Chrome/Edge,而非 DrissionPage 控制的浏览器。
86
+ [v1.47.12] Termux 环境: 优先使用 termux-open-url(调用 Android 系统浏览器)。
86
87
  """
87
88
  import shutil
88
89
  import subprocess
89
90
  import platform
90
91
 
92
+ # [v1.47.12] Termux 环境: 优先使用 termux-open-url 打开 Android 系统浏览器
93
+ # 在 Termux proot 环境下,xdg-open 无法工作(Permission denied),
94
+ # 但 termux-open-url 可以跨 proot 边界调用 Android 系统浏览器
95
+ termux_open = shutil.which("termux-open-url")
96
+ if termux_open:
97
+ try:
98
+ subprocess.Popen([termux_open, url], start_new_session=True)
99
+ return
100
+ except Exception:
101
+ pass
102
+
91
103
  chrome_path = None
92
104
  system = platform.system()
93
105
 
@@ -1056,6 +1068,7 @@ def create_tray_icon(app: MyAgentApp, web_port: int = 8767):
1056
1068
  app.logger.warning(f"无法打开不存在的路径: {path}")
1057
1069
  return
1058
1070
  import subprocess
1071
+ import shutil
1059
1072
  import platform as pf
1060
1073
  system = pf.system()
1061
1074
  try:
@@ -1064,7 +1077,12 @@ def create_tray_icon(app: MyAgentApp, web_port: int = 8767):
1064
1077
  elif system == "Darwin":
1065
1078
  subprocess.Popen(["open", path])
1066
1079
  else:
1067
- subprocess.Popen(["xdg-open", path])
1080
+ # [v1.47.12] Termux 环境: 优先使用 termux-open-url
1081
+ termux_open = shutil.which("termux-open-url")
1082
+ if termux_open:
1083
+ subprocess.Popen([termux_open, path], start_new_session=True)
1084
+ else:
1085
+ subprocess.Popen(["xdg-open", path])
1068
1086
  except Exception as e:
1069
1087
  app.logger.warning(f"无法打开路径 {path}: {e}")
1070
1088
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myagent-ai",
3
- "version": "1.47.11",
3
+ "version": "1.47.12",
4
4
  "description": "本地桌面端执行型AI助手 - Open Interpreter 风格 | Local Desktop Execution-Oriented AI Assistant",
5
5
  "main": "main.py",
6
6
  "bin": {
package/start.js CHANGED
@@ -754,7 +754,11 @@ function cmdRun(pkgDir, userArgs) {
754
754
  try {
755
755
  if (IS_WIN) execSync(`start "" "${url}"`);
756
756
  else if (process.platform === "darwin") execSync(`open "${url}"`);
757
- else execSync(`xdg-open "${url}"`);
757
+ else {
758
+ // [v1.47.12] Termux 环境: 优先使用 termux-open-url(Android 系统浏览器)
759
+ try { execSync(`termux-open-url "${url}"`); }
760
+ catch (_) { execSync(`xdg-open "${url}"`); }
761
+ }
758
762
  } catch (_) {}
759
763
  }
760
764
  });
package/tray_manager.py CHANGED
@@ -347,19 +347,37 @@ def restart_server() -> bool:
347
347
 
348
348
  def open_dashboard():
349
349
  """Open chat dashboard in default browser"""
350
- import webbrowser
350
+ import shutil, subprocess
351
351
  port = _read_port_from_env()
352
352
  url = f"http://localhost:{port}"
353
353
  log(f"Opening dashboard: {url}")
354
+ # [v1.47.12] Termux 环境: 优先使用 termux-open-url
355
+ termux_open = shutil.which("termux-open-url")
356
+ if termux_open:
357
+ try:
358
+ subprocess.Popen([termux_open, url], start_new_session=True)
359
+ return
360
+ except Exception:
361
+ pass
362
+ import webbrowser
354
363
  webbrowser.open(url)
355
364
 
356
365
 
357
366
  def open_admin():
358
367
  """Open admin dashboard in default browser"""
359
- import webbrowser
368
+ import shutil, subprocess
360
369
  port = _read_port_from_env()
361
370
  url = f"http://localhost:{port}/admin"
362
371
  log(f"Opening admin panel: {url}")
372
+ # [v1.47.12] Termux 环境: 优先使用 termux-open-url
373
+ termux_open = shutil.which("termux-open-url")
374
+ if termux_open:
375
+ try:
376
+ subprocess.Popen([termux_open, url], start_new_session=True)
377
+ return
378
+ except Exception:
379
+ pass
380
+ import webbrowser
363
381
  webbrowser.open(url)
364
382
 
365
383
 
package/web/api_server.py CHANGED
@@ -6424,10 +6424,21 @@ window.addEventListener('beforeunload', function() {{
6424
6424
  "message": message,
6425
6425
  })
6426
6426
  else:
6427
- # 找不到 Chrome,降级使用 webbrowser.open
6428
- import webbrowser
6429
- if login_url:
6430
- webbrowser.open(login_url)
6427
+ # 找不到 Chrome,降级使用系统浏览器
6428
+ import shutil, subprocess as _sp
6429
+ _opened = False
6430
+ # [v1.47.12] Termux 环境: 优先使用 termux-open-url
6431
+ termux_open = shutil.which("termux-open-url")
6432
+ if termux_open and login_url:
6433
+ try:
6434
+ _sp.Popen([termux_open, login_url], start_new_session=True)
6435
+ _opened = True
6436
+ except Exception:
6437
+ pass
6438
+ if not _opened:
6439
+ import webbrowser
6440
+ if login_url:
6441
+ webbrowser.open(login_url)
6431
6442
  logger.info(f"桌面环境: 未找到 Chrome,使用系统默认浏览器打开 {login_url}")
6432
6443
 
6433
6444
  display_name = site.get('display_name', name)