@beeos-ai/device-agent 0.9.1 → 0.9.5

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 (81) hide show
  1. package/dist/adapters/transport-bridge-ws.d.ts +12 -0
  2. package/dist/adapters/transport-bridge-ws.js +27 -3
  3. package/dist/adapters/transport-bridge-ws.js.map +1 -1
  4. package/dist/agent-runtime/core.d.ts +1 -1
  5. package/dist/agent-runtime/core.js +41 -0
  6. package/dist/agent-runtime/core.js.map +1 -1
  7. package/dist/app/session-manager.d.ts +14 -11
  8. package/dist/app/session-manager.js +8 -9
  9. package/dist/app/session-manager.js.map +1 -1
  10. package/dist/bootstrap.js +140 -11
  11. package/dist/bootstrap.js.map +1 -1
  12. package/dist/chat.js +11 -1
  13. package/dist/chat.js.map +1 -1
  14. package/dist/config/loader.js +3 -0
  15. package/dist/config/loader.js.map +1 -1
  16. package/dist/config/schema.d.ts +3 -0
  17. package/dist/config/schema.js +51 -15
  18. package/dist/config/schema.js.map +1 -1
  19. package/dist/fleet/adapters/process/node-process-manager.d.ts +115 -13
  20. package/dist/fleet/adapters/process/node-process-manager.js +412 -64
  21. package/dist/fleet/adapters/process/node-process-manager.js.map +1 -1
  22. package/dist/fleet/adapters/state/port-allocator.d.ts +12 -0
  23. package/dist/fleet/adapters/state/port-allocator.js +39 -5
  24. package/dist/fleet/adapters/state/port-allocator.js.map +1 -1
  25. package/dist/fleet/domain/events.d.ts +23 -1
  26. package/dist/fleet/domain/fsm.d.ts +13 -1
  27. package/dist/fleet/domain/fsm.js +70 -0
  28. package/dist/fleet/domain/fsm.js.map +1 -1
  29. package/dist/fleet/supervisor.js +30 -0
  30. package/dist/fleet/supervisor.js.map +1 -1
  31. package/dist/health/adb-track-devices.d.ts +103 -0
  32. package/dist/health/adb-track-devices.js +171 -0
  33. package/dist/health/adb-track-devices.js.map +1 -0
  34. package/dist/health/health-reporter.d.ts +67 -0
  35. package/dist/health/health-reporter.js +123 -0
  36. package/dist/health/health-reporter.js.map +1 -0
  37. package/dist/health/index.d.ts +6 -0
  38. package/dist/health/index.js +4 -0
  39. package/dist/health/index.js.map +1 -0
  40. package/dist/health/mcp-health-monitor.d.ts +190 -0
  41. package/dist/health/mcp-health-monitor.js +267 -0
  42. package/dist/health/mcp-health-monitor.js.map +1 -0
  43. package/dist/inbound/cli/main.js +8 -1
  44. package/dist/inbound/cli/main.js.map +1 -1
  45. package/dist/inbound/cli/run-command.js +11 -1
  46. package/dist/inbound/cli/run-command.js.map +1 -1
  47. package/dist/index.d.ts +1 -1
  48. package/dist/index.js.map +1 -1
  49. package/dist/mcp-client/action-mapping.d.ts +45 -0
  50. package/dist/mcp-client/action-mapping.js +224 -0
  51. package/dist/mcp-client/action-mapping.js.map +1 -0
  52. package/dist/mcp-client/autospawn.d.ts +15 -2
  53. package/dist/mcp-client/autospawn.js +82 -4
  54. package/dist/mcp-client/autospawn.js.map +1 -1
  55. package/dist/mcp-client/client.d.ts +134 -38
  56. package/dist/mcp-client/client.js +394 -87
  57. package/dist/mcp-client/client.js.map +1 -1
  58. package/dist/mcp-client/index.d.ts +5 -3
  59. package/dist/mcp-client/index.js +2 -1
  60. package/dist/mcp-client/index.js.map +1 -1
  61. package/dist/mcp-client/inproc.d.ts +2 -2
  62. package/dist/mcp-client/inproc.js.map +1 -1
  63. package/dist/mcp-client/runtime.d.ts +124 -21
  64. package/dist/mcp-client/runtime.js +18 -7
  65. package/dist/mcp-client/runtime.js.map +1 -1
  66. package/dist/model/adapters/autoglm.js +44 -45
  67. package/dist/model/adapters/autoglm.js.map +1 -1
  68. package/dist/plugins/acp/index.d.ts +35 -0
  69. package/dist/plugins/acp/index.js +121 -0
  70. package/dist/plugins/acp/index.js.map +1 -1
  71. package/dist/plugins/message-bus/busy-reply.js +13 -5
  72. package/dist/plugins/message-bus/busy-reply.js.map +1 -1
  73. package/dist/plugins/message-bus/inbound.js +12 -6
  74. package/dist/plugins/message-bus/inbound.js.map +1 -1
  75. package/dist/plugins/message-bus/index.js +14 -2
  76. package/dist/plugins/message-bus/index.js.map +1 -1
  77. package/dist/plugins/message-bus/ms-channel-notifier.d.ts +19 -7
  78. package/dist/plugins/message-bus/ms-channel-notifier.js +33 -8
  79. package/dist/plugins/message-bus/ms-channel-notifier.js.map +1 -1
  80. package/dist/ports/transport.d.ts +11 -0
  81. package/package.json +4 -3
