@aiscene/aiserver 1.8.4 → 1.8.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.
@@ -0,0 +1,152 @@
1
+ /**
2
+ * KnowledgeCapture — 类型定义
3
+ *
4
+ * 知识库采集模块:通过浏览器/App操作页面,自动提取内容并上传到后端知识库
5
+ */
6
+ /** 采集模式 */
7
+ export type CaptureMode = 'browser' | 'android' | 'ios';
8
+ /** 采集会话状态 */
9
+ export type CaptureSessionStatus = 'pending' | 'running' | 'paused' | 'organizing' | 'completed' | 'failed' | 'stopped';
10
+ /** 启动采集请求 */
11
+ export interface StartCaptureRequest {
12
+ /** 采集模式 */
13
+ mode: CaptureMode;
14
+ /** 浏览器模式:目标 URL */
15
+ url?: string;
16
+ /** App 模式:设备 ID */
17
+ deviceId?: string;
18
+ /** App 模式:包名 */
19
+ packageName?: string;
20
+ /** 目标知识库 ID(guada_ai 后端) */
21
+ knowledgeBaseId: string;
22
+ /** 后端知识库 API 地址 */
23
+ knowledgeBaseApiUrl?: string;
24
+ /** 后端认证 token */
25
+ knowledgeBaseToken?: string;
26
+ /** 存储到知识库的相对路径 */
27
+ relativeFolder?: string;
28
+ /** 采集名称 */
29
+ name?: string;
30
+ }
31
+ /** 采集会话 */
32
+ export interface CaptureSession {
33
+ id: string;
34
+ mode: CaptureMode;
35
+ status: CaptureSessionStatus;
36
+ name: string;
37
+ knowledgeBaseId: string;
38
+ knowledgeBaseApiUrl: string;
39
+ knowledgeBaseToken: string;
40
+ relativeFolder: string;
41
+ /** 浏览器模式数据 */
42
+ url?: string;
43
+ browser?: any;
44
+ browserContext?: any;
45
+ page?: any;
46
+ /** 最新截图 base64(用于前端预览) */
47
+ lastScreenshot?: string;
48
+ /** App 模式数据 */
49
+ deviceId?: string;
50
+ packageName?: string;
51
+ /** 采集到的页面快照列表 */
52
+ snapshots: PageSnapshot[];
53
+ /** 创建时间 */
54
+ createdAt: Date;
55
+ /** 完成时间 */
56
+ completedAt?: Date;
57
+ /** 错误信息 */
58
+ errorMessage?: string;
59
+ }
60
+ /** 页面快照 — 单次提取的页面结构化数据 */
61
+ export interface PageSnapshot {
62
+ id: string;
63
+ title: string;
64
+ url: string;
65
+ content: string;
66
+ capturedAt: string;
67
+ captureMode: 'auto' | 'selection';
68
+ meta: Record<string, string>;
69
+ openGraph: Record<string, string>;
70
+ jsonLd: any[];
71
+ links: {
72
+ url: string;
73
+ text: string;
74
+ title: string;
75
+ }[];
76
+ tables: {
77
+ caption: string;
78
+ headers: string[];
79
+ rows: string[][];
80
+ }[];
81
+ forms: {
82
+ action: string;
83
+ method: string;
84
+ inputs: any[];
85
+ }[];
86
+ pageStructure: {
87
+ title: string;
88
+ charset: string;
89
+ viewport: string;
90
+ domain: string;
91
+ tagCounts: Record<string, number>;
92
+ linkStats: {
93
+ internal: number;
94
+ external: number;
95
+ anchor: number;
96
+ };
97
+ };
98
+ images: {
99
+ url: string;
100
+ alt: string;
101
+ width: number;
102
+ height: number;
103
+ }[];
104
+ screenshotBase64?: string;
105
+ }
106
+ /** 快照摘要(用于状态响应,不含完整内容) */
107
+ export interface SnapshotSummary {
108
+ id: string;
109
+ title: string;
110
+ url: string;
111
+ contentLength: number;
112
+ imageCount: number;
113
+ linkCount: number;
114
+ capturedAt: string;
115
+ }
116
+ /** 停止采集请求 */
117
+ export interface StopCaptureRequest {
118
+ sessionId: string;
119
+ }
120
+ /** 快照请求 */
121
+ export interface SnapshotRequest {
122
+ sessionId: string;
123
+ }
124
+ /** 采集状态响应 */
125
+ export interface CaptureStatusResponse {
126
+ sessionId: string;
127
+ status: CaptureSessionStatus;
128
+ mode: CaptureMode;
129
+ name: string;
130
+ url?: string;
131
+ deviceId?: string;
132
+ packageName?: string;
133
+ snapshotCount: number;
134
+ /** 快照摘要列表 */
135
+ snapshots?: SnapshotSummary[];
136
+ createdAt: string;
137
+ completedAt?: string;
138
+ errorMessage?: string;
139
+ }
140
+ /** LLM 梳理结果 */
141
+ export interface OrganizedKnowledge {
142
+ fileName: string;
143
+ content: string;
144
+ uploadResult?: any;
145
+ }
146
+ /** 知识库配置(schema.ts 新增) */
147
+ export interface KnowledgeBaseCaptureConfig {
148
+ apiUrl: string;
149
+ token?: string;
150
+ organizePromptTemplate?: string;
151
+ }
152
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/capture/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * KnowledgeCapture — 类型定义
3
+ *
4
+ * 知识库采集模块:通过浏览器/App操作页面,自动提取内容并上传到后端知识库
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/capture/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAoBlD,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,CA8I9D;AAID,wBAAgB,SAAS,IAAI,cAAc,CAK1C;AAED,wBAAgB,YAAY,IAAI,cAAc,CAG7C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAoBlD,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,CAmJ9D;AAID,wBAAgB,SAAS,IAAI,cAAc,CAK1C;AAED,wBAAgB,YAAY,IAAI,cAAc,CAG7C"}
@@ -86,6 +86,11 @@ export function loadConfig(configPath) {
86
86
  heartbeatInterval: 30000,
87
87
  configInfo: {
88
88
  heartbeatInterval: 30000,
89
+ debugPort: cliArgs.port ?? 8002,
90
+ webPort: cliArgs.webPort ?? 3005,
91
+ capturePort: cliArgs.webPort ?? 3005,
92
+ apiPort: cliArgs.webPort ?? 3005,
93
+ scrcpyPort: cliArgs.scrcpyPort ?? 8003,
89
94
  },
90
95
  },
