@beeos-ai/device-agent 0.15.0 → 0.16.0

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 (240) hide show
  1. package/README.md +35 -0
  2. package/dist/adapters/agent-gateway-client.d.ts +6 -68
  3. package/dist/adapters/agent-gateway-client.js +7 -67
  4. package/dist/adapters/agent-gateway-client.js.map +1 -1
  5. package/dist/adapters/device-compat.d.ts +1 -2
  6. package/dist/adapters/device-compat.js +2 -52
  7. package/dist/adapters/device-compat.js.map +1 -1
  8. package/dist/agent-runtime/action-guard.js +92 -17
  9. package/dist/agent-runtime/action-guard.js.map +1 -1
  10. package/dist/agent-runtime/adapters/base.d.ts +13 -9
  11. package/dist/agent-runtime/adapters/base.js.map +1 -1
  12. package/dist/agent-runtime/adapters/general-flash.d.ts +3 -3
  13. package/dist/agent-runtime/adapters/general-flash.js +2 -2
  14. package/dist/agent-runtime/adapters/general-flash.js.map +1 -1
  15. package/dist/agent-runtime/adapters/native-tools.d.ts +56 -0
  16. package/dist/agent-runtime/adapters/native-tools.js +416 -0
  17. package/dist/agent-runtime/adapters/native-tools.js.map +1 -0
  18. package/dist/agent-runtime/adapters/openai.d.ts +1 -2
  19. package/dist/agent-runtime/adapters/openai.js +5 -5
  20. package/dist/agent-runtime/adapters/openai.js.map +1 -1
  21. package/dist/agent-runtime/adapters/pro.d.ts +7 -37
  22. package/dist/agent-runtime/adapters/pro.js +7 -249
  23. package/dist/agent-runtime/adapters/pro.js.map +1 -1
  24. package/dist/agent-runtime/advanced/app-card.js +9 -2
  25. package/dist/agent-runtime/advanced/app-card.js.map +1 -1
  26. package/dist/agent-runtime/advanced/subgoal-verifier.d.ts +1 -0
  27. package/dist/agent-runtime/advanced/subgoal-verifier.js +30 -36
  28. package/dist/agent-runtime/advanced/subgoal-verifier.js.map +1 -1
  29. package/dist/agent-runtime/advanced/task-state.js +4 -9
  30. package/dist/agent-runtime/advanced/task-state.js.map +1 -1
  31. package/dist/agent-runtime/agent-runner.d.ts +2 -11
  32. package/dist/agent-runtime/agent-runner.js +69 -34
  33. package/dist/agent-runtime/agent-runner.js.map +1 -1
  34. package/dist/agent-runtime/core.d.ts +24 -46
  35. package/dist/agent-runtime/core.js +161 -228
  36. package/dist/agent-runtime/core.js.map +1 -1
  37. package/dist/agent-runtime/execution-checks.d.ts +40 -0
  38. package/dist/agent-runtime/execution-checks.js +133 -0
  39. package/dist/agent-runtime/execution-checks.js.map +1 -0
  40. package/dist/agent-runtime/execution-mode.d.ts +1 -8
  41. package/dist/agent-runtime/execution-mode.js +10 -30
  42. package/dist/agent-runtime/execution-mode.js.map +1 -1
  43. package/dist/agent-runtime/feedback.d.ts +4 -28
  44. package/dist/agent-runtime/feedback.js +4 -26
  45. package/dist/agent-runtime/feedback.js.map +1 -1
  46. package/dist/agent-runtime/form-prerequisites.d.ts +3 -0
  47. package/dist/agent-runtime/form-prerequisites.js +52 -0
  48. package/dist/agent-runtime/form-prerequisites.js.map +1 -0
  49. package/dist/agent-runtime/index.d.ts +2 -8
  50. package/dist/agent-runtime/index.js +2 -8
  51. package/dist/agent-runtime/index.js.map +1 -1
  52. package/dist/agent-runtime/{modes/orchestrator → knowledge}/app-guide.d.ts +1 -1
  53. package/dist/agent-runtime/{modes/orchestrator → knowledge}/app-guide.js +1 -1
  54. package/dist/agent-runtime/knowledge/app-guide.js.map +1 -0
  55. package/dist/agent-runtime/models/base.d.ts +3 -1
  56. package/dist/agent-runtime/models/client.js +30 -9
  57. package/dist/agent-runtime/models/client.js.map +1 -1
  58. package/dist/agent-runtime/models/reasoning.d.ts +10 -0
  59. package/dist/agent-runtime/models/reasoning.js +29 -0
  60. package/dist/agent-runtime/models/reasoning.js.map +1 -0
  61. package/dist/agent-runtime/models/runtime-registry.d.ts +2 -1
  62. package/dist/agent-runtime/models/runtime-registry.js +4 -2
  63. package/dist/agent-runtime/models/runtime-registry.js.map +1 -1
  64. package/dist/agent-runtime/models/vlm/autoglm.js +6 -2
  65. package/dist/agent-runtime/models/vlm/autoglm.js.map +1 -1
  66. package/dist/agent-runtime/models/vlm/base.js +1 -12
  67. package/dist/agent-runtime/models/vlm/base.js.map +1 -1
  68. package/dist/agent-runtime/models/vlm/index.d.ts +0 -4
  69. package/dist/agent-runtime/models/vlm/index.js +0 -4
  70. package/dist/agent-runtime/models/vlm/index.js.map +1 -1
  71. package/dist/agent-runtime/modes/hybrid/index.d.ts +2 -12
  72. package/dist/agent-runtime/modes/hybrid/index.js +10 -27
  73. package/dist/agent-runtime/modes/hybrid/index.js.map +1 -1
  74. package/dist/agent-runtime/modes/hybrid/planner/base.d.ts +4 -44
  75. package/dist/agent-runtime/modes/hybrid/planner/base.js +3 -21
  76. package/dist/agent-runtime/modes/hybrid/planner/base.js.map +1 -1
  77. package/dist/agent-runtime/modes/hybrid/planner/llm-planner.d.ts +1 -1
  78. package/dist/agent-runtime/modes/hybrid/planner/llm-planner.js +9 -6
  79. package/dist/agent-runtime/modes/hybrid/planner/llm-planner.js.map +1 -1
  80. package/dist/agent-runtime/modes/hybrid/planner/prompts.d.ts +1 -17
  81. package/dist/agent-runtime/modes/hybrid/planner/prompts.js +65 -160
  82. package/dist/agent-runtime/modes/hybrid/planner/prompts.js.map +1 -1
  83. package/dist/agent-runtime/plan-executor.d.ts +13 -14
  84. package/dist/agent-runtime/plan-executor.js +236 -122
  85. package/dist/agent-runtime/plan-executor.js.map +1 -1
  86. package/dist/agent-runtime/pro-memory.js +1 -1
  87. package/dist/agent-runtime/pro-memory.js.map +1 -1
  88. package/dist/agent-runtime/pro-operator.js +8 -2
  89. package/dist/agent-runtime/pro-operator.js.map +1 -1
  90. package/dist/agent-runtime/pro-perception.d.ts +1 -0
  91. package/dist/agent-runtime/pro-perception.js +4 -2
  92. package/dist/agent-runtime/pro-perception.js.map +1 -1
  93. package/dist/agent-runtime/pro-target-check.d.ts +2 -2
  94. package/dist/agent-runtime/pro-target-check.js +102 -17
  95. package/dist/agent-runtime/pro-target-check.js.map +1 -1
  96. package/dist/agent-runtime/prompts/operator.d.ts +2 -0
  97. package/dist/agent-runtime/prompts/operator.js +69 -0
  98. package/dist/agent-runtime/prompts/operator.js.map +1 -0
  99. package/dist/agent-runtime/prompts/verification.d.ts +2 -0
  100. package/dist/agent-runtime/prompts/verification.js +52 -0
  101. package/dist/agent-runtime/prompts/verification.js.map +1 -0
  102. package/dist/agent-runtime/skills/replay.d.ts +4 -14
  103. package/dist/agent-runtime/skills/replay.js +46 -27
  104. package/dist/agent-runtime/skills/replay.js.map +1 -1
  105. package/dist/agent-runtime/tool-batch.d.ts +10 -0
  106. package/dist/agent-runtime/tool-batch.js +51 -0
  107. package/dist/agent-runtime/tool-batch.js.map +1 -0
  108. package/dist/agent-runtime/visual-state.d.ts +2 -0
  109. package/dist/agent-runtime/visual-state.js +24 -0
  110. package/dist/agent-runtime/visual-state.js.map +1 -0
  111. package/dist/agent-runtime/vlm.d.ts +1 -1
  112. package/dist/agent-runtime/vlm.js +1 -1
  113. package/dist/api.js +3 -1
  114. package/dist/api.js.map +1 -1
  115. package/dist/app/agent-host.js +6 -2
  116. package/dist/app/agent-host.js.map +1 -1
  117. package/dist/app/multi-device-host.js +4 -5
  118. package/dist/app/multi-device-host.js.map +1 -1
  119. package/dist/app/session-manager.d.ts +3 -45
  120. package/dist/app/session-manager.js +8 -9
  121. package/dist/app/session-manager.js.map +1 -1
  122. package/dist/bootstrap.js +25 -84
  123. package/dist/bootstrap.js.map +1 -1
  124. package/dist/config/loader.js +12 -1
  125. package/dist/config/loader.js.map +1 -1
  126. package/dist/config/schema.d.ts +7 -2
  127. package/dist/config/schema.js +8 -5
  128. package/dist/config/schema.js.map +1 -1
  129. package/dist/core/abortable-read.d.ts +1 -0
  130. package/dist/core/abortable-read.js +24 -0
  131. package/dist/core/abortable-read.js.map +1 -0
  132. package/dist/device/ui-xml.d.ts +4 -0
  133. package/dist/device/ui-xml.js +35 -13
  134. package/dist/device/ui-xml.js.map +1 -1
  135. package/dist/fleet/adapters/process/node-process-manager.d.ts +2 -1
  136. package/dist/fleet/adapters/process/node-process-manager.js +11 -19
  137. package/dist/fleet/adapters/process/node-process-manager.js.map +1 -1
  138. package/dist/inbound/acp/handlers/models.js +11 -8
  139. package/dist/inbound/acp/handlers/models.js.map +1 -1
  140. package/dist/inbound/acp/handlers/session.d.ts +1 -4
  141. package/dist/inbound/acp/handlers/session.js +3 -6
  142. package/dist/inbound/acp/handlers/session.js.map +1 -1
  143. package/dist/inbound/bma/agent.d.ts +47 -0
  144. package/dist/inbound/bma/agent.js +130 -0
  145. package/dist/inbound/bma/agent.js.map +1 -0
  146. package/dist/inbound/bma/command.d.ts +15 -0
  147. package/dist/inbound/bma/command.js +98 -0
  148. package/dist/inbound/bma/command.js.map +1 -0
  149. package/dist/inbound/bma/model-proxy.d.ts +22 -0
  150. package/dist/inbound/bma/model-proxy.js +130 -0
  151. package/dist/inbound/bma/model-proxy.js.map +1 -0
  152. package/dist/inbound/cli/main.js +12 -2
  153. package/dist/inbound/cli/main.js.map +1 -1
  154. package/dist/inbound/cli/run-artifacts.js +16 -7
  155. package/dist/inbound/cli/run-artifacts.js.map +1 -1
  156. package/dist/inbound/cli/run-command.d.ts +7 -0
  157. package/dist/inbound/cli/run-command.js +37 -29
  158. package/dist/inbound/cli/run-command.js.map +1 -1
  159. package/dist/index.d.ts +1 -10
  160. package/dist/index.js +1 -6
  161. package/dist/index.js.map +1 -1
  162. package/dist/mcp-client/autospawn.d.ts +7 -9
  163. package/dist/mcp-client/autospawn.js +16 -12
  164. package/dist/mcp-client/autospawn.js.map +1 -1
  165. package/dist/mcp-client/client.d.ts +6 -3
  166. package/dist/mcp-client/client.js +31 -13
  167. package/dist/mcp-client/client.js.map +1 -1
  168. package/dist/mcp-client/runtime.d.ts +5 -2
  169. package/dist/plugins/agent-sync/index.d.ts +32 -17
  170. package/dist/plugins/agent-sync/index.js +223 -232
  171. package/dist/plugins/agent-sync/index.js.map +1 -1
  172. package/dist/plugins/message-bus/inbound.d.ts +0 -32
  173. package/dist/plugins/message-bus/inbound.js +3 -0
  174. package/dist/plugins/message-bus/inbound.js.map +1 -1
  175. package/dist/plugins/message-bus/ms-channel-notifier.d.ts +1 -0
  176. package/dist/plugins/message-bus/ms-channel-notifier.js +16 -8
  177. package/dist/plugins/message-bus/ms-channel-notifier.js.map +1 -1
  178. package/dist/plugins/native-chat/deadline.d.ts +2 -0
  179. package/dist/plugins/native-chat/deadline.js +16 -0
  180. package/dist/plugins/native-chat/deadline.js.map +1 -0
  181. package/dist/plugins/native-chat/index.d.ts +46 -0
  182. package/dist/plugins/native-chat/index.js +331 -0
  183. package/dist/plugins/native-chat/index.js.map +1 -0
  184. package/dist/plugins/native-chat/reply-stream.d.ts +50 -0
  185. package/dist/plugins/native-chat/reply-stream.js +81 -0
  186. package/dist/plugins/native-chat/reply-stream.js.map +1 -0
  187. package/dist/plugins/native-chat/session-notifier.d.ts +16 -0
  188. package/dist/plugins/native-chat/session-notifier.js +130 -0
  189. package/dist/plugins/native-chat/session-notifier.js.map +1 -0
  190. package/dist/ports/agent-core.d.ts +2 -0
  191. package/dist/ports/agent-host.d.ts +2 -0
  192. package/dist/ports/agent-host.js +0 -21
  193. package/dist/ports/agent-host.js.map +1 -1
  194. package/dist/ports/device.d.ts +0 -1
  195. package/dist/ports/device.js +0 -1
  196. package/dist/ports/device.js.map +1 -1
  197. package/dist/runtime-authority/device-prompt.gen.d.ts +54 -0
  198. package/dist/runtime-authority/device-prompt.gen.js +19 -0
  199. package/dist/runtime-authority/device-prompt.gen.js.map +1 -0
  200. package/dist/types.d.ts +10 -0
  201. package/dist/types.js +1 -0
  202. package/dist/types.js.map +1 -1
  203. package/package.json +5 -3
  204. package/dist/adapters/device-desktop.d.ts +0 -49
  205. package/dist/adapters/device-desktop.js +0 -132
  206. package/dist/adapters/device-desktop.js.map +0 -1
  207. package/dist/agent-runtime/factory.d.ts +0 -24
  208. package/dist/agent-runtime/factory.js +0 -25
  209. package/dist/agent-runtime/factory.js.map +0 -1
  210. package/dist/agent-runtime/models/vlm/guiowl.d.ts +0 -1
  211. package/dist/agent-runtime/models/vlm/guiowl.js +0 -249
  212. package/dist/agent-runtime/models/vlm/guiowl.js.map +0 -1
  213. package/dist/agent-runtime/models/vlm/maiui.d.ts +0 -1
  214. package/dist/agent-runtime/models/vlm/maiui.js +0 -142
  215. package/dist/agent-runtime/models/vlm/maiui.js.map +0 -1
  216. package/dist/agent-runtime/models/vlm/qwen38.d.ts +0 -1
  217. package/dist/agent-runtime/models/vlm/qwen38.js +0 -241
  218. package/dist/agent-runtime/models/vlm/qwen38.js.map +0 -1
  219. package/dist/agent-runtime/models/vlm/qwenvl.d.ts +0 -1
  220. package/dist/agent-runtime/models/vlm/qwenvl.js +0 -202
  221. package/dist/agent-runtime/models/vlm/qwenvl.js.map +0 -1
  222. package/dist/agent-runtime/modes/orchestrator/app-guide.js.map +0 -1
  223. package/dist/agent-runtime/modes/orchestrator/index.d.ts +0 -41
  224. package/dist/agent-runtime/modes/orchestrator/index.js +0 -218
  225. package/dist/agent-runtime/modes/orchestrator/index.js.map +0 -1
  226. package/dist/agent-runtime/modes/orchestrator/prompt.d.ts +0 -7
  227. package/dist/agent-runtime/modes/orchestrator/prompt.js +0 -53
  228. package/dist/agent-runtime/modes/orchestrator/prompt.js.map +0 -1
  229. package/dist/agent-runtime/reflection.d.ts +0 -100
  230. package/dist/agent-runtime/reflection.js +0 -241
  231. package/dist/agent-runtime/reflection.js.map +0 -1
  232. package/dist/agent-runtime/reflectors/action-reflector.d.ts +0 -97
  233. package/dist/agent-runtime/reflectors/action-reflector.js +0 -234
  234. package/dist/agent-runtime/reflectors/action-reflector.js.map +0 -1
  235. package/dist/agent-runtime/reflectors/policy.d.ts +0 -56
  236. package/dist/agent-runtime/reflectors/policy.js +0 -111
  237. package/dist/agent-runtime/reflectors/policy.js.map +0 -1
  238. package/dist/agent-runtime/reflectors/trajectory-reflector.d.ts +0 -93
  239. package/dist/agent-runtime/reflectors/trajectory-reflector.js +0 -224
  240. package/dist/agent-runtime/reflectors/trajectory-reflector.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"qwen38.js","sourceRoot":"","sources":["../../../../src/agent-runtime/models/vlm/qwen38.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,202 +0,0 @@
1
- import { invalidModelOutput, ModelAdapter, registerAdapter } from "./base.js";
2
- import { parseToolCall } from "./shared/tool-call.js";
3
- // Qwen-VL adapter
4
- // Aligned with ClawGUI prompts_qwenvl.py (PHONE_USE_QWEN_CN / PHONE_USE_QWEN_EN)
5
- //
6
- // Message structure (mirrors ClawGUI exactly):
7
- // Always 2 messages: [system(XML tools schema), user(text then image)]
8
- // No multi-turn accumulation; action history injected as text.
9
- //
10
- // Output format expected:
11
- // Thought: <one sentence>
12
- // Action: <one sentence>
13
- // <tool_call>{"name":"mobile_use","arguments":{...}}</tool_call>
14
- //
15
- // Coordinates: 0–999 normalized (resolution declared as 999x999 in schema)
16
- const TOOL_SCHEMA = JSON.stringify({
17
- type: "function",
18
- function: {
19
- name_for_human: "mobile_use",
20
- name: "mobile_use",
21
- description: "Use a touchscreen to interact with a mobile device, and take screenshots.\n" +
22
- "* This is an interface to a mobile device with touchscreen. You can perform actions like clicking, typing, swiping, etc.\n" +
23
- "* Some applications may take time to start or process actions, so you may need to wait and take successive screenshots to see the results of your actions.\n" +
24
- "* The screen's resolution is 999x999.\n" +
25
- "* Make sure to click any buttons, links, icons, etc with the cursor tip in the center of the element. Don't click boxes on their edges unless asked.",
26
- parameters: {
27
- properties: {
28
- action: {
29
- description: "The action to perform. The available actions are:\n" +
30
- "* `click`: Click the point on the screen with coordinate (x, y).\n" +
31
- "* `long_press`: Press the point on the screen with coordinate (x, y) for specified seconds.\n" +
32
- "* `swipe`: Swipe from the starting point with coordinate (x, y) to the end point with coordinates2 (x2, y2).\n" +
33
- "* `type`: Input the specified text into the activated input box.\n" +
34
- "* `answer`: Output the answer.\n" +
35
- "* `system_button`: Press the system button.\n" +
36
- "* `open_app`: Open the specified application.\n" +
37
- "* `wait`: Wait specified seconds for the change to happen.\n" +
38
- "* `terminate`: Terminate the current task and report its completion status.",
39
- enum: ["click", "long_press", "swipe", "type", "answer", "system_button", "open_app", "wait", "terminate"],
40
- type: "string",
41
- },
42
- coordinate: {
43
- description: "(x, y): The x (pixels from the left edge) and y (pixels from the top edge) coordinates to move the mouse to. Required only by `action=click`, `action=long_press`, and `action=swipe`.",
44
- type: "array",
45
- },
46
- coordinate2: {
47
- description: "(x, y): The x (pixels from the left edge) and y (pixels from the top edge) coordinates to move the mouse to. Required only by `action=swipe`.",
48
- type: "array",
49
- },
50
- text: {
51
- description: "Required only by `action=type` and `action=answer`.",
52
- type: "string",
53
- },
54
- time: {
55
- description: "The seconds to wait. Required only by `action=long_press` and `action=wait`.",
56
- type: "number",
57
- },
58
- button: {
59
- description: "Back means returning to the previous interface, Home means returning to the desktop, Menu means opening the application background menu, and Enter means pressing the enter. Required only by `action=system_button`",
60
- enum: ["Back", "Home", "Menu", "Enter"],
61
- type: "string",
62
- },
63
- status: {
64
- description: "The status of the task. Required only by `action=terminate`.",
65
- type: "string",
66
- enum: ["success", "failure"],
67
- },
68
- app_name: {
69
- description: "The name of the app to open. Required only by `action=open_app`.",
70
- type: "string",
71
- },
72
- },
73
- required: ["action"],
74
- type: "object",
75
- },
76
- },
77
- });
78
- const SYSTEM_PROMPT_CN = `# 工具
79
-
80
- 你可以调用一个或多个函数来辅助完成用户的请求。
81
-
82
- 可用的函数签名定义在 <tools></tools> XML 标签中:
83
- <tools>
84
- ${TOOL_SCHEMA}
85
- </tools>
86
-
87
- 每次调用函数时,请在 <tool_call></tool_call> XML 标签中返回一个包含函数名和参数的 JSON 对象:
88
- <tool_call>
89
- {"name": <函数名>, "arguments": <参数JSON对象>}
90
- </tool_call>
91
-
92
- # 响应格式
93
-
94
- 每一步的响应格式:
95
- 1) Thought(思考):用一句简洁的话解释下一步操作(不要进行多步推理)。
96
- 2) Action(动作):用一句简短的祈使句描述要在界面上执行的操作。
97
- 3) 一个 <tool_call>...</tool_call> 代码块,其中只包含 JSON:{"name": <函数名>, "arguments": <参数JSON对象>}。
98
-
99
- 规则:
100
- - 严格按照 Thought、Action、<tool_call> 的顺序输出。
101
- - 保持简洁:Thought 一句话,Action 一句话。
102
- - 不要在这三部分之外输出任何其他内容。
103
- - 如果任务完成,请在 tool_call 中使用 action=terminate。`;
104
- const SYSTEM_PROMPT_EN = `# Tools
105
-
106
- You can call one or more functions to assist with the user's request.
107
-
108
- The available function signatures are defined within <tools></tools> XML tags:
109
- <tools>
110
- ${TOOL_SCHEMA}
111
- </tools>
112
-
113
- Each time you call a function, return a JSON object containing the function name and arguments within <tool_call></tool_call> XML tags:
114
- <tool_call>
115
- {"name": <function_name>, "arguments": <arguments_json_object>}
116
- </tool_call>
117
-
118
- # Response Format
119
-
120
- Response format for each step:
121
- 1) Thought: Explain the next action in one concise sentence (do not perform multi-step reasoning).
122
- 2) Action: Describe the UI operation to perform in one short imperative sentence.
123
- 3) A <tool_call>...</tool_call> code block containing only JSON: {"name": <function_name>, "arguments": <arguments_json_object>}.
124
-
125
- Rules:
126
- - Strictly output in the order of Thought, Action, <tool_call>.
127
- - Keep it concise: one sentence for Thought, one sentence for Action.
128
- - Do not output anything beyond these three parts.
129
- - If the task is completed, use action=terminate in the tool_call.`;
130
- class QwenVLAdapter extends ModelAdapter {
131
- name = "qwenvl";
132
- patterns = [/qwen.*vl/, /qwen2.*vl/, /qvq/, /qwen-vl/];
133
- actionHistory = [];
134
- buildMessages(task, screenInfo, _context, _isFirst, lang) {
135
- const systemPrompt = lang === "cn" ? SYSTEM_PROMPT_CN : SYSTEM_PROMPT_EN;
136
- // Build user query: task + history (ClawGUI format)
137
- const userQuery = buildUserQuery(task, this.actionHistory);
138
- // Text first, image second — matches ClawGUI
139
- const content = [
140
- { type: "text", text: userQuery },
141
- ];
142
- if (screenInfo.imageRef) {
143
- content.push({ type: "image_url", image_url: { url: screenInfo.imageRef.url } });
144
- }
145
- return [
146
- { role: "system", content: [{ type: "text", text: systemPrompt }] },
147
- { role: "user", content },
148
- ];
149
- }
150
- parseResponse(raw) {
151
- // Extract Thought: line as thinking
152
- const thoughtM = raw.match(/^Thought\s*[::]\s*(.+?)(?=\nAction\s*[::]|\n<tool_call>|$)/ms);
153
- const thinking = thoughtM ? thoughtM[1].trim() : extractThinkTag(raw);
154
- const toolBlock = raw.includes("<tool_call>") ? raw : `<tool_call>${raw}</tool_call>`;
155
- return parseToolCall(toolBlock, thinking)
156
- ?? invalidModelOutput(this.name, "expected a valid <tool_call> JSON action");
157
- }
158
- updateContext(_context, response, parsed) {
159
- if (!parsed.shouldFinish) {
160
- // Record the Action: line from raw output as history description (ClawGUI format)
161
- const actionLineM = response.rawContent.match(/^Action\s*[::]\s*(.+?)$/m);
162
- const desc = actionLineM ? actionLineM[1].trim() : actionSummary(parsed);
163
- this.actionHistory.push(desc);
164
- }
165
- // QwenVL always rebuilds messages; context is not accumulated
166
- return _context;
167
- }
168
- clearHistory() {
169
- this.actionHistory = [];
170
- }
171
- }
172
- registerAdapter(() => new QwenVLAdapter());
173
- // ── Helpers ──────────────────────────────────────────────────────────────────
174
- function buildUserQuery(task, history) {
175
- // Mirrors ClawGUI build_qwenvl_user_query exactly:
176
- // "The user query: {task}.\nTask progress: Step 1: xxx; Step 2: yyy;\n"
177
- let query = `The user query: ${task}.\n`;
178
- if (history.length > 0) {
179
- const progress = history
180
- .map((h, i) => `Step ${i + 1}: ${h.replace(/\n/g, "").replace(/"/g, "")};`)
181
- .join(" ");
182
- query += `Task progress (You have done the following operation on the current device): ${progress}\n`;
183
- }
184
- return query;
185
- }
186
- function extractThinkTag(raw) {
187
- const m = raw.match(/<think(?:ing)?>([\s\S]*?)<\/think(?:ing)?>/i);
188
- return m ? m[1].trim() : "";
189
- }
190
- function actionSummary(parsed) {
191
- const { actionType: t, params: p } = parsed;
192
- if (t === "tap")
193
- return `tap(${p.x},${p.y})`;
194
- if (t === "type")
195
- return `type("${p.text}")`;
196
- if (t === "swipe")
197
- return `swipe(${p.start_x},${p.start_y}→${p.end_x},${p.end_y})`;
198
- if (t === "open_app")
199
- return `open_app(${p.app_name})`;
200
- return t;
201
- }
202
- //# sourceMappingURL=qwenvl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"qwenvl.js","sourceRoot":"","sources":["../../../../src/agent-runtime/models/vlm/qwenvl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,kBAAkB;AAClB,iFAAiF;AACjF,EAAE;AACF,+CAA+C;AAC/C,yEAAyE;AACzE,iEAAiE;AACjE,EAAE;AACF,0BAA0B;AAC1B,4BAA4B;AAC5B,2BAA2B;AAC3B,mEAAmE;AACnE,EAAE;AACF,2EAA2E;AAE3E,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,cAAc,EAAE,YAAY;QAC5B,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,6EAA6E;YAC7E,4HAA4H;YAC5H,8JAA8J;YAC9J,yCAAyC;YACzC,sJAAsJ;QACxJ,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,WAAW,EACT,qDAAqD;wBACrD,oEAAoE;wBACpE,+FAA+F;wBAC/F,gHAAgH;wBAChH,oEAAoE;wBACpE,kCAAkC;wBAClC,+CAA+C;wBAC/C,iDAAiD;wBACjD,8DAA8D;wBAC9D,6EAA6E;oBAC/E,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC;oBAC1G,IAAI,EAAE,QAAQ;iBACf;gBACD,UAAU,EAAE;oBACV,WAAW,EACT,wLAAwL;oBAC1L,IAAI,EAAE,OAAO;iBACd;gBACD,WAAW,EAAE;oBACX,WAAW,EACT,+IAA+I;oBACjJ,IAAI,EAAE,OAAO;iBACd;gBACD,IAAI,EAAE;oBACJ,WAAW,EAAE,qDAAqD;oBAClE,IAAI,EAAE,QAAQ;iBACf;gBACD,IAAI,EAAE;oBACJ,WAAW,EAAE,8EAA8E;oBAC3F,IAAI,EAAE,QAAQ;iBACf;gBACD,MAAM,EAAE;oBACN,WAAW,EACT,sNAAsN;oBACxN,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;oBACvC,IAAI,EAAE,QAAQ;iBACf;gBACD,MAAM,EAAE;oBACN,WAAW,EAAE,8DAA8D;oBAC3E,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;iBAC7B;gBACD,QAAQ,EAAE;oBACR,WAAW,EAAE,kEAAkE;oBAC/E,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG;;;;;;EAMvB,WAAW;;;;;;;;;;;;;;;;;;;4CAmB+B,CAAC;AAE7C,MAAM,gBAAgB,GAAG;;;;;;EAMvB,WAAW;;;;;;;;;;;;;;;;;;;mEAmBsD,CAAC;AAEpE,MAAM,aAAc,SAAQ,YAAY;IAC7B,IAAI,GAAG,QAAQ,CAAC;IAChB,QAAQ,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAExD,aAAa,GAAa,EAAE,CAAC;IAErC,aAAa,CACX,IAAY,EACZ,UAAsB,EACtB,QAAmB,EACnB,QAAiB,EACjB,IAAY;QAEZ,MAAM,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAEzE,oDAAoD;QACpD,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3D,6CAA6C;QAC7C,MAAM,OAAO,GAAkD;YAC7D,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;SAClC,CAAC;QACF,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,OAAO;YACL,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE;YACnE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;SAC1B,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,GAAW;QACvB,oCAAoC;QACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAEtE,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,GAAG,cAAc,CAAC;QACtF,OAAO,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC;eACpC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,0CAA0C,CAAC,CAAC;IACjF,CAAC;IAED,aAAa,CAAC,QAAmB,EAAE,QAAuB,EAAE,MAAoB;QAC9E,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,kFAAkF;YAClF,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC1E,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACzE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,8DAA8D;QAC9D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;IAC1B,CAAC;CACF;AAED,eAAe,CAAC,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;AAE3C,gFAAgF;AAEhF,SAAS,cAAc,CAAC,IAAY,EAAE,OAAiB;IACrD,mDAAmD;IACnD,wEAAwE;IACxE,IAAI,KAAK,GAAG,mBAAmB,IAAI,KAAK,CAAC;IACzC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,OAAO;aACrB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC;aAC1E,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,gFAAgF,QAAQ,IAAI,CAAC;IACxG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACnE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9B,CAAC;AAGD,SAAS,aAAa,CAAC,MAAoB;IACzC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;IAC5C,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;IAC7C,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;IACnF,IAAI,CAAC,KAAK,UAAU;QAAE,OAAO,YAAY,CAAC,CAAC,QAAQ,GAAG,CAAC;IACvD,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-guide.js","sourceRoot":"","sources":["../../../../src/agent-runtime/modes/orchestrator/app-guide.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,WAAW;CACZ,CAAC;AAOF,MAAM,MAAM,GAAmC;IAC7C,EAAE,EAAE;QACF,OAAO,EACL,0CAA0C;QAC5C,IAAI,EAAE;;;;;;;;;;;;uCAY6B;KACpC;IAED,GAAG,EAAE;QACH,OAAO,EACL,8CAA8C;QAChD,IAAI,EAAE;;;;;;;;;;;mDAWyC;KAChD;IAED,EAAE,EAAE;QACF,OAAO,EACL,8CAA8C;QAChD,IAAI,EAAE;;;;;;;;;;mDAUyC;KAChD;IAED,EAAE,EAAE;QACF,OAAO,EACL,8CAA8C;QAChD,IAAI,EAAE;;;;;;;;;;mDAUyC;KAChD;IAED,QAAQ,EAAE;QACR,OAAO,EACL,6CAA6C;QAC/C,IAAI,EAAE;;;;;;;;;;;qDAW2C;KAClD;IAED,MAAM,EAAE;QACN,OAAO,EACL,mDAAmD;QACrD,IAAI,EAAE;;;;;;;;;;;;0FAYgF;KACvF;IAED,SAAS,EAAE;QACT,OAAO,EACL,8DAA8D;QAChE,IAAI,EAAE;;;;;;;;;;;;kFAYwE;KAC/E;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,MAAe;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAkB,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CACL,YAAY,GAAG,UAAU,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;YACpD,wBAAwB,CACzB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACpC,OAAO,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,GAAG,OAAO,MAAM,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC;AACvD,CAAC"}
@@ -1,41 +0,0 @@
1
- /**
2
- * OrchestratorAgent — OpenAI tool-calling outer loop + mobile_use inner loop.
3
- *
4
- * Two-layer architecture:
5
- * outer: plain OpenAI chat completions with tools[]
6
- * inner: the existing AgentRunner (ReAct / Plan-Act) called via mobileUseRunner
7
- *
8
- * Loop is single-turn by design: the outer LLM may call get_app_guide
9
- * any number of times, then calls mobile_use once → loop exits immediately.
10
- *
11
- * Tools exposed to the outer LLM:
12
- * - get_app_guide(app, action?) → static UI path hints
13
- * - mobile_use(task) → calls mobileUseRunner, returns text
14
- */
15
- import type { AgentCoreRunCallbacks, AgentCoreRunOptions, AgentCoreRunResult, IAgentCore } from "../../../ports/agent-core.js";
16
- /** @deprecated Use executionMode="pro" with AgentRunnerCore. */
17
- export interface OrchestratorOuterConfig {
18
- apiKey?: string;
19
- baseUrl?: string;
20
- model?: string;
21
- }
22
- /** @deprecated Use AgentRunnerCoreOptions and per-task executionMode. */
23
- export interface OrchestratorAgentOptions {
24
- outer: OrchestratorOuterConfig;
25
- /** Runs the inner ReAct loop and returns the final text. */
26
- vlmRunner: (task: string, maxSteps: number, signal?: AbortSignal, callbacks?: AgentCoreRunCallbacks) => Promise<string>;
27
- }
28
- /**
29
- * @deprecated Retained for source compatibility until the next major release.
30
- * Use AgentRunnerCore with executionMode="pro".
31
- */
32
- export declare class OrchestratorAgent implements IAgentCore {
33
- private readonly client;
34
- private _model;
35
- private readonly vlmRunner;
36
- constructor(opts: OrchestratorAgentOptions);
37
- get modelName(): string;
38
- get providerName(): string;
39
- setModel(_provider: string, model: string): Promise<void>;
40
- run(opts: AgentCoreRunOptions): Promise<AgentCoreRunResult>;
41
- }
@@ -1,218 +0,0 @@
1
- /**
2
- * OrchestratorAgent — OpenAI tool-calling outer loop + mobile_use inner loop.
3
- *
4
- * Two-layer architecture:
5
- * outer: plain OpenAI chat completions with tools[]
6
- * inner: the existing AgentRunner (ReAct / Plan-Act) called via mobileUseRunner
7
- *
8
- * Loop is single-turn by design: the outer LLM may call get_app_guide
9
- * any number of times, then calls mobile_use once → loop exits immediately.
10
- *
11
- * Tools exposed to the outer LLM:
12
- * - get_app_guide(app, action?) → static UI path hints
13
- * - mobile_use(task) → calls mobileUseRunner, returns text
14
- */
15
- import OpenAI from "openai";
16
- import { normalizeOpenAIBaseUrl } from "../../models/openai-base-url.js";
17
- import { getAppGuide, SUPPORTED_APPS } from "./app-guide.js";
18
- import { ORCHESTRATOR_AGENT_SYSTEM_PROMPT } from "./prompt.js";
19
- import { taskOutcomeFromTerminator } from "../../../core/task-outcome.js";
20
- /** Fixed inner-VLM step budget. The outer LLM does not control this. */
21
- const VLM_MAX_STEPS = 30;
22
- // ── Tool definitions ─────────────────────────────────────────────────────────
23
- const TOOLS = [
24
- {
25
- type: "function",
26
- function: {
27
- name: "get_app_guide",
28
- description: "Get UI step-by-step instructions for a social media app. " +
29
- "Call this before mobile_use to get the exact tap/swipe path for an action. " +
30
- `Supported apps: ${SUPPORTED_APPS.join(", ")}. ` +
31
- "Leave action empty to get a capability summary.",
32
- parameters: {
33
- type: "object",
34
- properties: {
35
- app: {
36
- type: "string",
37
- description: `App name. One of: ${SUPPORTED_APPS.join(", ")}`,
38
- },
39
- action: {
40
- type: "string",
41
- enum: ["post", ""],
42
- description: 'Action type. Use "post" for publish/upload flows. Omit for capability summary.',
43
- },
44
- },
45
- required: ["app"],
46
- },
47
- },
48
- },
49
- {
50
- type: "function",
51
- function: {
52
- name: "mobile_use",
53
- description: "Drive the connected Android phone with a natural-language task. " +
54
- "A VLM runs its own screenshot→reason→act loop until it finishes. " +
55
- "Pass a full, concrete instruction. Call this at most once per user request — " +
56
- "the loop exits immediately after this call regardless of success or failure.",
57
- parameters: {
58
- type: "object",
59
- properties: {
60
- task: {
61
- type: "string",
62
- description: "Full natural-language instruction in Chinese or English.",
63
- },
64
- },
65
- required: ["task"],
66
- },
67
- },
68
- },
69
- ];
70
- // ── OrchestratorAgent ────────────────────────────────────────────────────────
71
- /**
72
- * @deprecated Retained for source compatibility until the next major release.
73
- * Use AgentRunnerCore with executionMode="pro".
74
- */
75
- export class OrchestratorAgent {
76
- client;
77
- _model;
78
- vlmRunner;
79
- constructor(opts) {
80
- this._model = opts.outer.model ?? "gpt-4o";
81
- this.vlmRunner = opts.vlmRunner;
82
- this.client = new OpenAI({
83
- apiKey: opts.outer.apiKey ?? process.env.OUTER_API_KEY ?? process.env.GUI_AGENT_API_KEY ?? "EMPTY",
84
- baseURL: normalizeOpenAIBaseUrl(opts.outer.baseUrl ?? process.env.OUTER_BASE_URL ?? "https://api.openai.com/v1"),
85
- timeout: 120_000,
86
- maxRetries: 2,
87
- });
88
- }
89
- get modelName() {
90
- return this._model;
91
- }
92
- get providerName() {
93
- return "orchestrator";
94
- }
95
- async setModel(_provider, model) {
96
- this._model = model;
97
- }
98
- async run(opts) {
99
- const { task, abortSignal, onText, onTool, onError } = opts;
100
- const messages = [
101
- { role: "system", content: ORCHESTRATOR_AGENT_SYSTEM_PROMPT },
102
- { role: "user", content: task },
103
- ];
104
- let vlmCalled = false;
105
- let finalMessage = "";
106
- try {
107
- while (!vlmCalled) {
108
- if (abortSignal?.aborted)
109
- break;
110
- const response = await this.client.chat.completions.create({
111
- model: this._model,
112
- messages,
113
- tools: TOOLS,
114
- tool_choice: "auto",
115
- }, { signal: abortSignal });
116
- const choice = response.choices[0];
117
- if (!choice)
118
- break;
119
- const msg = choice.message;
120
- messages.push(msg);
121
- if (!msg.tool_calls || msg.tool_calls.length === 0) {
122
- finalMessage = msg.content ?? "";
123
- onText?.(finalMessage);
124
- break;
125
- }
126
- const toolResults = [];
127
- for (const call of msg.tool_calls) {
128
- const fn = call.function.name;
129
- let args = {};
130
- try {
131
- args = JSON.parse(call.function.arguments || "{}");
132
- }
133
- catch {
134
- // malformed JSON — treat as empty args
135
- }
136
- onTool?.({
137
- id: call.id,
138
- name: fn,
139
- args,
140
- status: "start",
141
- });
142
- let resultText;
143
- if (fn === "get_app_guide") {
144
- resultText = getAppGuide(String(args.app ?? ""), args.action ? String(args.action) : undefined);
145
- onTool?.({ id: call.id, name: fn, args, status: "end", result: resultText });
146
- }
147
- else if (fn === "mobile_use") {
148
- vlmCalled = true;
149
- const innerTask = String(args.task ?? task);
150
- const innerMax = VLM_MAX_STEPS;
151
- try {
152
- resultText = await this.vlmRunner(innerTask, innerMax, abortSignal, {
153
- onTool: opts.onTool,
154
- onStep: opts.onStep,
155
- onText: opts.onText,
156
- onError: opts.onError,
157
- });
158
- }
159
- catch (e) {
160
- resultText = `mobile_use 执行出错: ${e.message}`;
161
- onError?.({
162
- code: "mobile_use_error",
163
- message: e.message,
164
- fatal: false,
165
- });
166
- }
167
- onTool?.({ id: call.id, name: fn, args, status: "end", result: resultText });
168
- }
169
- else {
170
- resultText = `Unknown tool: ${fn}`;
171
- onTool?.({ id: call.id, name: fn, args, status: "end", isError: true, result: resultText });
172
- }
173
- toolResults.push({
174
- role: "tool",
175
- tool_call_id: call.id,
176
- content: resultText,
177
- });
178
- }
179
- messages.push(...toolResults);
180
- if (vlmCalled) {
181
- if (abortSignal?.aborted)
182
- break;
183
- const summaryResp = await this.client.chat.completions.create({
184
- model: this._model,
185
- messages,
186
- tools: TOOLS,
187
- tool_choice: "none",
188
- }, { signal: abortSignal });
189
- finalMessage = summaryResp.choices[0]?.message?.content ?? "";
190
- onText?.(finalMessage);
191
- break;
192
- }
193
- }
194
- }
195
- catch (e) {
196
- if (e.name === "AbortError") {
197
- return {
198
- finalMessage: "",
199
- steps: 0,
200
- cancelled: true,
201
- ...taskOutcomeFromTerminator({ terminator: "cancelled" }),
202
- };
203
- }
204
- throw e;
205
- }
206
- return {
207
- finalMessage,
208
- steps: vlmCalled ? 1 : 0,
209
- cancelled: false,
210
- ...taskOutcomeFromTerminator({
211
- terminator: "done",
212
- finalMessage,
213
- taskAction: vlmCalled ? "mobile_use" : undefined,
214
- }),
215
- };
216
- }
217
- }
218
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/agent-runtime/modes/orchestrator/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * System prompt for the `OrchestratorAgent` (OpenAI tool-calling mode).
3
- *
4
- * Governs the plain tool-calling outer LLM that drives `get_app_guide` +
5
- * `mobile_use`.
6
- */
7
- export declare const ORCHESTRATOR_AGENT_SYSTEM_PROMPT: string;
@@ -1,53 +0,0 @@
1
- /**
2
- * System prompt for the `OrchestratorAgent` (OpenAI tool-calling mode).
3
- *
4
- * Governs the plain tool-calling outer LLM that drives `get_app_guide` +
5
- * `mobile_use`.
6
- */
7
- import { SUPPORTED_APPS } from "./app-guide.js";
8
- export const ORCHESTRATOR_AGENT_SYSTEM_PROMPT = `\
9
- 你是 Android 手机自动化编排 Agent。
10
-
11
- ## 工具使用规则
12
-
13
- 1. 若任务涉及社媒 App(${SUPPORTED_APPS.join("、")}),先调用 get_app_guide 获取 UI 路径,再构造 mobile_use 的 task。
14
- 2. mobile_use 只能调用一次。调用后立刻结束,不再调用任何工具。
15
- 3. 禁止使用 bash / shell / exec 等工具直接运行 adb 命令。所有设备操作只能通过 mobile_use 完成。
16
- 4. get_app_guide 可多次调用(例如先查 App 能力概览再查 post 步骤),但 mobile_use 只能调用一次。
17
- 5. 对于发布类任务,如果点击「发布」/「Post」/「Share」后 App 自动回到首页、个人页、内容流首页或发布成功结果页,视为任务已完成,立即终止。不要再次点击发布入口,不要重复发布同一内容。
18
-
19
- ## mobile_use 的 task 参数格式(强制)
20
-
21
- 调用 mobile_use 时,task 参数必须包含以下两部分:
22
-
23
- **第一部分:任务总览**(一句话概括目标,例如:「在 B站 搜索张雪峰并给第一个视频点赞」)
24
-
25
- **第二部分:具体步骤**(编号列表,步骤数量不超过 12 条)
26
- - 步骤粒度:每步对应一个原子 UI 操作或一次判断(「打开 App」「点击搜索框」「输入文字」「等待加载」「点击第一个视频」「点击点赞按钮」等)
27
- - 不能过细(不拆分手势细节),不能过粗(不把多个操作合并成一步)
28
- - 必须覆盖:启动 / 进入目标页面 → 核心操作 → 确认完成 → 异常处理(弹窗 / 权限 / 加载失败)
29
- - 对于发布类任务,步骤中必须明确写出:发布按钮点击成功后,如果页面回到首页/个人页/信息流首页,直接判定成功并结束,禁止再次进入发布流程
30
-
31
- 示例格式:
32
- \`\`\`
33
- 任务总览:在 B站 搜索张雪峰并给第一个视频点赞
34
-
35
- 具体步骤:
36
- 1. 打开 B站 App,等待首页加载完成。
37
- 2. 如出现启动广告,点击「跳过」。
38
- 3. 点击顶部搜索图标(放大镜)。
39
- 4. 在搜索框中输入「张雪峰」。
40
- 5. 点击键盘上的「搜索」或「确认」按钮。
41
- 6. 等待搜索结果页面加载完成。
42
- 7. 如有筛选栏,保持默认(综合排序)。
43
- 8. 找到搜索结果列表中的第一个视频。
44
- 9. 点击第一个视频,进入视频播放页。
45
- 10. 等待视频播放页加载完成。
46
- 11. 如出现弹窗(会员购买、青少年模式等),关闭弹窗。
47
- 12. 点击点赞按钮并确认高亮;若需登录则停止说明无法完成,否则任务结束。
48
- \`\`\`
49
-
50
- ## 任务结束
51
-
52
- mobile_use 执行完毕后,用一两句话向用户汇报结果。`;
53
- //# sourceMappingURL=prompt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../src/agent-runtime/modes/orchestrator/prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,gCAAgC,GAAG;;;;;iBAK/B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAuCV,CAAC"}