@aiscene/aiserver 1.9.7 → 1.9.8

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 (37) hide show
  1. package/dist/core/device-proxy.d.ts +17 -0
  2. package/dist/core/device-proxy.d.ts.map +1 -1
  3. package/dist/core/device-proxy.js +95 -5
  4. package/dist/core/device-proxy.js.map +1 -1
  5. package/dist/debug/types.d.ts +56 -4
  6. package/dist/debug/types.d.ts.map +1 -1
  7. package/dist/debug/websocket-server.d.ts +4 -1
  8. package/dist/debug/websocket-server.d.ts.map +1 -1
  9. package/dist/debug/websocket-server.js +111 -5
  10. package/dist/debug/websocket-server.js.map +1 -1
  11. package/dist/executor/action-executor.d.ts +5 -5
  12. package/dist/executor/action-executor.d.ts.map +1 -1
  13. package/dist/executor/action-executor.js +32 -25
  14. package/dist/executor/action-executor.js.map +1 -1
  15. package/dist/executor/android-executor.d.ts +3 -14
  16. package/dist/executor/android-executor.d.ts.map +1 -1
  17. package/dist/executor/android-executor.js +21 -96
  18. package/dist/executor/android-executor.js.map +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +21 -10
  21. package/dist/index.js.map +1 -1
  22. package/dist/scrcpy/server.d.ts +5 -0
  23. package/dist/scrcpy/server.d.ts.map +1 -1
  24. package/dist/scrcpy/server.js +80 -14
  25. package/dist/scrcpy/server.js.map +1 -1
  26. package/dist/task/guada-online-batch-poller.d.ts +21 -0
  27. package/dist/task/guada-online-batch-poller.d.ts.map +1 -0
  28. package/dist/task/guada-online-batch-poller.js +132 -0
  29. package/dist/task/guada-online-batch-poller.js.map +1 -0
  30. package/dist/task/online-loop-poller.d.ts +20 -0
  31. package/dist/task/online-loop-poller.d.ts.map +1 -0
  32. package/dist/task/online-loop-poller.js +152 -0
  33. package/dist/task/online-loop-poller.js.map +1 -0
  34. package/dist/web/server.d.ts +1 -1
  35. package/dist/web/server.d.ts.map +1 -1
  36. package/dist/web/server.js.map +1 -1
  37. package/package.json +1 -1
@@ -2,5 +2,22 @@ export interface ProxyCleanupResult {
2
2
  attempted: number;
3
3
  failed: string[];
4
4
  }
5
+ export interface CompanyProxySetupResult extends ProxyCleanupResult {
6
+ verified: Record<string, string>;
7
+ }
5
8
  export declare function clearAndroidDeviceProxy(deviceId: string, proxyPort?: number): Promise<ProxyCleanupResult>;
9
+ /**
10
+ * 通过 ADB 将 Android 设备代理设置为公司代理平台。
11
+ * 等价于手工 Wi-Fi 代理里填写:host=proxy-pc.jd.com, port=80。
12
+ *
13
+ * 为兼容不同 Android/ROM:
14
+ * 1. 先清理 http_proxy/https_proxy/global_http_proxy_* 旧字段,避免脏配置残留;
15
+ * 2. 同时写 http_proxy、https_proxy、global_http_proxy_host/port;
16
+ * 3. 尝试通过 cmd connectivity setglobalproxy 通知系统网络服务应用代理;
17
+ * 4. 读取关键字段用于日志验证。
18
+ */
19
+ export declare function setupCompanyAndroidDeviceProxy(deviceId: string): Promise<CompanyProxySetupResult>;
20
+ export declare function verifyAndroidDeviceProxy(deviceId: string): Promise<Record<string, string>>;
21
+ export declare function openCompanyProxyRegistration(deviceId: string, proxyAccount: string): Promise<void>;
22
+ export declare function getCompanyProxyValue(): string;
6
23
  //# sourceMappingURL=device-proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device-proxy.d.ts","sourceRoot":"","sources":["../../src/core/device-proxy.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAyC7B"}