91
96
  callback: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAgB,MAAM,UAAU,CAAC;AAEtD,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAEtC,MAAM,aAAa,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AACpC,MAAM,eAAe,GAAG,0BAA0B,CAAC;AACnD,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AACvD,MAAM,4BAA4B,GAAG,sBAAsB,CAAC;AAC5D,MAAM,kCAAkC,GAAG,0BAA0B,CAAC;AAEtE,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,UAAU,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,UAAmB;IAC5C,yCAAyC;IACzC,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAE/B,mCAAmC;IACnC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,IAAI,eAAe,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,IAAI,qBAAqB,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAG,cAAc,CACtC,OAAO,CAAC,iBAAiB;QACzB,OAAO,CAAC,GAAG,CAAC,4BAA4B;QACxC,4BAA4B,CAC7B,CAAC;IACF,MAAM,uBAAuB,GAAG,cAAc,CAC5C,OAAO,CAAC,GAAG,CAAC,mCAAmC;QAC/C,OAAO,CAAC,GAAG,CAAC,yBAAyB;QACrC,kCAAkC,CACnC,CAAC;IAEF,MAAM,MAAM,GAAmB;QAC7B,MAAM,EAAE;YACN,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;YAChC,IAAI,EAAE,SAAS;SAChB;QACD,MAAM,EAAE;YACN,iBAAiB,EAAE,KAAK;YACxB,iBAAiB,EAAE,CAAC;YACpB,kBAAkB,EAAE,EAAE;SACvB;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,IAAI;YAClB,MAAM;YACN,WAAW;YACX,iBAAiB;YACjB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;YACrC,MAAM,EAAE,aAAa;YACrB,aAAa,EAAE,aAAa;YAC5B,OAAO,EAAE,OAAO;SACjB;QACD,EAAE,EAAE;YACF,OAAO,EAAE,OAAO,CAAC,YAAY,IAAI,qCAAqC;YACtE,MAAM,EAAE,OAAO,CAAC,WAAW,IAAI,yCAAyC;YACxE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,+BAA+B;YAC/D,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,wBAAwB;YAC5D,0BAA0B;YAC1B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,qCAAqC;YAC3F,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,yCAAyC;YAC7F,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,SAAS;YACzD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,OAAO;YAC3D,yBAAyB;YACzB,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,qCAAqC;YACzF,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,yCAAyC;YAC3F,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,SAAS;YACvD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,OAAO;SAC1D;QACD,OAAO,EAAE;YACP,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC;SAC3D;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,aAAa;YAC3C,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,UAAU;YACxC,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM;YAC1C,kBAAkB,EAAE,aAAa;YACjC,MAAM,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;YAC/B,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,iBAAiB;YACzD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,WAAW,EAAE,GAAG,MAAM,gCAAgC;YACtD,YAAY,EAAE,GAAG,MAAM,iCAAiC;YACxD,iBAAiB,EAAE,KAAK;YACxB,UAAU,EAAE;gBACV,iBAAiB,EAAE,KAAK;aACzB;SACF;QACD,QAAQ,EAAE;YACR,eAAe,EAAE,GAAG,uBAAuB,6BAA6B;YACxE,eAAe,EAAE,GAAG,uBAAuB,yCAAyC;YACpF,oBAAoB,EAAE,GAAG,uBAAuB,yCAAyC;YACzF,oBAAoB,EAAE,GAAG,uBAAuB,uCAAuC;YACvF,kBAAkB,EAAE,GAAG,MAAM,gCAAgC;YAC7D,qBAAqB,EAAE,GAAG,MAAM,sBAAsB;SACvD;QACD,KAAK,EAAE;YACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;YACvC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,iBAAiB;YACjB,gBAAgB,EAAE,WAAW;YAC7B,gBAAgB,EAAE,MAAM;YACxB,mBAAmB,EAAE,8BAA8B;YACnD,iBAAiB,EAAE,aAAa;YAChC,iBAAiB,EAAE,sBAAsB;SAC1C;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;YACtC,IAAI,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YAChC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;YACtC,YAAY,EAAE,OAAO,CAAC,kBAAkB,IAAI,SAAS;YACrD,kBAAkB,EAAE,IAAI;YACxB,iBAAiB,EAAE,IAAI;YACvB,mBAAmB,EAAE,MAAM;YAC3B,aAAa,EAAE,MAAM;YACrB,cAAc,EAAE,MAAM;YACtB,oBAAoB,EAAE,MAAM;YAC5B,wBAAwB,EAAE,MAAM;YAChC,aAAa,EAAE,OAAO,CAAC,eAAe;SACvC;KACF,CAAC;IAEF,4EAA4E;IAC5E,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC;IAE1D,4CAA4C;IAC5C,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,MAAM,CAAC,EAAE,CAAC,iBAAkB,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,EAAE,CAAC,oBAAqB,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,MAAM,CAAC,EAAE,CAAC,mBAAoB,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC,EAAE,CAAC,mBAAoB,CAAC;IAE5E,2CAA2C;IAC3C,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,MAAM,CAAC,EAAE,CAAC,gBAAiB,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,MAAM,CAAC,EAAE,CAAC,mBAAoB,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC,EAAE,CAAC,kBAAmB,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,MAAM,CAAC,EAAE,CAAC,kBAAmB,CAAC;IAE1E,qCAAqC;IACrC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,IAAI,OAAO,GAA0B,IAAI,CAAC;AAE1C,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,UAAU,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,GAAG,UAAU,EAAE,CAAC;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -109,6 +109,15 @@ export interface ScrcpyConfig {
109
109
  /** 自定义 scrcpy-server.bin 路径,留空则用 @aiscene/android 自带 */
110
110
  serverBinPath?: string;
111
111
  }