@@ -20,10 +20,10 @@
20
20
  * Coordinates are forwarded as-is — `AgentLoop.scaleAction()` already does
21
21
  * its 0-1000 / smart_resize → absolute conversion before calling `act()`.
22
22
  */
23
- import type { Action, ActResponse, DeviceInfo, ExecuteCommandResult, ScreenshotResult, UiDumpResult } from "@beeos-ai/device-common";
23
+ import type { Action, DeviceInfo, ExecuteCommandResult, ScreenshotResult, UiDumpResult } from "@beeos-ai/device-common";
24
24
  import type { Device } from "../device/base.js";
25
25
  import type { IDevice } from "../ports/device.js";
26
- import type { ExecuteCommandOptions, IMcpRuntime, UiDumpOptions } from "./runtime.js";
26
+ import type { ActResponse, ExecuteCommandOptions, IMcpRuntime, UiDumpOptions } from "./runtime.js";
27
27
  export interface InProcMcpClientOptions {
28
28
  /**
29
29
  * High-level device handle — when provided, enables the ACP-only
@@ -1 +1 @@
1
- {"version":3,"file":"inproc.js","sourceRoot":"","sources":["../../src/mcp-client/inproc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inproc.js","sourceRoot":"","sources":["../../src/mcp-client/inproc.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,58 @@
1
1
  /**
2
2
  * IMcpRuntime — duck-typed contract that the AgentLoop depends on.
3
3
  *
4
- * Both the real HTTP `McpClient` (sibling Fastify server) and the in-process
5
- * `InProcMcpClient` (legacy Device bridge) implement this interface, so the
6
- * loop works the same way for production sandbox-backed runs and for legacy
7
- * embedded adapters that still hand over a low-level `Device`.
4
+ * Implemented by:
5
+ * - `McpClient` (sibling device-mcp-server over `@modelcontextprotocol/sdk`
6
+ * Streamable HTTP) — the production path.
7
+ * - `InProcMcpClient` (legacy in-process Device bridge) — used by tests
8
+ * and by the legacy single-binary path.
8
9
  *
9
10
  * The minimum contract for the AgentLoop is `screenshot / uiDump / act`.
10
- * `health / info / installApk / executeCommand` are optional — the ACP plugin
11
- * uses them when present (sibling-MCP path); the legacy in-process bridge
12
- * also implements them when constructed with a high-level `IDevice`.
11
+ * `info / installApk / executeCommand / fileWrite` are optional — the
12
+ * sibling-MCP path implements them all; the in-process bridge implements
13
+ * them only when constructed with a high-level `IDevice`.
14
+ *
15
+ * 0.4.0 reshape:
16
+ * - `health()` is GONE. The new SDK-based McpClient probes readiness via
17
+ * `client.connect(transport)` (which sends a real MCP `initialize`
18
+ * handshake) — there is no separate `/healthz` route any more. Callers
19
+ * that need a "wait for the server to come up" loop can use
20
+ * `McpClient.waitUntilReady()` (subclass-only convenience).
21
+ * - `callTool` is now part of the public surface so callers can drive
22
+ * the new tools (`list_available_devices`, `use_device`,
23
+ * `list_apps`, ...) without us hand-wrapping every one of them.
24
+ */
25
+ import type { Action, ActionType, AppInfo, CrashSummary, DeviceInfo, ExecuteCommandResult, Orientation, SaveScreenshotResult, ScreenRecordHandle, ScreenRecordResult, ScreenshotResult, UiDumpResult } from "@beeos-ai/device-common";
26
+ /**
27
+ * Internal client-side `act()` envelope. Pre-0.4 this was a wire type
28
+ * shipped by `device-mcp-server` over `POST /act`; that route is gone
29
+ * and the MCP server never sees the high-level `Action` shape any more.
30
+ * The new `McpClient.act()` synthesises this shape locally on top of
31
+ * `client.callTool(...)` so the existing AgentLoop / ACP handler call
32
+ * sites keep compiling.
13
33
  */
14
- import type { Action, ActResponse, DeviceInfo, ExecuteCommandResult, HealthResponse, ScreenshotResult, UiDumpResult } from "@beeos-ai/device-common";
34
+ export interface ActResponse {
35
+ ok: boolean;
36
+ action: ActionType;
37
+ durationMs?: number;
38
+ /**
39
+ * Failure descriptor. `subtype` and `actionable` are populated when the
40
+ * underlying `CallToolResult` carried `structuredContent.{subtype,actionable}`
41
+ * (post-r3 mobile-mcp-parity model on the server side); the agent loop /
42
+ * reflector use these to distinguish "the LLM gave us bad args" (actionable)
43
+ * from "the device crashed" (non-actionable, retryable / fatal).
44
+ */
45
+ error?: {
46
+ code?: string;
47
+ message: string;
48
+ /** Stable error subtype mirrored from `DeviceError.subtype` (e.g. `invalid_args`, `no_device`). */
49
+ subtype?: string;
50
+ /** True when the user / LLM can fix this without code changes (subtype-derived on the server). */
51
+ actionable?: boolean;
52
+ };
53
+ /** Tool-call structured payload for read verbs (`screenshot`, `ui_dump`, ...). */
54
+ result?: unknown;
55
+ }
15
56
  export interface UiDumpOptions {
16
57
  query?: string;
17
58
  format?: "compact" | "raw";
@@ -20,28 +61,90 @@ export interface ExecuteCommandOptions {
20
61
  timeoutS?: number;
21
62
  cwd?: string;
22
63
  }
64
+ /**
65
+ * Generic CallToolResult — `structured` carries the typed payload, `raw`
66
+ * is the full SDK CallToolResult for callers that want content / isError.
67
+ */
68
+ export interface CallToolOutput<T = unknown> {
69
+ ok: boolean;
70
+ structured?: T;
71
+ /** SDK CallToolResult shape — `{ content, structuredContent, isError? }`. */
72
+ raw: unknown;
73
+ durationMs: number;
74
+ }
75
+ export interface ScreenshotToFileOptions {
76
+ /** Optional display index — only meaningful on multi-display desktop backends. */
77
+ displayId?: number;
78
+ /** Cap the larger image edge to this many pixels (server downsamples). */
79
+ maxEdge?: number;
80
+ /** JPEG quality 1-100; ignored when format is `png`. */
81
+ quality?: number;
82
+ /** Wire format the file should be encoded as. */
83
+ format?: "png" | "jpeg";
84
+ }
85
+ export interface StartScreenRecordOptions {
86
+ /** Caller-supplied host destination for the eventual MP4. */
87
+ output?: string;
88
+ /** Device-side hard cap; server clamps to [1,300]. */
89
+ timeLimitS?: number;
90
+ }
91
+ export interface SwipeDirectionOptions {
92
+ /** Anchor x-coordinate (defaults to screen center). */
93
+ x?: number;
94
+ /** Anchor y-coordinate. */
95
+ y?: number;
96
+ /** Swipe distance in device pixels. */
97
+ distance?: number;
98
+ /** Server-clamped to [1, 10000]. */
99
+ durationMs?: number;
100
+ }
101
+ export interface ListAppsOptions {
102
+ includeSystem?: boolean;
103
+ launchableOnly?: boolean;
104
+ }
23
105
  export interface IMcpRuntime {
24
106
  screenshot(): Promise<ScreenshotResult>;
25
107
  uiDump(opts?: UiDumpOptions): Promise<UiDumpResult>;
26
108
  act(action: Action): Promise<ActResponse>;
27
- health?(): Promise<HealthResponse>;
28
- /** Best-effort device descriptor. Optional — present on real MCP server and on InProc when wired with an `IDevice`. */
109
+ /** Best-effort device descriptor. Optional. */
29
110
  info?(): Promise<DeviceInfo>;
30
111
  /** Install a local APK / package. Optional. */
31
112
  installApk?(path: string): Promise<void>;
32
113
  /** Run a shell command on the sandbox. Optional. */
33
114
  executeCommand?(body: string, opts?: ExecuteCommandOptions): Promise<ExecuteCommandResult>;
115
+ /** Write `bytes` to an absolute device-local `path`. Optional. */
116
+ fileWrite?(path: string, bytes: Buffer): Promise<void>;
34
117
  /**
35
- * Write `bytes` to an absolute device-local `path`. Optional.
36
- *
37
- * Used by the Resource Resolution Layer to push downloaded URL
38
- * payloads onto the device before the VLM ever sees the prompt.
39
- * Implementations:
40
- * - real `McpClient` → `callTool("file_write", { path, contentB64 })`
41
- * - `InProcMcpClient` is allowed to throw `"unsupported"` (the
42
- * legacy in-process bridge does not have a generic file-write
43
- * primitive; production paths always go through the sibling
44
- * `device-mcp-server` HTTP service).
118
+ * Generic MCP tool dispatch — used for the new 0.4.0 tools
119
+ * (`list_available_devices`, `use_device`, `list_apps`, ...) that don't
120
+ * have a dedicated convenience method on this interface.
121
+ * Optional — the legacy in-proc path may not implement it.
45
122
  */
46
- fileWrite?(path: string, bytes: Buffer): Promise<void>;
123
+ callTool?<T = unknown>(name: string, args?: Record<string, unknown>): Promise<CallToolOutput<T>>;
124
+ /** Save a screenshot directly to a host filesystem path (avoids 16 MB JSON-RPC body cap). */
125
+ screenshotToFile?(path: string, opts?: ScreenshotToFileOptions): Promise<SaveScreenshotResult>;
126
+ /** Start `adb shell screenrecord` (or backend equivalent). */
127
+ startScreenRecord?(opts?: StartScreenRecordOptions): Promise<ScreenRecordHandle>;
128
+ /** Stop a recording started by `startScreenRecord` and pull it to `path`. */
129
+ stopScreenRecord?(id: string, path?: string): Promise<ScreenRecordResult>;
130
+ /** High-level swipe(`up | down | left | right`) — backend computes coordinates. */
131
+ swipeDirection?(direction: "up" | "down" | "left" | "right", opts?: SwipeDirectionOptions): Promise<void>;
132
+ /** Press a friendly hardware / nav button (`BACK`, `HOME`, `DPAD_*`, `VOLUME_*`, …). */
133
+ pressButton?(button: string): Promise<void>;
134
+ /** Force-stop an Android app by package id. */
135
+ terminateApp?(pkg: string): Promise<void>;
136
+ /** Open a URL on the device (browser intent / `open` / `xdg-open`). */
137
+ openUrl?(url: string): Promise<void>;
138
+ /** Enumerate installed apps (Android — `system: true` filters first-party). */
139
+ listApps?(opts?: ListAppsOptions): Promise<AppInfo[]>;
140
+ /** Summarise recent crashes (`dumpsys dropbox`). */
141
+ listCrashes?(): Promise<CrashSummary[]>;
142
+ /** Fetch full crash text by id from `listCrashes`. */
143
+ getCrash?(id: string): Promise<string>;
144
+ /** Uninstall an Android app by package id. */
145
+ uninstallApp?(pkg: string): Promise<void>;
146
+ /** Set device orientation. */
147
+ setOrientation?(orientation: Orientation): Promise<void>;
148
+ /** Read current orientation. */
149
+ getOrientation?(): Promise<Orientation>;
47
150
  }
@@ -1,15 +1,26 @@
1
1
  /**
2
2
  * IMcpRuntime — duck-typed contract that the AgentLoop depends on.
3
3
  *
4
- * Both the real HTTP `McpClient` (sibling Fastify server) and the in-process
5
- * `InProcMcpClient` (legacy Device bridge) implement this interface, so the
6
- * loop works the same way for production sandbox-backed runs and for legacy
7
- * embedded adapters that still hand over a low-level `Device`.
4
+ * Implemented by:
5
+ * - `McpClient` (sibling device-mcp-server over `@modelcontextprotocol/sdk`
6
+ * Streamable HTTP) — the production path.
7
+ * - `InProcMcpClient` (legacy in-process Device bridge) — used by tests
8
+ * and by the legacy single-binary path.
8
9
  *
9
10
  * The minimum contract for the AgentLoop is `screenshot / uiDump / act`.
10
- * `health / info / installApk / executeCommand` are optional — the ACP plugin
11
- * uses them when present (sibling-MCP path); the legacy in-process bridge
12
- * also implements them when constructed with a high-level `IDevice`.
11
+ * `info / installApk / executeCommand / fileWrite` are optional — the
12
+ * sibling-MCP path implements them all; the in-process bridge implements
13
+ * them only when constructed with a high-level `IDevice`.
14
+ *
15
+ * 0.4.0 reshape:
16
+ * - `health()` is GONE. The new SDK-based McpClient probes readiness via
17
+ * `client.connect(transport)` (which sends a real MCP `initialize`
18
+ * handshake) — there is no separate `/healthz` route any more. Callers
19
+ * that need a "wait for the server to come up" loop can use
20
+ * `McpClient.waitUntilReady()` (subclass-only convenience).
21
+ * - `callTool` is now part of the public surface so callers can drive
22
+ * the new tools (`list_available_devices`, `use_device`,
23
+ * `list_apps`, ...) without us hand-wrapping every one of them.
13
24
  */
14
25
  export {};
15
26
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/mcp-client/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/mcp-client/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
@@ -58,8 +58,8 @@ export function renderAutoGLMSystemPromptZh(date = new Date()) {
58
58
  return `今天的日期是: ${formatCnDate(date)}
59
59
  你是一个智能体分析专家,可以根据操作历史和当前状态图执行一系列操作来完成任务。
60
60
  你必须严格按照要求输出以下格式:
61
- <think> {think} </think>
62
- <answer> {action} </answer>
61
+ <think>{think}</think>
62
+ <answer>{action}</answer>
63
63
 
64
64
  其中:
65
65
  - {think} 是对你为什么选择这个操作的简短推理说明。
@@ -67,37 +67,37 @@ export function renderAutoGLMSystemPromptZh(date = new Date()) {
67
67
 
68
68
  操作指令及其作用如下:
69
69
  - do(action="Launch", app="xxx")
70
- Launch是启动目标app的操作,这比通过主屏幕导航更快。此操作完成后,您将自动收到结果状态的截图。
70
+ Launch是启动目标app的操作,这比通过主屏幕导航更快。此操作完成后,您将自动收到结果状态的截图。
71
71
  - do(action="Tap", element=[x,y])
72
- Tap是点击操作,点击屏幕上的特定点。可用此操作点击按钮、选择项目、从主屏幕打开应用程序,或与任何可点击的用户界面元素进行交互。坐标系统从左上角 (0,0) 开始到右下角(999,999)结束。此操作完成后,您将自动收到结果状态的截图。
72
+ Tap是点击操作,点击屏幕上的特定点。可用此操作点击按钮、选择项目、从主屏幕打开应用程序,或与任何可点击的用户界面元素进行交互。坐标系统从左上角 (0,0) 开始到右下角(999,999)结束。此操作完成后,您将自动收到结果状态的截图。
73
73
  - do(action="Tap", element=[x,y], message="重要操作")
74
- 基本功能同Tap,点击涉及财产、支付、隐私等敏感按钮时触发。
74
+ 基本功能同Tap,点击涉及财产、支付、隐私等敏感按钮时触发。
75
75
  - do(action="Type", text="xxx")
76
- Type是输入操作,在当前聚焦的输入框中输入文本。使用此操作前,请确保输入框已被聚焦(先点击它)。输入的文本将像使用键盘输入一样输入。重要提示:手机可能正在使用 ADB 键盘,该键盘不会像普通键盘那样占用屏幕空间。要确认键盘已激活,请查看屏幕底部是否显示 'ADB Keyboard {ON}' 类似的文本,或者检查输入框是否处于激活/高亮状态。不要仅仅依赖视觉上的键盘显示。自动清除文本:当你使用输入操作时,输入框中现有的任何文本(包括占位符文本和实际输入)都会在输入新文本前自动清除。你无需在输入前手动清除文本——直接使用输入操作输入所需文本即可。操作完成后,你将自动收到结果状态的截图。
76
+ Type是输入操作,在当前聚焦的输入框中输入文本。使用此操作前,请确保输入框已被聚焦(先点击它)。输入的文本将像使用键盘输入一样输入。重要提示:手机可能正在使用 ADB 键盘,该键盘不会像普通键盘那样占用屏幕空间。要确认键盘已激活,请查看屏幕底部是否显示 'ADB Keyboard {ON}' 类似的文本,或者检查输入框是否处于激活/高亮状态。不要仅仅依赖视觉上的键盘显示。自动清除文本:当你使用输入操作时,输入框中现有的任何文本(包括占位符文本和实际输入)都会在输入新文本前自动清除。你无需在输入前手动清除文本——直接使用输入操作输入所需文本即可。操作完成后,你将自动收到结果状态的截图。
77
77
  - do(action="Type_Name", text="xxx")
78
- Type_Name是输入人名的操作,基本功能同Type。
78
+ Type_Name是输入人名的操作,基本功能同Type。
79
79
  - do(action="Interact")
80
- Interact是当有多个满足条件的选项时而触发的交互操作,询问用户如何选择。
80
+ Interact是当有多个满足条件的选项时而触发的交互操作,询问用户如何选择。
81
81
  - do(action="Swipe", start=[x1,y1], end=[x2,y2])
82
- Swipe是滑动操作,通过从起始坐标拖动到结束坐标来执行滑动手势。可用于滚动内容、在屏幕之间导航、下拉通知栏以及项目栏或进行基于手势的导航。坐标系统从左上角 (0,0) 开始到右下角(999,999)结束。滑动持续时间会自动调整以实现自然的移动。此操作完成后,您将自动收到结果状态的截图。
82
+ Swipe是滑动操作,通过从起始坐标拖动到结束坐标来执行滑动手势。可用于滚动内容、在屏幕之间导航、下拉通知栏以及项目栏或进行基于手势的导航。坐标系统从左上角 (0,0) 开始到右下角(999,999)结束。滑动持续时间会自动调整以实现自然的移动。此操作完成后,您将自动收到结果状态的截图。
83
83
  - do(action="Note", message="要记住的关键信息")
84
- 记录当前页面或操作中需要保留以备后续使用的关键信息(例如:验证码、密码、计算结果、用户输入),message 字段必须填入要保留的实际文本。如无明确信息请使用 message="True" 表示仅标记当前页面。
84
+ 记录当前页面或操作中需要保留以备后续使用的关键信息(例如:验证码、密码、计算结果、用户输入),message 字段必须填入要保留的实际文本。如无明确信息请使用 message="True" 表示仅标记当前页面。
85
85
  - do(action="Call_API", instruction="xxx")
86
- 总结或评论当前页面或已记录的内容。
86
+ 总结或评论当前页面或已记录的内容。
87
87
  - do(action="Long Press", element=[x,y])
88
- Long Pres是长按操作,在屏幕上的特定点长按指定时间。可用于触发上下文菜单、选择文本或激活长按交互。坐标系统从左上角 (0,0) 开始到右下角(999,999)结束。此操作完成后,您将自动收到结果状态的屏幕截图。
88
+ Long Pres是长按操作,在屏幕上的特定点长按指定时间。可用于触发上下文菜单、选择文本或激活长按交互。坐标系统从左上角 (0,0) 开始到右下角(999,999)结束。此操作完成后,您将自动收到结果状态的屏幕截图。
89
89
  - do(action="Double Tap", element=[x,y])
90
- Double Tap在屏幕上的特定点快速连续点按两次。使用此操作可以激活双击交互,如缩放、选择文本或打开项目。坐标系统从左上角 (0,0) 开始到右下角(999,999)结束。此操作完成后,您将自动收到结果状态的截图。
90
+ Double Tap在屏幕上的特定点快速连续点按两次。使用此操作可以激活双击交互,如缩放、选择文本或打开项目。坐标系统从左上角 (0,0) 开始到右下角(999,999)结束。此操作完成后,您将自动收到结果状态的截图。
91
91
  - do(action="Take_over", message="xxx")
92
- Take_over是接管操作,表示在登录和验证阶段需要用户协助。
92
+ Take_over是接管操作,表示在登录和验证阶段需要用户协助。
93
93
  - do(action="Back")
94
- 导航返回到上一个屏幕或关闭当前对话框。相当于按下 Android 的返回按钮。使用此操作可以从更深的屏幕返回、关闭弹出窗口或退出当前上下文。此操作完成后,您将自动收到结果状态的截图。
94
+ 导航返回到上一个屏幕或关闭当前对话框。相当于按下 Android 的返回按钮。使用此操作可以从更深的屏幕返回、关闭弹出窗口或退出当前上下文。此操作完成后,您将自动收到结果状态的截图。
95
95
  - do(action="Home")
96
- Home是回到系统桌面的操作,相当于按下 Android 主屏幕按钮。使用此操作可退出当前应用并返回启动器,或从已知状态启动新任务。此操作完成后,您将自动收到结果状态的截图。
96
+ Home是回到系统桌面的操作,相当于按下 Android 主屏幕按钮。使用此操作可退出当前应用并返回启动器,或从已知状态启动新任务。此操作完成后,您将自动收到结果状态的截图。
97
97
  - do(action="Wait", duration="x seconds")
98
- 等待页面加载,x为需要等待多少秒。
98
+ 等待页面加载,x为需要等待多少秒。
99
99
  - finish(message="xxx")
100
- finish是结束任务的操作,表示准确完整完成任务,message是终止信息。
100
+ finish是结束任务的操作,表示准确完整完成任务,message是终止信息。
101
101
 
102
102
  必须遵循的规则:
103
103
  1. 在执行任何操作前,先检查当前app是否是目标app,如果不是,先执行 Launch。
@@ -143,46 +143,46 @@ Your output should STRICTLY follow the format:
143
143
  - **Tap**
144
144
  Perform a tap action on a specified screen area. The element is a list of 2 integers, representing the coordinates of the tap point.
145
145
  **Example**:
146
- \`\`\`
146
+ <answer>
147
147
  do(action="Tap", element=[x,y])
148
- \`\`\`
148
+ </answer>
149
149
  - **Type**
150
150
  Enter text into the currently focused input field.
151
151
  **Example**:
152
- \`\`\`
152
+ <answer>
153
153
  do(action="Type", text="Hello World")
154
- \`\`\`
154
+ </answer>
155
155
  - **Swipe**
156
156
  Perform a swipe action with start point and end point.
157
157
  **Examples**:
158
- \`\`\`
158
+ <answer>
159
159
  do(action="Swipe", start=[x1,y1], end=[x2,y2])
160
- \`\`\`
160
+ </answer>
161
161
  - **Long Press**
162
162
  Perform a long press action on a specified screen area.
163
163
  You can add the element to the action to specify the long press area. The element is a list of 2 integers, representing the coordinates of the long press point.
164
164
  **Example**:
165
- \`\`\`
165
+ <answer>
166
166
  do(action="Long Press", element=[x,y])
167
- \`\`\`
167
+ </answer>
168
168
  - **Launch**
169
169
  Launch an app. Try to use launch action when you need to launch an app. Check the instruction to choose the right app before you use this action.
170
170
  **Example**:
171
- \`\`\`
171
+ <answer>
172
172
  do(action="Launch", app="Settings")
173
- \`\`\`
173
+ </answer>
174
174
  - **Back**
175
175
  Press the Back button to navigate to the previous screen.
176
176
  **Example**:
177
- \`\`\`
177
+ <answer>
178
178
  do(action="Back")
179
- \`\`\`
179
+ </answer>
180
180
  - **Finish**
181
181
  Terminate the program and optionally print a message.
182
182
  **Example**:
183
- \`\`\`
183
+ <answer>
184
184
  finish(message="Task completed.")
185
- \`\`\`
185
+ </answer>
186
186
 
187
187
  REMEMBER:
188
188
  - Think before you act: Always analyze the current UI and the best course of action before executing any step, and output in <think> part.
@@ -218,6 +218,7 @@ class AutoGLMAdapter extends ModelAdapter {
218
218
  }
219
219
  parseResponse(raw) {
220
220
  const [thinking, actionStr] = splitThinkingAction(raw);
221
+ // return { actionType: "takeover", params: { message: "test takeover" }, thinking, coordSystem: "0-1000", shouldFinish: false, finishMessage: null };
221
222
  return parseAction(actionStr, thinking);
222
223
  }
223
224
  updateContext(context, response, parsed) {
@@ -243,17 +244,9 @@ registerAdapter(new AutoGLMAdapter());
243
244
  /* ─────────────────────────────────────────────────────────────────────────── */
244
245
  function buildUserMsg(task, screenInfo, lang, isFirst) {
245
246
  const appInfo = JSON.stringify({ current_app: screenInfo.currentApp });
246
- let text;
247
- if (lang === "cn") {
248
- text = isFirst
249
- ? `${task}\n\n** 屏幕信息 **\n\n${appInfo}`
250
- : `** 屏幕信息 **\n\n${appInfo}`;
251
- }
252
- else {
253
- text = isFirst
254
- ? `${task}\n\n** Screen Info **\n\n${appInfo}`
255
- : `** Screen Info **\n\n${appInfo}`;
256
- }
247
+ const text = isFirst
248
+ ? `${task}\n\n${appInfo}`
249
+ : `** Screen Info **\n\n${appInfo}`;
257
250
  const content = [];
258
251
  if (screenInfo.imageRef) {
259
252
  content.push({
@@ -316,6 +309,12 @@ function parseDoAction(s, thinking) {
316
309
  const [x, y] = nums.length >= 4
317
310
  ? [Math.floor((nums[0] + nums[2]) / 2), Math.floor((nums[1] + nums[3]) / 2)]
318
311
  : [nums[0] ?? 500, nums[1] ?? 500];
312
+ if (norm === "tap") {
313
+ const msgM = s.match(/message\s*=\s*"([^"]+)"/);
314
+ if (msgM?.[1]) {
315
+ return { actionType: "takeover", params: { message: msgM[1] }, thinking, coordSystem: "0-1000", shouldFinish: false, finishMessage: null };
316
+ }
317
+ }
319
318
  return { actionType: norm, params: { x, y }, thinking, coordSystem: "0-1000", shouldFinish: false, finishMessage: null };
320
319
  }
321
320
  if (norm === "swipe") {
@@ -386,11 +385,11 @@ function parsedToActionStr(parsed) {
386
385
  if (t === "finish")
387
386
  return `finish(message="${parsed.finishMessage ?? ""}")`;
388
387
  if (t === "tap")
389
- return `do(action="Tap", element=[${p.x}, ${p.y}])`;
388
+ return `do(action="Tap", element=[${p.x},${p.y}])`;
390
389
  if (t === "type")
391
390
  return `do(action="Type", text="${p.text}")`;
392
391
  if (t === "swipe")
393
- return `do(action="Swipe", start=[${p.start_x}, ${p.start_y}], end=[${p.end_x}, ${p.end_y}])`;
392
+ return `do(action="Swipe", start=[${p.start_x},${p.start_y}], end=[${p.end_x},${p.end_y}])`;
394
393
  if (t === "open_app")
395
394
  return `do(action="Launch", app="${p.app_name}")`;
396
395
  if (t === "press_back")
@@ -1 +1 @@
1
- {"version":3,"file":"autoglm.js","sourceRoot":"","sources":["../../../src/model/adapters/autoglm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoglm.js","sourceRoot":"","sources":["../../../src/model/adapters/autoglm.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@
29
29
  * is passed; in that mode only the http-debug plugin is useful.
30
30
  */
31
31
  import { deriveFixedSessionId } from "../../app/fixed-session-id.js";
32
+ import { McpClient } from "../../mcp-client/index.js";
32
33
  import type { IMcpRuntime } from "../../mcp-client/runtime.js";
33
34
  import type { IBridgeTransport } from "../../ports/transport.js";
34
35
  import type { AgentPlugin, PluginContext } from "../../ports/plugin.js";
@@ -47,6 +48,36 @@ export interface AcpPluginOptions {
47
48
  };
48
49
  /** Optional pre-built transport (used by tests for mock injection). */
49
50
  transportOverride?: IBridgeTransport;
51
+ /**
52
+ * Optional HTTP MCP client. When provided, the plugin spins up a
53
+ * MCPHealthMonitor + HealthReporter pair that publishes
54
+ * `device/health` notifications over the Bridge transport so the
55
+ * control plane can render device-level connectivity in the
56
+ * web/desktop/mobile UIs (instance.connectivity_reason field).
57
+ *
58
+ * Pass `null` (or omit) to opt out — non-fleet single-process /
59
+ * in-process MCP installations don't benefit because they share
60
+ * a process with their device adapter and there's no separate
61
+ * MCP server health to monitor.
62
+ */
63
+ mcpClient?: McpClient | null;
64
+ /**
65
+ * MCP HTTP endpoint URL string. Used by the active probe (60s
66
+ * `initialize` JSON-RPC) inside the health monitor. Falls back to
67
+ * the McpClient's default URL when omitted; only really needed when
68
+ * the McpClient was constructed with a non-default `baseUrl`.
69
+ */
70
+ mcpEndpoint?: string;
71
+ /**
72
+ * Optional ADB serial of the target Android device. When provided
73
+ * (Android self-hosted path), the plugin spins up an
74
+ * `AdbTrackDevices` push source wired into MCPHealthMonitor so USB
75
+ * unplug events propagate to the cluster within ~2-3s instead of
76
+ * waiting for the 60s active probe. Empty / undefined disables the
77
+ * push path (desktop / agentbay / openclaw paths fall back to the
78
+ * passive callResult + active probe combination).
79
+ */
80
+ adbSerial?: string;
50
81
  }
51
82
  export declare class AcpPlugin implements AgentPlugin {
52
83
  private readonly opts;
@@ -55,6 +86,10 @@ export declare class AcpPlugin implements AgentPlugin {
55
86
  private transport;
56
87
  private boundSid;
57
88
  private unbind;
89
+ private healthMonitor;
90
+ private healthReporter;
91
+ private adbTracker;
92
+ private adbTrackerOnChange;
58
93
  constructor(opts: AcpPluginOptions);
59
94
  init(ctx: PluginContext): Promise<void>;
60
95
  start(): Promise<void>;