1
+ {"version":3,"file":"device-proxy.d.ts","sourceRoot":"","sources":["../../src/core/device-proxy.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAkBD,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAgC7B;AAED;;;;;;;;;GASG;AACH,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,uBAAuB,CAAC,CAkClC;AAED,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAoChG;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C"}
@@ -1,4 +1,15 @@
1
1
  import { adbShellArgs, runAdb } from './adb.js';
2
+ const COMPANY_PROXY_HOST = 'proxy-pc.jd.com';
3
+ const COMPANY_PROXY_PORT = 80;
4
+ const COMPANY_PROXY_VALUE = `${COMPANY_PROXY_HOST}:${COMPANY_PROXY_PORT}`;
5
+ const COMPANY_PROXY_REGISTER_URL = 'https://storage.jd.com/swm-plus/user-select/index.html';
6
+ async function runProxyCommands(deviceId, commands) {
7
+ const results = await Promise.allSettled(commands.map(({ args, timeout }) => runAdb(deviceId, args, timeout || 10000)));
8
+ const failed = results.flatMap((result, index) => result.status === 'rejected'
9
+ ? [`${commands[index].label}: ${String(result.reason)}`]
10
+ : []);
11
+ return { attempted: commands.length, failed };
12
+ }
2
13
  export async function clearAndroidDeviceProxy(deviceId, proxyPort) {
3
14
  const commands = [
4
15
  {
@@ -28,10 +39,89 @@ export async function clearAndroidDeviceProxy(deviceId, proxyPort) {
28
39
  args: ['reverse', '--remove', `tcp:${proxyPort}`],
29
40
  });
30
41
  }
31
- const results = await Promise.allSettled(commands.map(({ args }) => runAdb(deviceId, args, 10000)));
32
- const failed = results.flatMap((result, index) => result.status === 'rejected'
33
- ? [`${commands[index].label}: ${String(result.reason)}`]
34
- : []);
35
- return { attempted: commands.length, failed };
42
+ return runProxyCommands(deviceId, commands);
43
+ }
44
+ /**
45
+ * 通过 ADB 将 Android 设备代理设置为公司代理平台。
46
+ * 等价于手工 Wi-Fi 代理里填写:host=proxy-pc.jd.com, port=80。
47
+ *
48
+ * 为兼容不同 Android/ROM:
49
+ * 1. 先清理 http_proxy/https_proxy/global_http_proxy_* 旧字段,避免脏配置残留;
50
+ * 2. 同时写 http_proxy、https_proxy、global_http_proxy_host/port;
51
+ * 3. 尝试通过 cmd connectivity setglobalproxy 通知系统网络服务应用代理;
52
+ * 4. 读取关键字段用于日志验证。
53
+ */
54
+ export async function setupCompanyAndroidDeviceProxy(deviceId) {
55
+ const cleanup = await clearAndroidDeviceProxy(deviceId);
56
+ const commands = [
57
+ {
58
+ label: 'http_proxy',
59
+ args: adbShellArgs('settings', 'put', 'global', 'http_proxy', COMPANY_PROXY_VALUE),
60
+ },
61
+ {
62
+ label: 'https_proxy',
63
+ args: adbShellArgs('settings', 'put', 'global', 'https_proxy', COMPANY_PROXY_VALUE),
64
+ },
65
+ {
66
+ label: 'global_http_proxy_host',
67
+ args: adbShellArgs('settings', 'put', 'global', 'global_http_proxy_host', COMPANY_PROXY_HOST),
68
+ },
69
+ {
70
+ label: 'global_http_proxy_port',
71
+ args: adbShellArgs('settings', 'put', 'global', 'global_http_proxy_port', String(COMPANY_PROXY_PORT)),
72
+ },
73
+ {
74
+ label: 'cmd connectivity setglobalproxy',
75
+ args: adbShellArgs('cmd', 'connectivity', 'setglobalproxy', COMPANY_PROXY_HOST, String(COMPANY_PROXY_PORT)),
76
+ },
77
+ ];
78
+ const setup = await runProxyCommands(deviceId, commands);
79
+ const verified = await verifyAndroidDeviceProxy(deviceId);
80
+ return {
81
+ attempted: cleanup.attempted + setup.attempted,
82
+ failed: [...cleanup.failed, ...setup.failed],
83
+ verified,
84
+ };
85
+ }
86
+ export async function verifyAndroidDeviceProxy(deviceId) {
87
+ const checks = [
88
+ {
89
+ key: 'http_proxy',
90
+ args: adbShellArgs('settings', 'get', 'global', 'http_proxy'),
91
+ },
92
+ {
93
+ key: 'https_proxy',
94
+ args: adbShellArgs('settings', 'get', 'global', 'https_proxy'),
95
+ },
96
+ {
97
+ key: 'global_http_proxy_host',
98
+ args: adbShellArgs('settings', 'get', 'global', 'global_http_proxy_host'),
99
+ },
100
+ {
101
+ key: 'global_http_proxy_port',
102
+ args: adbShellArgs('settings', 'get', 'global', 'global_http_proxy_port'),
103
+ },
104
+ {
105
+ key: 'connectivity_global_proxy',
106
+ args: adbShellArgs('cmd', 'connectivity', 'getglobalproxy'),
107
+ },
108
+ ];
109
+ const entries = await Promise.all(checks.map(async ({ key, args }) => {
110
+ try {
111
+ const { stdout, stderr } = await runAdb(deviceId, args, 10000);
112
+ return [key, (stdout || stderr || '').trim()];
113
+ }
114
+ catch (error) {
115
+ return [key, `ERROR: ${error.message}`];
116
+ }
117
+ }));
118
+ return Object.fromEntries(entries);
119
+ }
120
+ export async function openCompanyProxyRegistration(deviceId, proxyAccount) {
121
+ const registerUrl = `${COMPANY_PROXY_REGISTER_URL}?proxyAccount=${encodeURIComponent(proxyAccount)}&t=${Date.now()}`;
122
+ await runAdb(deviceId, adbShellArgs('am', 'start', '-a', 'android.intent.action.VIEW', '-d', registerUrl), 15000);
123
+ }
124
+ export function getCompanyProxyValue() {
125
+ return COMPANY_PROXY_VALUE;
36
126
  }
37
127
  //# sourceMappingURL=device-proxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"device-proxy.js","sourceRoot":"","sources":["../../src/core/device-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAOhD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAgB,EAChB,SAAkB;IAElB,MAAM,QAAQ,GAA6C;QACzD;YACE,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC;SACpE;QACD;YACE,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC;SACrE;QACD;YACE,KAAK,EAAE,wBAAwB;YAC/B,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,wBAAwB,CAAC;SAC7E;QACD;YACE,KAAK,EAAE,wBAAwB;YAC/B,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,wBAAwB,CAAC;SAC7E;QACD;YACE,KAAK,EAAE,kCAAkC;YACzC,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,kCAAkC,CAAC;SACvF;KACF,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,eAAe,SAAS,EAAE;YACjC,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,SAAS,EAAE,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAC1D,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAC/C,MAAM,CAAC,MAAM,KAAK,UAAU;QAC1B,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,CAAC,CAAC,EAAE,CACP,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"device-proxy.js","sourceRoot":"","sources":["../../src/core/device-proxy.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ export interface DebugRequest extends AiMemoryRequestFields {
63
63
  skipAppRestart?: boolean;
64
64
  loginConfig?: LoginConfig;
65
65
  loginContext?: AndroidLoginContext;
66
- /** Whistle proxy port, default 8899 */
66
+ /** Capture proxy port, default 8899. Device proxy is company-proxy only. */
67
67
  proxyPort?: number;
68
68
  /** Proxy account (userPin) for company proxy platform (proxy-pc.jd.com) */
69
69
  proxyAccount?: string;
@@ -85,12 +85,23 @@ export interface ActionExecuteRequest extends AiMemoryRequestFields {
85
85
  platform?: 'android' | 'ios';
86
86
  packageName?: string;
87
87
  modelName?: string;
88
+ url?: string;
88
89
  testUrl?: string;
90
+ test_url?: string;
91
+ targetUrl?: string;
92
+ target_url?: string;
93
+ pageUrl?: string;
94
+ openUrl?: string;
95
+ jumpUrl?: string;
96
+ deeplink?: string;
97
+ deepLink?: string;
98
+ schemeUrl?: string;
99
+ schemaUrl?: string;
89
100
  modelConfig?: Record<string, unknown>;
90
101
  skipAppRestart?: boolean;
91
102
  /** Proxy account (userPin) for company proxy platform */
92
103
  proxyAccount?: string;
93
- /** Proxy port, default 8899 */
104
+ /** Capture proxy port, default 8899. Device proxy is company-proxy only. */
94
105
  proxyPort?: number;
95
106
  loginConfig?: LoginConfig;
96
107
  loginContext?: AndroidLoginContext;
@@ -104,11 +115,23 @@ export interface AiActExecuteRequest extends AiMemoryRequestFields {
104
115
  deepLocate?: boolean;
105
116
  deepThink?: boolean;
106
117
  modelName?: string;
118
+ url?: string;
119
+ testUrl?: string;
120
+ test_url?: string;
121
+ targetUrl?: string;
122
+ target_url?: string;
123
+ pageUrl?: string;
124
+ openUrl?: string;
125
+ jumpUrl?: string;
126
+ deeplink?: string;
127
+ deepLink?: string;
128
+ schemeUrl?: string;
129
+ schemaUrl?: string;
107
130
  modelConfig?: Record<string, unknown>;
108
131
  skipAppRestart?: boolean;
109
132
  /** Proxy account (userPin) for company proxy platform */
110
133
  proxyAccount?: string;
111
- /** Proxy port, default 8899 */
134
+ /** Capture proxy port, default 8899. Device proxy is company-proxy only. */
112
135
  proxyPort?: number;
113
136
  loginConfig?: LoginConfig;
114
137
  loginContext?: AndroidLoginContext;
@@ -119,6 +142,15 @@ export interface WebActionExecuteRequest extends AiMemoryRequestFields {
119
142
  url?: string;
120
143
  testUrl?: string;
121
144
  test_url?: string;
145
+ targetUrl?: string;
146
+ target_url?: string;
147
+ pageUrl?: string;
148
+ openUrl?: string;
149
+ jumpUrl?: string;
150
+ deeplink?: string;
151
+ deepLink?: string;
152
+ schemeUrl?: string;
153
+ schemaUrl?: string;
122
154
  locatePrompt?: string;
123
155
  actionParams?: Record<string, unknown>;
124
156
  naturalLanguage?: string;
@@ -145,6 +177,15 @@ export interface BatchCase extends AiMemoryRequestFields {
145
177
  /** 测试目标 URL(web 类型,兼容平台用例字段) */
146
178
  testUrl?: string;
147
179
  test_url?: string;
180
+ targetUrl?: string;
181
+ target_url?: string;
182
+ pageUrl?: string;
183
+ openUrl?: string;
184
+ jumpUrl?: string;
185
+ deeplink?: string;
186
+ deepLink?: string;
187
+ schemeUrl?: string;
188
+ schemaUrl?: string;
148
189
  /** 自然语言指令(aiAct 模式) */
149
190
  naturalLanguage?: string;
150
191
  /** 动作类型,默认 aiAction */
@@ -170,6 +211,17 @@ export interface BatchActionRequest extends AiMemoryRequestFields {
170
211
  cases: BatchCase[];
171
212
  /** 批次级别默认配置(每条用例可覆盖) */
172
213
  url?: string;
214
+ testUrl?: string;
215
+ test_url?: string;
216
+ targetUrl?: string;
217
+ target_url?: string;
218
+ pageUrl?: string;
219
+ openUrl?: string;
220
+ jumpUrl?: string;
221
+ deeplink?: string;
222
+ deepLink?: string;
223
+ schemeUrl?: string;
224
+ schemaUrl?: string;
173
225
  mobileMode?: boolean;
174
226
  deviceName?: string;
175
227
  viewport?: {
@@ -190,7 +242,7 @@ export interface BatchActionRequest extends AiMemoryRequestFields {
190
242
  bundleId?: string;
191
243
  /** 是否跳过 app 重启 —— 仅 app */
192
244
  skipAppRestart?: boolean;
193
- /** 代理端口 */
245
+ /** 抓包代理端口;设备代理只走公司代理平台 */
194
246
  proxyPort?: number;
195
247
  /** 代理账号 */
196
248
  proxyAccount?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/debug/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/debug/types.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export declare class DebugWebSocketServer {
8
8
  private isStarted;
9
9
  private activeBatchSessionIds;
10
10
  private createHeadlessBatchClient;
11
- runBatchActionInBackground(request: BatchActionRequest): void;
11
+ runBatchActionInBackground(request: BatchActionRequest): Promise<void>;
12
12
  private taskLogSubscribers;
13
13
  private clientTaskSubscriptions;
14
14
  /** 当前已启动浏览器的 web session 集合(用于并发计数与 TTL 扫描) */
@@ -77,7 +77,10 @@ export declare class DebugWebSocketServer {
77
77
  private handleExecuteAction;
78
78
  private handleExecuteAiAct;
79
79
  private normalizeWebUrl;
80
+ private nonEmptyText;
81
+ private pickWebTargetUrlWithSource;
80
82
  private pickWebTargetUrl;
83
+ private summarizeUrlInputs;
81
84
  private pickBatchAiMemorySource;
82
85
  private getCurrentWebUrl;
83
86
  private waitForWebPageStable;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-server.d.ts","sourceRoot":"","sources":["../../src/debug/websocket-server.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAQV,kBAAkB,EAUnB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA2B1D,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,qBAAqB,CAA0B;IAEvD,OAAO,CAAC,yBAAyB;IAajC,0BAA0B,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAY7D,OAAO,CAAC,kBAAkB,CAA0C;IAEpE,OAAO,CAAC,uBAAuB,CAA0C;IAGzE,+CAA+C;IAC/C,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,6DAA6D;IAC7D,OAAO,CAAC,wBAAwB,CAAgE;IAChG,6CAA6C;IAC7C,OAAO,CAAC,uBAAuB,CAA6E;IAC5G,gBAAgB;IAChB,OAAO,CAAC,iBAAiB,CAA+B;gBAE5C,IAAI,GAAE,MAAa;IAI/B,8CAA8C;IAC9C,OAAO,CAAC,eAAe;IAMvB,2CAA2C;IAC3C,OAAO,CAAC,kBAAkB;IAI1B,8BAA8B;IAC9B,OAAO,CAAC,oBAAoB;IAI5B,qCAAqC;IACrC,OAAO,CAAC,iBAAiB;IAenB,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA4ElD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,uBAAuB;YAuDjB,aAAa;YAuDb,kBAAkB;IAwGhC,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,yBAAyB;IAWjC,4CAA4C;IAC5C,OAAO,CAAC,YAAY;YAON,uBAAuB;YAQvB,6BAA6B;YAY7B,gBAAgB;IAkD9B;;;;;OAKG;YACW,mBAAmB;IAkQjC;;OAEG;YACW,gBAAgB;IAyC9B,6CAA6C;YAC/B,uBAAuB;IAkJrC,uCAAuC;YACzB,wBAAwB;YAwKxB,mBAAmB;YAyNnB,kBAAkB;IAkQhC,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,gBAAgB;YAQV,oBAAoB;YAKpB,WAAW;YAmDX,sBAAsB;IA2fpC,OAAO,CAAC,qBAAqB,CAAsC;YAErD,iBAAiB;IA8M/B,OAAO,CAAC,oBAAoB;YAiBd,uBAAuB;IAqCrC,uBAAuB;YACT,mBAAmB;IAoPjC,qCAAqC;YACvB,mBAAmB;YAkJnB,eAAe;YAiBf,qBAAqB;YA4BrB,oBAAoB;YAuBpB,eAAe;YAqDf,qBAAqB;YAqBrB,eAAe;YAgIf,aAAa;IAU3B;;OAEG;YACW,gBAAgB;IA2B9B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;YAgFV,iBAAiB;IAiE/B,OAAO,CAAC,WAAW;IA2DnB,OAAO,CAAC,SAAS;IAIjB;;;OAGG;IAEH;;;OAGG;YACW,wBAAwB;YAqCxB,cAAc;IA4B5B,WAAW,IAAI,YAAY,EAAE;IAIvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAa7B"}
1
+ {"version":3,"file":"websocket-server.d.ts","sourceRoot":"","sources":["../../src/debug/websocket-server.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAQV,kBAAkB,EAUnB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA2B1D,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,qBAAqB,CAA0B;IAEvD,OAAO,CAAC,yBAAyB;IAajC,0BAA0B,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAatE,OAAO,CAAC,kBAAkB,CAA0C;IAEpE,OAAO,CAAC,uBAAuB,CAA0C;IAGzE,+CAA+C;IAC/C,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,6DAA6D;IAC7D,OAAO,CAAC,wBAAwB,CAAgE;IAChG,6CAA6C;IAC7C,OAAO,CAAC,uBAAuB,CAA6E;IAC5G,gBAAgB;IAChB,OAAO,CAAC,iBAAiB,CAA+B;gBAE5C,IAAI,GAAE,MAAa;IAI/B,8CAA8C;IAC9C,OAAO,CAAC,eAAe;IAMvB,2CAA2C;IAC3C,OAAO,CAAC,kBAAkB;IAI1B,8BAA8B;IAC9B,OAAO,CAAC,oBAAoB;IAI5B,qCAAqC;IACrC,OAAO,CAAC,iBAAiB;IAenB,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA4ElD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,uBAAuB;YAuDjB,aAAa;YAuDb,kBAAkB;IAwGhC,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,yBAAyB;IAWjC,4CAA4C;IAC5C,OAAO,CAAC,YAAY;YAON,uBAAuB;YAQvB,6BAA6B;YAY7B,gBAAgB;IAkD9B;;;;;OAKG;YACW,mBAAmB;IAkQjC;;OAEG;YACW,gBAAgB;IAyC9B,6CAA6C;YAC/B,uBAAuB;IAkJrC,uCAAuC;YACzB,wBAAwB;YAwKxB,mBAAmB;YA0NnB,kBAAkB;IAsQhC,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,0BAA0B;IAiElC,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,gBAAgB;YAQV,oBAAoB;YAKpB,WAAW;YAmDX,sBAAsB;IA2fpC,OAAO,CAAC,qBAAqB,CAAsC;YAErD,iBAAiB;IA8M/B,OAAO,CAAC,oBAAoB;YAiBd,uBAAuB;IAqCrC,uBAAuB;YACT,mBAAmB;IAoPjC,qCAAqC;YACvB,mBAAmB;YAuKnB,eAAe;YAiBf,qBAAqB;YA4BrB,oBAAoB;YAuBpB,eAAe;YAqDf,qBAAqB;YAqBrB,eAAe;YAgIf,aAAa;IAU3B;;OAEG;YACW,gBAAgB;IA2B9B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;YAgFV,iBAAiB;IAiE/B,OAAO,CAAC,WAAW;IA2DnB,OAAO,CAAC,SAAS;IAIjB;;;OAGG;IAEH;;;OAGG;YACW,wBAAwB;YAqCxB,cAAc;IA4B5B,WAAW,IAAI,YAAY,EAAE;IAIvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAa7B"}
@@ -63,8 +63,9 @@ export class DebugWebSocketServer {
63
63
  }
64
64
  const batchId = request?.batchId || 'unknown';
65
65
  const ws = this.createHeadlessBatchClient(batchId);
66
- void this.handleBatchAction(ws, request).catch((error) => {
66
+ return this.handleBatchAction(ws, request).catch((error) => {
67
67
  logger.error(`[BatchAction] Background batch failed: batchId=${batchId}, error=${error.message}`);
68
+ throw error;
68
69
  });
69
70
  }
70
71
  // 任务日志订阅: taskId -> Set of WebSocket clients
@@ -1172,7 +1173,8 @@ export class DebugWebSocketServer {
1172
1173
  actionParams: resolvedActionParams,
1173
1174
  udid: request.deviceId,
1174
1175
  packageName: request.packageName,
1175
- testUrl: request.testUrl,
1176
+ testUrl: this.pickWebTargetUrl(request),
1177
+ url: this.pickWebTargetUrl(request),
1176
1178
  modelConfig: fullModelConfig,
1177
1179
  aiMemory: request.aiMemory,
1178
1180
  memory: request.memory,
@@ -1336,7 +1338,7 @@ export class DebugWebSocketServer {
1336
1338
  const fullModelConfig = this.applyModelConfig(request.modelConfig);
1337
1339
  // 始终启动请求抓包
1338
1340
  try {
1339
- await whistleManager.startCapture(sessionId);
1341
+ await whistleManager.startCapture(sessionId, undefined, 3000, request.proxyAccount);
1340
1342
  logger.info('[AiAct] Whistle request capture started: sessionId=' + sessionId);
1341
1343
  }
1342
1344
  catch (captureErr) {
@@ -1442,11 +1444,15 @@ export class DebugWebSocketServer {
1442
1444
  naturalLanguage: resolvedNaturalLanguage,
1443
1445
  udid: request.deviceId,
1444
1446
  packageName: request.packageName,
1447
+ testUrl: this.pickWebTargetUrl(request),
1448
+ url: this.pickWebTargetUrl(request),
1445
1449
  modelConfig: fullModelConfig,
1446
1450
  aiMemory: request.aiMemory,
1447
1451
  memory: request.memory,
1448
1452
  memoryScope: request.memoryScope,
1449
1453
  skipAppRestart: request.skipAppRestart,
1454
+ proxyPort: request.proxyPort,
1455
+ proxyAccount: request.proxyAccount,
1450
1456
  actionParams: {
1451
1457
  deepLocate: request.deepLocate,
1452
1458
  deepThink: request.deepThink,
@@ -1593,9 +1599,92 @@ export class DebugWebSocketServer {
1593
1599
  return String(value).split('#')[0].replace(/\/$/, '');
1594
1600
  }
1595
1601
  }
1602
+ nonEmptyText(value) {
1603
+ if (typeof value !== 'string')
1604
+ return '';
1605
+ const trimmed = value.trim();
1606
+ if (!trimmed)
1607
+ return '';
1608
+ if (trimmed.length >= 2 &&
1609
+ ((trimmed[0] === '"' && trimmed[trimmed.length - 1] === '"') ||
1610
+ (trimmed[0] === "'" && trimmed[trimmed.length - 1] === "'"))) {
1611
+ return trimmed.slice(1, -1).trim();
1612
+ }
1613
+ return trimmed;
1614
+ }
1615
+ pickWebTargetUrlWithSource(source, label = 'source', seen = new WeakSet()) {
1616
+ if (!source || typeof source !== 'object')
1617
+ return { value: '', path: '' };
1618
+ if (seen.has(source))
1619
+ return { value: '', path: '' };
1620
+ seen.add(source);
1621
+ const record = source;
1622
+ const urlKeys = [
1623
+ 'testUrl',
1624
+ 'test_url',
1625
+ 'url',
1626
+ 'targetUrl',
1627
+ 'target_url',
1628
+ 'pageUrl',
1629
+ 'page_url',
1630
+ 'openUrl',
1631
+ 'open_url',
1632
+ 'jumpUrl',
1633
+ 'jump_url',
1634
+ 'deeplink',
1635
+ 'deepLink',
1636
+ 'deep_link',
1637
+ 'schemeUrl',
1638
+ 'scheme_url',
1639
+ 'schemaUrl',
1640
+ 'schema_url',
1641
+ 'h5Url',
1642
+ 'h5_url',
1643
+ 'webUrl',
1644
+ 'web_url',
1645
+ 'landingUrl',
1646
+ 'landing_url',
1647
+ ];
1648
+ for (const key of urlKeys) {
1649
+ const value = this.nonEmptyText(record[key]);
1650
+ if (value)
1651
+ return { value, path: `${label}.${key}` };
1652
+ }
1653
+ const nestedKeys = [
1654
+ 'actionParams',
1655
+ 'params',
1656
+ 'config',
1657
+ 'data',
1658
+ 'payload',
1659
+ 'extra',
1660
+ 'case',
1661
+ 'testCase',
1662
+ 'request',
1663
+ 'context',
1664
+ ];
1665
+ for (const key of nestedKeys) {
1666
+ const nested = record[key];
1667
+ if (nested && typeof nested === 'object') {
1668
+ const picked = this.pickWebTargetUrlWithSource(nested, `${label}.${key}`, seen);
1669
+ if (picked.value)
1670
+ return picked;
1671
+ }
1672
+ }
1673
+ return { value: '', path: '' };
1674
+ }
1596
1675
  pickWebTargetUrl(source) {
1597
- const value = source?.testUrl || source?.test_url || source?.url;
1598
- return value && String(value).trim() ? String(value).trim() : '';
1676
+ return this.pickWebTargetUrlWithSource(source).value;
1677
+ }
1678
+ summarizeUrlInputs(source) {
1679
+ if (!source || typeof source !== 'object')
1680
+ return 'none';
1681
+ const record = source;
1682
+ const topLevelKeys = Object.keys(record).filter((key) => /url|link|scheme|schema|deep/i.test(key));
1683
+ const actionParams = record.actionParams;
1684
+ const actionParamKeys = actionParams && typeof actionParams === 'object'
1685
+ ? Object.keys(actionParams).filter((key) => /url|link|scheme|schema|deep/i.test(key))
1686
+ : [];
1687
+ return `top=[${topLevelKeys.join(',') || '-'}], actionParams=[${actionParamKeys.join(',') || '-'}]`;
1599
1688
  }
1600
1689
  pickBatchAiMemorySource(request, tc) {
1601
1690
  return {
@@ -2639,6 +2728,11 @@ export class DebugWebSocketServer {
2639
2728
  const effectiveDeviceId = tc.deviceId || request.deviceId;
2640
2729
  const effectivePackageName = tc.packageName || request.packageName;
2641
2730
  const effectiveBundleId = tc.bundleId || request.bundleId;
2731
+ let effectiveTestUrlInfo = this.pickWebTargetUrlWithSource(tc, 'case');
2732
+ if (!effectiveTestUrlInfo.value) {
2733
+ effectiveTestUrlInfo = this.pickWebTargetUrlWithSource(request, 'request');
2734
+ }
2735
+ let effectiveTestUrl = effectiveTestUrlInfo.value;
2642
2736
  const effectiveLoginContext = tc.loginContext || batchLoginContext;
2643
2737
  const caseMemorySource = this.pickBatchAiMemorySource(request, tc);
2644
2738
  const caseSessionId = `batch-${batchId}-case-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
@@ -2688,6 +2782,16 @@ export class DebugWebSocketServer {
2688
2782
  }
2689
2783
  const resolvedNaturalLanguage = await this.resolveScriptReferences(tc.naturalLanguage);
2690
2784
  const resolvedActionParams = await this.resolveActionParamsReferences(tc.actionParams);
2785
+ if (!effectiveTestUrl && resolvedActionParams && resolvedActionParams !== tc.actionParams) {
2786
+ effectiveTestUrlInfo = this.pickWebTargetUrlWithSource({ actionParams: resolvedActionParams }, 'case');
2787
+ effectiveTestUrl = effectiveTestUrlInfo.value;
2788
+ }
2789
+ if (effectiveTestUrl) {
2790
+ logger.info(`${caseLabel}: resolved test URL from ${effectiveTestUrlInfo.path}`);
2791
+ }
2792
+ else {
2793
+ logger.warn(`${caseLabel}: no test URL resolved; checked case ${this.summarizeUrlInputs(tc)}; request ${this.summarizeUrlInputs(request)}`);
2794
+ }
2691
2795
  // 构造 ExecuteConfig
2692
2796
  const actionType = tc.actionType || 'aiAct';
2693
2797
  const config = {
@@ -2700,6 +2804,8 @@ export class DebugWebSocketServer {
2700
2804
  udid: effectiveDeviceId,
2701
2805
  packageName: effectivePackageName,
2702
2806
  bundleId: effectiveBundleId,
2807
+ testUrl: effectiveTestUrl || undefined,
2808
+ url: effectiveTestUrl || undefined,
2703
2809
  modelConfig: fullModelConfig,
2704
2810
  aiMemory: caseMemorySource.aiMemory,
2705
2811
  memory: caseMemorySource.memory,