112
+ /** 知识库采集配置 */
113
+ export interface KnowledgeBaseCaptureConfig {
114
+ /** 后端知识库 API 地址 */
115
+ apiUrl: string;
116
+ /** 后端认证 token(可选) */
117
+ token?: string;
118
+ /** LLM 梳理时使用的 prompt 模板 */
119
+ organizePromptTemplate?: string;
120
+ }
112
121
  export interface AIServerConfig {
113
122
  server: ServerConfig;
114
123
  device: DeviceConfig;
@@ -120,5 +129,6 @@ export interface AIServerConfig {
120
129
  callback: CallbackConfig;
121
130
  login?: LoginConfig;
122
131
  scrcpy: ScrcpyConfig;
132
+ knowledgeBase?: KnowledgeBaseCaptureConfig;
123
133
  }
124
134
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -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;AAqBrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA0B1D,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;IAGvD,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;YAMN,gBAAgB;IAiD9B;;;;;OAKG;YACW,mBAAmB;IAiQjC;;OAEG;YACW,gBAAgB;IAyC9B,6CAA6C;YAC/B,uBAAuB;IA+IrC,uCAAuC;YACzB,wBAAwB;YAqKxB,mBAAmB;YAoNnB,kBAAkB;IA6PhC,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,gBAAgB;YAQV,oBAAoB;YAKpB,WAAW;YAmDX,sBAAsB;IAufpC,OAAO,CAAC,qBAAqB,CAAsC;YAErD,iBAAiB;IA4J/B,uBAAuB;YACT,mBAAmB;IA0NjC,qCAAqC;YACvB,mBAAmB;YA2InB,eAAe;YAiBf,qBAAqB;YA4BrB,oBAAoB;YAuBpB,eAAe;YAqDf,qBAAqB;YAqBrB,eAAe;YAgIf,aAAa;IAU3B;;OAEG;YACW,gBAAgB;IA2B9B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;YAoEV,iBAAiB;IAgC/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;AAqBrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA0B1D,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;IAGvD,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;YAMN,gBAAgB;IAiD9B;;;;;OAKG;YACW,mBAAmB;IAiQjC;;OAEG;YACW,gBAAgB;IAyC9B,6CAA6C;YAC/B,uBAAuB;IA+IrC,uCAAuC;YACzB,wBAAwB;YAqKxB,mBAAmB;YAoNnB,kBAAkB;IA6PhC,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,gBAAgB;YAQV,oBAAoB;YAKpB,WAAW;YAmDX,sBAAsB;IAufpC,OAAO,CAAC,qBAAqB,CAAsC;YAErD,iBAAiB;IA4J/B,uBAAuB;YACT,mBAAmB;IA4NjC,qCAAqC;YACvB,mBAAmB;YA2InB,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;IAgC/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"}
@@ -2372,77 +2372,81 @@ export class DebugWebSocketServer {
2372
2372
  }
2373
2373
  this.touchWebSession(sessionId);
2374
2374
  session.webActionRunning = true;
2375
- // 执行登录(仅首条或 freshBrowserPerCase 时)
2376
- const effectiveLoginContext = tc.loginContext || batchLoginContext;
2377
- if (effectiveLoginContext && (caseIndex === 0 || request.freshBrowserPerCase || !request.loginContext)) {
2378
- await executeWebLogin({
2379
- source: { loginContext: effectiveLoginContext },
2380
- page,
2381
- logPrefix: caseLabel,
2382
- });
2383
- }
2384
- // 导航到目标URL
2385
- const targetUrl = tc.url || request.url;
2386
- if (targetUrl && webActionRequest.actionType !== 'goto') {
2387
- await this.safeWebGoto(page, targetUrl, `${caseLabel} Navigate`);
2388
- }
2389
- // 执行动作
2390
- const actionType = tc.actionType || 'aiAction';
2391
- if (actionType === 'aiAction' || actionType === 'aiAct') {
2392
- const text = tc.naturalLanguage || '';
2393
- if (!text)
2394
- throw new Error('aiAction requires naturalLanguage');
2395
- await agent.aiAct(text);
2396
- }
2397
- else if (actionType === 'goto') {
2398
- if (!targetUrl)
2399
- throw new Error('goto requires url');
2400
- await this.safeWebGoto(page, targetUrl, `${caseLabel} goto`);
2401
- }
2402
- else if (actionType === 'runCode') {
2403
- const code = tc.actionParams?.code || '';
2404
- if (!code)
2405
- throw new Error('runCode requires actionParams.code');
2406
- const AsyncFunctionCtor = async function () { }.constructor;
2407
- const ctx = {
2408
- agent, page,
2409
- sleep: (ms) => new Promise((resolve) => setTimeout(resolve, ms)),
2410
- nativeSwipe: (direction, duration) => playwrightSwipe(page, { direction, duration: duration || 300 }),
2411
- console: {
2412
- log: (...args) => {
2413
- sessionManager.addLog(sessionId, args.map(String).join(' '));
2414
- this.sendMessage(ws, { type: 'log_output', sessionId, content: args.map(String).join(' ') });
2415
- },
2416
- },
2417
- };
2418
- const fn = new AsyncFunctionCtor(code);
2419
- await fn.call(ctx);
2420
- }
2421
- caseSuccess = true;
2422
- // 提取报告
2423
- let reportFile = '';
2424
2375
  try {
2425
- const sess = sessionManager.get(sessionId);
2426
- if (sess?.webAgent && typeof sess.webAgent.reportFile === 'string') {
2427
- reportFile = sess.webAgent.reportFile || '';
2376
+ // 执行登录(仅首条或 freshBrowserPerCase 时)
2377
+ const effectiveLoginContext = tc.loginContext || batchLoginContext;
2378
+ if (effectiveLoginContext && (caseIndex === 0 || request.freshBrowserPerCase || !request.loginContext)) {
2379
+ await executeWebLogin({
2380
+ source: { loginContext: effectiveLoginContext },
2381
+ page,
2382
+ logPrefix: caseLabel,
2383
+ });
2428
2384
  }
2429
- }
2430
- catch { /* ignore */ }
2431
- caseReportUrl = (await this.safeUploadReport(reportFile, `${request.batchId}-${tc.id}`)) ?? undefined;
2432
- // 停止抓包
2433
- try {
2434
- const capturedRequests = await whistleManager.stopCapture(sessionId);
2435
- if (capturedRequests.length > 0) {
2436
- const uploadResult = await this.saveAndUploadCaptureData(capturedRequests, `${request.batchId}-${tc.id}`);
2437
- if (uploadResult)
2438
- caseCaptureDataUrl = uploadResult;
2385
+ // 导航到目标URL
2386
+ const targetUrl = tc.url || request.url;
2387
+ if (targetUrl && webActionRequest.actionType !== 'goto') {
2388
+ await this.safeWebGoto(page, targetUrl, `${caseLabel} Navigate`);
2389
+ }
2390
+ // 执行动作
2391
+ const actionType = tc.actionType || 'aiAction';
2392
+ if (actionType === 'aiAction' || actionType === 'aiAct') {
2393
+ const text = tc.naturalLanguage || '';
2394
+ if (!text)
2395
+ throw new Error('aiAction requires naturalLanguage');
2396
+ await agent.aiAct(text);
2397
+ }
2398
+ else if (actionType === 'goto') {
2399
+ if (!targetUrl)
2400
+ throw new Error('goto requires url');
2401
+ await this.safeWebGoto(page, targetUrl, `${caseLabel} goto`);
2402
+ }
2403
+ else if (actionType === 'runCode') {
2404
+ const code = tc.actionParams?.code || '';
2405
+ if (!code)
2406
+ throw new Error('runCode requires actionParams.code');
2407
+ const AsyncFunctionCtor = async function () { }.constructor;
2408
+ const ctx = {
2409
+ agent, page,
2410
+ sleep: (ms) => new Promise((resolve) => setTimeout(resolve, ms)),
2411
+ nativeSwipe: (direction, duration) => playwrightSwipe(page, { direction, duration: duration || 300 }),
2412
+ console: {
2413
+ log: (...args) => {
2414
+ sessionManager.addLog(sessionId, args.map(String).join(' '));
2415
+ this.sendMessage(ws, { type: 'log_output', sessionId, content: args.map(String).join(' ') });
2416
+ },
2417
+ },
2418
+ };
2419
+ const fn = new AsyncFunctionCtor(code);
2420
+ await fn.call(ctx);
2439
2421
  }
2422
+ caseSuccess = true;
2423
+ // 提取报告
2424
+ let reportFile = '';
2425
+ try {
2426
+ const reportSess = sessionManager.get(sessionId);
2427
+ if (reportSess?.webAgent && typeof reportSess.webAgent.reportFile === 'string') {
2428
+ reportFile = reportSess.webAgent.reportFile || '';
2429
+ }
2430
+ }
2431
+ catch { /* ignore */ }
2432
+ caseReportUrl = (await this.safeUploadReport(reportFile, `${request.batchId}-${tc.id}`)) ?? undefined;
2433
+ // 停止抓包
2434
+ try {
2435
+ const capturedRequests = await whistleManager.stopCapture(sessionId);
2436
+ if (capturedRequests.length > 0) {
2437
+ const uploadResult = await this.saveAndUploadCaptureData(capturedRequests, `${request.batchId}-${tc.id}`);
2438
+ if (uploadResult)
2439
+ caseCaptureDataUrl = uploadResult;
2440
+ }
2441
+ }
2442
+ catch { /* ignore */ }
2443
+ }
2444
+ finally {
2445
+ // 无论成功/失败/异常,都必须重置执行标记,否则 closeWebSession 会因 webActionRunning=true 跳过关闭,导致会话名额泄漏
2446
+ const sess = sessionManager.get(sessionId);
2447
+ if (sess)
2448
+ sess.webActionRunning = false;
2440
2449
  }
2441
- catch { /* ignore */ }
2442
- // 重置执行标记
2443
- const sess = sessionManager.get(sessionId);
2444
- if (sess)
2445
- sess.webActionRunning = false;
2446
2450
  return { success: caseSuccess, error: caseError, reportUrl: caseReportUrl, captureDataUrl: caseCaptureDataUrl, sessionId, browserLaunched };
2447
2451
  }
2448
2452
  /** 批次执行 - 单条 App (Android/iOS) 用例 */
@@ -2892,6 +2896,18 @@ export class DebugWebSocketServer {
2892
2896
  logger.info(`[ModelConfig] Applied ${key} = ${value}`);
2893
2897
  }
2894
2898
  }
2899
+ // 数值型环境变量:前端可能传 string 或 number
2900
+ const numericEnvKeys = [
2901
+ 'MIDSCENE_REPLANNING_CYCLE_LIMIT',
2902
+ ];
2903
+ for (const key of numericEnvKeys) {
2904
+ const raw = modelConfig[key];
2905
+ const value = raw != null ? String(raw) : undefined;
2906
+ if (value) {
2907
+ process.env[key] = value;
2908
+ logger.info(`[ModelConfig] Applied ${key} = ${value}`);
2909
+ }
2910
+ }
2895
2911
  }
2896
2912
  // 2. Always force-apply Planning model config from server config
2897
2913
  const planningDefaults = {