weixin-devtools-mcp 0.1.0 → 0.1.1

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 (85) hide show
  1. package/README.md +43 -31
  2. package/build/MiniProgramContext.d.ts +10 -0
  3. package/build/MiniProgramContext.d.ts.map +1 -1
  4. package/build/MiniProgramContext.js +46 -0
  5. package/build/MiniProgramContext.js.map +1 -1
  6. package/build/config/tool-profile.js +4 -4
  7. package/build/config/tool-profile.js.map +1 -1
  8. package/build/connection/manager.d.ts.map +1 -1
  9. package/build/connection/manager.js +77 -48
  10. package/build/connection/manager.js.map +1 -1
  11. package/build/connection/resolver.d.ts.map +1 -1
  12. package/build/connection/resolver.js +3 -0
  13. package/build/connection/resolver.js.map +1 -1
  14. package/build/core/assertion.d.ts +22 -0
  15. package/build/core/assertion.d.ts.map +1 -0
  16. package/build/core/assertion.js +318 -0
  17. package/build/core/assertion.js.map +1 -0
  18. package/build/core/connection.d.ts +37 -0
  19. package/build/core/connection.d.ts.map +1 -0
  20. package/build/core/connection.js +745 -0
  21. package/build/core/connection.js.map +1 -0
  22. package/build/core/index.d.ts +13 -0
  23. package/build/core/index.d.ts.map +1 -0
  24. package/build/core/index.js +19 -0
  25. package/build/core/index.js.map +1 -0
  26. package/build/core/interaction.d.ts +22 -0
  27. package/build/core/interaction.d.ts.map +1 -0
  28. package/build/core/interaction.js +185 -0
  29. package/build/core/interaction.js.map +1 -0
  30. package/build/core/navigation.d.ts +26 -0
  31. package/build/core/navigation.d.ts.map +1 -0
  32. package/build/core/navigation.js +210 -0
  33. package/build/core/navigation.js.map +1 -0
  34. package/build/core/query.d.ts +14 -0
  35. package/build/core/query.d.ts.map +1 -0
  36. package/build/core/query.js +191 -0
  37. package/build/core/query.js.map +1 -0
  38. package/build/core/screenshot.d.ts +10 -0
  39. package/build/core/screenshot.d.ts.map +1 -0
  40. package/build/core/screenshot.js +93 -0
  41. package/build/core/screenshot.js.map +1 -0
  42. package/build/core/snapshot.d.ts +17 -0
  43. package/build/core/snapshot.d.ts.map +1 -0
  44. package/build/core/snapshot.js +225 -0
  45. package/build/core/snapshot.js.map +1 -0
  46. package/build/core/types.d.ts +250 -0
  47. package/build/core/types.d.ts.map +1 -0
  48. package/build/core/types.js +6 -0
  49. package/build/core/types.js.map +1 -0
  50. package/build/server.js +18 -2
  51. package/build/server.js.map +1 -1
  52. package/build/tools/ToolDefinition.d.ts +50 -0
  53. package/build/tools/ToolDefinition.d.ts.map +1 -1
  54. package/build/tools/ToolDefinition.js +7 -0
  55. package/build/tools/ToolDefinition.js.map +1 -1
  56. package/build/tools/assert.d.ts.map +1 -1
  57. package/build/tools/assert.js +56 -16
  58. package/build/tools/assert.js.map +1 -1
  59. package/build/tools/connection.d.ts.map +1 -1
  60. package/build/tools/connection.js +19 -9
  61. package/build/tools/connection.js.map +1 -1
  62. package/build/tools/diagnose.d.ts.map +1 -1
  63. package/build/tools/diagnose.js +7 -1
  64. package/build/tools/diagnose.js.map +1 -1
  65. package/build/tools/network.d.ts +9 -5
  66. package/build/tools/network.d.ts.map +1 -1
  67. package/build/tools/network.js +227 -245
  68. package/build/tools/network.js.map +1 -1
  69. package/build/tools/page.js +2 -2
  70. package/build/tools/page.js.map +1 -1
  71. package/build/tools/tools.d.ts.map +1 -1
  72. package/build/tools/tools.js +3 -2
  73. package/build/tools/tools.js.map +1 -1
  74. package/build/tools.d.ts.map +1 -1
  75. package/build/tools.js +23 -1
  76. package/build/tools.js.map +1 -1
  77. package/build/utils/error.d.ts +6 -0
  78. package/build/utils/error.d.ts.map +1 -0
  79. package/build/utils/error.js +11 -0
  80. package/build/utils/error.js.map +1 -0
  81. package/build/version.d.ts +7 -0
  82. package/build/version.d.ts.map +1 -0
  83. package/build/version.js +10 -0
  84. package/build/version.js.map +1 -0
  85. package/package.json +2 -4
@@ -1,299 +1,281 @@
1
1
  /**
2
2
  * 网络请求监听工具
3
- * 通过拦截 wx.request, wx.uploadFile, wx.downloadFile 实现网络监控
3
+ * 采用两阶段查询:list -> get detail
4
4
  */
5
5
  /* eslint-disable @typescript-eslint/ban-ts-comment -- wx 运行时对象在 evaluate 上下文中动态注入,需保持现有注释抑制。 */
6
6
  import { z } from 'zod';
7
7
  import { defineTool, ToolCategory } from './ToolDefinition.js';
8
- // 注意: start_network_monitoring 和 stop_network_monitoring 已移除
9
- // 网络监听在连接时自动启动,无需手动管理
8
+ function sanitizeNetworkRequests(logs) {
9
+ const deduped = new Map();
10
+ for (const request of logs) {
11
+ if (!request || typeof request !== 'object') {
12
+ continue;
13
+ }
14
+ if (!request.id || request.id === 'N/A') {
15
+ continue;
16
+ }
17
+ if (!request.url || request.url === 'undefined') {
18
+ continue;
19
+ }
20
+ if (request.type !== 'request' && request.type !== 'uploadFile' && request.type !== 'downloadFile') {
21
+ continue;
22
+ }
23
+ deduped.set(request.id, request);
24
+ }
25
+ return Array.from(deduped.values()).sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
26
+ }
27
+ function toRequestStatus(request) {
28
+ if (request.pending === true) {
29
+ return 'pending';
30
+ }
31
+ return request.success ? 'success' : 'failed';
32
+ }
33
+ function toSummary(request) {
34
+ return {
35
+ reqid: request.id,
36
+ type: request.type,
37
+ method: request.method ?? 'GET',
38
+ url: request.url,
39
+ status: toRequestStatus(request),
40
+ statusCode: request.statusCode ?? null,
41
+ durationMs: request.duration ?? null,
42
+ timestamp: request.timestamp,
43
+ };
44
+ }
45
+ function ensureConnected(context) {
46
+ if (!context.miniProgram) {
47
+ throw new Error('请先连接到微信开发者工具');
48
+ }
49
+ }
50
+ const requestTypeSchema = z.enum(['request', 'uploadFile', 'downloadFile']);
51
+ const listNetworkRequestsSchema = z.object({
52
+ pageSize: z.number().int().positive().optional().default(50).describe('每页条数'),
53
+ pageIdx: z.number().int().min(0).optional().default(0).describe('页码(从 0 开始)'),
54
+ resourceTypes: z.array(requestTypeSchema).optional().describe('按请求类型过滤'),
55
+ includePreservedRequests: z.boolean().optional().default(false).describe('是否包含历史请求(最近 3 次会话)'),
56
+ urlPattern: z.string().optional().describe('URL 匹配模式(支持正则)'),
57
+ successOnly: z.boolean().optional().default(false).describe('仅返回成功请求'),
58
+ failedOnly: z.boolean().optional().default(false).describe('仅返回失败请求'),
59
+ since: z.string().optional().describe('仅返回指定时间后的请求(ISO 8601)'),
60
+ });
61
+ const getNetworkRequestSchema = z.object({
62
+ reqid: z.string().min(1).describe('请求 ID(从 list_network_requests 获取)'),
63
+ });
64
+ const stopNetworkMonitoringSchema = z.object({
65
+ clearLogs: z.boolean().optional().default(false).describe('是否同时清空已收集的日志'),
66
+ });
67
+ const clearNetworkRequestsSchema = z.object({
68
+ clearRemote: z.boolean().optional().default(true).describe('是否同时清空小程序端日志'),
69
+ });
70
+ // 注意: start_network_monitoring 已移除,监听在连接成功后自动启动
10
71
  /**
11
- * 获取网络请求工具
72
+ * 第一阶段:列表查询网络请求(短格式)
12
73
  */
13
- export const getNetworkRequestsTool = defineTool({
14
- name: 'get_network_requests',
15
- description: '获取收集到的网络请求记录,支持按类型、URL、状态过滤',
16
- schema: z.object({
17
- type: z.enum(['all', 'request', 'uploadFile', 'downloadFile']).optional().default('all').describe('请求类型过滤'),
18
- urlPattern: z.string().optional().describe('URL 匹配模式(支持正则表达式)'),
19
- successOnly: z.boolean().optional().default(false).describe('仅返回成功的请求'),
20
- limit: z.number().optional().default(50).describe('限制返回条数'),
21
- since: z.string().optional().describe('获取指定时间之后的记录,格式:ISO 8601'),
22
- }),
74
+ export const listNetworkRequestsTool = defineTool({
75
+ name: 'list_network_requests',
76
+ description: '列表查询网络请求(短格式,支持分页和过滤),用于获取 reqid 后再查询详情',
77
+ schema: listNetworkRequestsSchema,
23
78
  annotations: {
24
79
  category: ToolCategory.NETWORK,
25
80
  audience: ['developers'],
26
81
  },
27
82
  handler: async (request, response, context) => {
28
- const { type, urlPattern, successOnly, limit, since } = request.params;
29
- if (!context.miniProgram) {
30
- throw new Error('请先连接到微信开发者工具');
83
+ ensureConnected(context);
84
+ const { pageSize, pageIdx, resourceTypes, includePreservedRequests, urlPattern, successOnly, failedOnly, since, } = request.params;
85
+ if (successOnly && failedOnly) {
86
+ throw new Error('successOnly 与 failedOnly 不能同时为 true');
31
87
  }
32
- if (!context.networkStorage) {
33
- throw new Error('网络存储未初始化');
88
+ const syncedCount = await context.getNetworkCollector().syncFromRemote(true);
89
+ const allRequests = context.getNetworkCollector().getRequests({
90
+ includePreserved: includePreservedRequests,
91
+ });
92
+ let filteredRequests = sanitizeNetworkRequests(allRequests);
93
+ if (resourceTypes && resourceTypes.length > 0) {
94
+ const typeSet = new Set(resourceTypes);
95
+ filteredRequests = filteredRequests.filter(req => typeSet.has(req.type));
34
96
  }
35
- try {
36
- // 从小程序环境读取网络请求数据
37
- const logs = await context.miniProgram.evaluate(function () {
38
- // @ts-ignore - wx is available in WeChat miniprogram environment
39
- const wxObj = typeof wx !== 'undefined' ? wx : null;
40
- return wxObj?.__networkLogs || [];
41
- });
42
- const sinceTime = since ? new Date(since) : null;
43
- const urlRegex = urlPattern ? new RegExp(urlPattern) : null;
44
- // 过滤函数
45
- const filters = [
46
- // 过滤无效记录(type='response' 或 url为空/undefined)
47
- (req) => {
48
- // 过滤掉 type='response' 的记录(不应该存在)
49
- if (req.type === 'response') {
50
- return false;
51
- }
52
- // 过滤掉 URL 为空或 'undefined' 的记录
53
- if (!req.url || req.url === 'undefined') {
54
- return false;
55
- }
56
- // 过滤掉 ID 为空或 'N/A' 的记录
57
- if (!req.id || req.id === 'N/A') {
58
- return false;
59
- }
60
- return true;
61
- },
62
- // 类型过滤
63
- (req) => type === 'all' || req.type === type,
64
- // 时间过滤
65
- (req) => !sinceTime || new Date(req.timestamp) >= sinceTime,
66
- // URL 过滤
67
- (req) => !urlRegex || urlRegex.test(req.url),
68
- // 成功状态过滤
69
- (req) => !successOnly || req.success,
70
- ];
71
- const filteredRequests = logs
72
- .filter(req => filters.every(filter => filter(req)))
73
- .slice(-limit);
74
- // 生成响应
75
- response.appendResponseLine('=== 网络请求记录 ===');
76
- response.appendResponseLine(`监听状态: ${context.networkStorage.isMonitoring ? '运行中' : '已停止'}`);
77
- response.appendResponseLine(`监听开始时间: ${context.networkStorage.startTime || '未设置'}`);
78
- response.appendResponseLine(`总请求数: ${logs.length}`);
79
- response.appendResponseLine(`过滤后: ${filteredRequests.length} 条`);
80
- response.appendResponseLine('');
81
- if (filteredRequests.length === 0) {
82
- response.appendResponseLine('暂无符合条件的网络请求记录');
83
- return;
97
+ if (urlPattern) {
98
+ try {
99
+ const regex = new RegExp(urlPattern);
100
+ filteredRequests = filteredRequests.filter(req => regex.test(req.url));
84
101
  }
85
- filteredRequests.forEach((req, index) => {
86
- response.appendResponseLine(`--- 请求 ${index + 1} ---`);
87
- response.appendResponseLine(`ID: ${req.id || 'N/A'}`);
88
- response.appendResponseLine(`类型: ${req.type}`);
89
- // 过滤掉旧的、无效的记录
90
- if (!req.url || req.url === 'undefined') {
91
- response.appendResponseLine(`⚠️ 无效记录(可能是旧数据)`);
92
- response.appendResponseLine('');
93
- return;
94
- }
95
- response.appendResponseLine(`URL: ${req.url}`);
96
- if (req.method) {
97
- response.appendResponseLine(`方法: ${req.method}`);
98
- }
99
- // 优化的状态判断逻辑
100
- const isPending = req.pending === true;
101
- const isCompleted = req.pending === false;
102
- const isSuccess = req.success === true;
103
- const isFailed = req.success === false;
104
- if (isPending) {
105
- response.appendResponseLine(`状态: ⏳ 请求中(未收到响应)`);
106
- }
107
- else if (isCompleted) {
108
- if (isSuccess) {
109
- response.appendResponseLine(`状态: ✅ 成功`);
110
- }
111
- else if (isFailed) {
112
- response.appendResponseLine(`状态: ❌ 失败`);
113
- }
114
- else {
115
- response.appendResponseLine(`状态: ⚠️ 未知(success=${req.success})`);
116
- }
117
- }
118
- else {
119
- // 兼容旧格式(wx.request等,没有pending字段)
120
- if (isSuccess) {
121
- response.appendResponseLine(`状态: ✅ 成功`);
122
- }
123
- else if (isFailed) {
124
- response.appendResponseLine(`状态: ❌ 失败`);
125
- }
126
- else {
127
- response.appendResponseLine(`状态: ⚠️ 未知状态`);
128
- }
129
- }
130
- if (req.statusCode) {
131
- response.appendResponseLine(`状态码: ${req.statusCode}`);
132
- }
133
- if (req.duration !== undefined) {
134
- response.appendResponseLine(`耗时: ${req.duration}ms`);
135
- }
136
- response.appendResponseLine(`时间: ${req.timestamp}`);
137
- if (req.source) {
138
- response.appendResponseLine(`来源: ${req.source}`);
139
- }
140
- // === 请求信息 ===
141
- if (req.headers && Object.keys(req.headers).length > 0) {
142
- response.appendResponseLine(`请求头: ${JSON.stringify(req.headers)}`);
143
- }
144
- if (req.data) {
145
- const dataStr = typeof req.data === 'string'
146
- ? req.data
147
- : JSON.stringify(req.data);
148
- const truncatedData = dataStr.length > 200
149
- ? dataStr.substring(0, 200) + '...'
150
- : dataStr;
151
- response.appendResponseLine(`请求数据: ${truncatedData}`);
152
- }
153
- if (req.params) {
154
- response.appendResponseLine(`请求参数: ${JSON.stringify(req.params)}`);
155
- }
156
- // === 响应信息 ===
157
- if (req.response) {
158
- const respStr = typeof req.response === 'string'
159
- ? req.response
160
- : JSON.stringify(req.response);
161
- const truncatedResp = respStr.length > 200
162
- ? respStr.substring(0, 200) + '...'
163
- : respStr;
164
- response.appendResponseLine(`响应数据: ${truncatedResp}`);
165
- }
166
- if (req.responseHeaders && Object.keys(req.responseHeaders).length > 0) {
167
- response.appendResponseLine(`响应头: ${JSON.stringify(req.responseHeaders)}`);
168
- }
169
- if (req.error) {
170
- response.appendResponseLine(`错误信息: ${req.error}`);
171
- }
172
- if (req.completedAt) {
173
- response.appendResponseLine(`完成时间: ${req.completedAt}`);
174
- }
175
- response.appendResponseLine('');
176
- });
177
- response.appendResponseLine('=== 获取完成 ===');
102
+ catch {
103
+ filteredRequests = filteredRequests.filter(req => req.url.includes(urlPattern));
104
+ }
105
+ }
106
+ if (successOnly) {
107
+ filteredRequests = filteredRequests.filter(req => req.success === true);
108
+ }
109
+ if (failedOnly) {
110
+ filteredRequests = filteredRequests.filter(req => req.success === false);
178
111
  }
179
- catch (error) {
180
- const errorMessage = error instanceof Error ? error.message : String(error);
181
- throw new Error(`获取网络请求失败: ${errorMessage}`);
112
+ if (since) {
113
+ const sinceTime = new Date(since).getTime();
114
+ if (Number.isNaN(sinceTime)) {
115
+ throw new Error('since 参数必须是有效的 ISO 8601 时间字符串');
116
+ }
117
+ filteredRequests = filteredRequests.filter(req => new Date(req.timestamp).getTime() >= sinceTime);
118
+ }
119
+ const total = filteredRequests.length;
120
+ const start = pageIdx * pageSize;
121
+ const end = Math.min(start + pageSize, total);
122
+ const pageRequests = filteredRequests.slice(start, end);
123
+ response.appendResponseLine('## Network Requests (List View)');
124
+ response.appendResponseLine(`监听状态: ${context.networkStorage.isMonitoring ? '运行中' : '已停止'}`);
125
+ response.appendResponseLine(`监听开始时间: ${context.networkStorage.startTime || '未设置'}`);
126
+ response.appendResponseLine(`本次同步新增: ${syncedCount}`);
127
+ response.appendResponseLine(`总数: ${total} 条`);
128
+ response.appendResponseLine(`显示: ${total === 0 ? 0 : start + 1}-${end}`);
129
+ response.appendResponseLine('');
130
+ if (pageRequests.length === 0) {
131
+ response.appendResponseLine('<no requests found>');
132
+ return;
182
133
  }
134
+ for (const item of pageRequests.map(toSummary)) {
135
+ response.appendResponseLine(`reqid=${item.reqid} [${item.type}] ${item.method} ${item.url} status=${item.status}`);
136
+ }
137
+ response.appendResponseLine('');
138
+ response.appendResponseLine('提示: 使用 get_network_request 结合 reqid 查看完整详情');
183
139
  },
184
140
  });
185
141
  /**
186
- * 停止网络监听工具
142
+ * 第二阶段:按 reqid 查询请求详情
143
+ */
144
+ export const getNetworkRequestTool = defineTool({
145
+ name: 'get_network_request',
146
+ description: '通过 reqid 获取单条网络请求完整详情',
147
+ schema: getNetworkRequestSchema,
148
+ annotations: {
149
+ category: ToolCategory.NETWORK,
150
+ audience: ['developers'],
151
+ },
152
+ handler: async (request, response, context) => {
153
+ ensureConnected(context);
154
+ await context.getNetworkCollector().syncFromRemote(true);
155
+ const requests = sanitizeNetworkRequests(context.getNetworkCollector().getRequests({ includePreserved: true }));
156
+ const matched = requests.find(item => item.id === request.params.reqid);
157
+ if (!matched) {
158
+ throw new Error(`未找到 reqid=${request.params.reqid} 的请求,请先调用 list_network_requests 获取可用 reqid`);
159
+ }
160
+ response.appendResponseLine('## Network Request (Detail View)');
161
+ response.appendResponseLine(`ID: ${matched.id}`);
162
+ response.appendResponseLine(`类型: ${matched.type}`);
163
+ response.appendResponseLine(`URL: ${matched.url}`);
164
+ response.appendResponseLine(`方法: ${matched.method ?? 'GET'}`);
165
+ response.appendResponseLine(`状态: ${toRequestStatus(matched)}`);
166
+ response.appendResponseLine(`状态码: ${matched.statusCode ?? 'N/A'}`);
167
+ response.appendResponseLine(`耗时: ${matched.duration ?? 'N/A'}ms`);
168
+ response.appendResponseLine(`时间: ${matched.timestamp}`);
169
+ if (matched.headers && Object.keys(matched.headers).length > 0) {
170
+ response.appendResponseLine(`请求头: ${JSON.stringify(matched.headers)}`);
171
+ }
172
+ if (matched.data !== undefined) {
173
+ response.appendResponseLine(`请求数据: ${JSON.stringify(matched.data)}`);
174
+ }
175
+ if (matched.params && Object.keys(matched.params).length > 0) {
176
+ response.appendResponseLine(`请求参数: ${JSON.stringify(matched.params)}`);
177
+ }
178
+ if (matched.response !== undefined) {
179
+ response.appendResponseLine(`响应数据: ${JSON.stringify(matched.response)}`);
180
+ }
181
+ if (matched.responseHeaders && Object.keys(matched.responseHeaders).length > 0) {
182
+ response.appendResponseLine(`响应头: ${JSON.stringify(matched.responseHeaders)}`);
183
+ }
184
+ if (matched.error) {
185
+ response.appendResponseLine(`错误信息: ${matched.error}`);
186
+ }
187
+ if (matched.completedAt) {
188
+ response.appendResponseLine(`完成时间: ${matched.completedAt}`);
189
+ }
190
+ },
191
+ });
192
+ /**
193
+ * 停止网络监听
187
194
  */
188
195
  export const stopNetworkMonitoringTool = defineTool({
189
196
  name: 'stop_network_monitoring',
190
- description: '停止网络请求监听,禁用拦截器',
191
- schema: z.object({
192
- clearLogs: z.boolean().optional().default(false).describe('是否同时清空已收集的日志'),
193
- }),
197
+ description: '停止网络监听并禁用拦截器',
198
+ schema: stopNetworkMonitoringSchema,
194
199
  annotations: {
195
200
  category: ToolCategory.NETWORK,
196
201
  audience: ['developers'],
197
202
  },
198
203
  handler: async (request, response, context) => {
204
+ ensureConnected(context);
199
205
  const { clearLogs } = request.params;
200
- if (!context.miniProgram) {
201
- throw new Error('请先连接到微信开发者工具');
202
- }
203
- if (!context.networkStorage) {
204
- throw new Error('网络存储未初始化');
205
- }
206
- try {
207
- // 设置禁用标志
208
- await context.miniProgram.evaluate(function () {
209
- // @ts-ignore - wx is available in WeChat miniprogram environment
206
+ await context.miniProgram.evaluate(function () {
207
+ // @ts-ignore - wx is available in WeChat miniprogram environment
208
+ const wxObj = typeof wx !== 'undefined' ? wx : null;
209
+ if (wxObj) {
210
+ // @ts-ignore
211
+ wxObj.__networkInterceptorsDisabled = true;
212
+ }
213
+ });
214
+ const storage = context.networkStorage;
215
+ storage.isMonitoring = false;
216
+ context.networkStorage = storage;
217
+ let clearedCount = 0;
218
+ if (clearLogs) {
219
+ clearedCount = await context.miniProgram.evaluate(function () {
220
+ // @ts-ignore
210
221
  const wxObj = typeof wx !== 'undefined' ? wx : null;
211
- if (wxObj) {
212
- wxObj.__networkInterceptorsDisabled = true;
222
+ if (wxObj && wxObj.__networkLogs) {
223
+ // @ts-ignore
224
+ const count = wxObj.__networkLogs.length;
225
+ // @ts-ignore
226
+ wxObj.__networkLogs = [];
227
+ return count;
213
228
  }
229
+ return 0;
214
230
  });
215
- // 更新本地状态
216
- context.networkStorage.isMonitoring = false;
217
- let clearedCount = 0;
218
- if (clearLogs) {
219
- // 清空远程日志
220
- clearedCount = await context.miniProgram.evaluate(function () {
221
- // @ts-ignore
222
- const wxObj = typeof wx !== 'undefined' ? wx : null;
223
- if (wxObj && wxObj.__networkLogs) {
224
- const count = wxObj.__networkLogs.length;
225
- wxObj.__networkLogs = [];
226
- return count;
227
- }
228
- return 0;
229
- });
230
- }
231
- response.appendResponseLine('=== 网络监听已停止 ===');
232
- response.appendResponseLine(`监听状态: 已停止`);
233
- if (clearLogs) {
234
- response.appendResponseLine(`已清空日志: ${clearedCount} 条`);
235
- }
236
- response.appendResponseLine('');
237
- response.appendResponseLine('💡 提示: 使用 reconnect_devtools 重新连接可恢复监听');
238
231
  }
239
- catch (error) {
240
- const errorMessage = error instanceof Error ? error.message : String(error);
241
- throw new Error(`停止网络监听失败: ${errorMessage}`);
232
+ response.appendResponseLine('=== 网络监听已停止 ===');
233
+ response.appendResponseLine('监听状态: 已停止');
234
+ if (clearLogs) {
235
+ response.appendResponseLine(`已清空日志: ${clearedCount} 条`);
242
236
  }
237
+ response.appendResponseLine('');
238
+ response.appendResponseLine('提示: 使用 reconnect_devtools 重新连接可恢复监听');
243
239
  },
244
240
  });
245
241
  /**
246
- * 清空网络请求记录工具
242
+ * 清空网络请求记录
247
243
  */
248
244
  export const clearNetworkRequestsTool = defineTool({
249
245
  name: 'clear_network_requests',
250
246
  description: '清空已收集的网络请求记录',
251
- schema: z.object({
252
- clearRemote: z.boolean().optional().default(true).describe('是否同时清空小程序端的日志'),
253
- }),
247
+ schema: clearNetworkRequestsSchema,
254
248
  annotations: {
255
249
  category: ToolCategory.NETWORK,
256
250
  audience: ['developers'],
257
251
  },
258
252
  handler: async (request, response, context) => {
253
+ ensureConnected(context);
259
254
  const { clearRemote } = request.params;
260
- if (!context.miniProgram) {
261
- throw new Error('请先连接到微信开发者工具');
262
- }
263
- if (!context.networkStorage) {
264
- throw new Error('网络存储未初始化');
265
- }
266
- try {
267
- // 记录当前数量
268
- const localCountBefore = context.networkStorage.requests?.length || 0;
269
- // 清空本地存储
270
- context.networkStorage.requests = [];
271
- // 清空远程日志
272
- let remoteCount = 0;
273
- if (clearRemote) {
274
- remoteCount = await context.miniProgram.evaluate(function () {
255
+ const localCountBefore = context.getNetworkCollector().getCurrentCount();
256
+ context.clearNetworkRequests();
257
+ let remoteCount = 0;
258
+ if (clearRemote) {
259
+ remoteCount = await context.miniProgram.evaluate(function () {
260
+ // @ts-ignore
261
+ const wxObj = typeof wx !== 'undefined' ? wx : null;
262
+ if (wxObj && wxObj.__networkLogs) {
275
263
  // @ts-ignore
276
- const wxObj = typeof wx !== 'undefined' ? wx : null;
277
- if (wxObj && wxObj.__networkLogs) {
278
- const count = wxObj.__networkLogs.length;
279
- wxObj.__networkLogs = [];
280
- return count;
281
- }
282
- return 0;
283
- });
284
- }
285
- response.appendResponseLine('=== 网络请求记录已清空 ===');
286
- response.appendResponseLine(`本地清空: ${localCountBefore} 条`);
287
- if (clearRemote) {
288
- response.appendResponseLine(`远程清空: ${remoteCount} 条`);
289
- }
290
- response.appendResponseLine('');
291
- response.appendResponseLine('💡 提示: 网络监听仍在运行,新的请求会继续被收集');
264
+ const count = wxObj.__networkLogs.length;
265
+ // @ts-ignore
266
+ wxObj.__networkLogs = [];
267
+ return count;
268
+ }
269
+ return 0;
270
+ });
292
271
  }
293
- catch (error) {
294
- const errorMessage = error instanceof Error ? error.message : String(error);
295
- throw new Error(`清空网络请求失败: ${errorMessage}`);
272
+ response.appendResponseLine('=== 网络请求记录已清空 ===');
273
+ response.appendResponseLine(`本地清空: ${localCountBefore} 条`);
274
+ if (clearRemote) {
275
+ response.appendResponseLine(`远程清空: ${remoteCount} 条`);
296
276
  }
277
+ response.appendResponseLine('');
278
+ response.appendResponseLine('提示: 网络监听仍在运行,新的请求会继续被收集');
297
279
  },
298
280
  });
299
281
  //# sourceMappingURL=network.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/tools/network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/tools/network.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { defineTool, ToolCategory } from './ToolDefinition.js';
9
9
  * $ 选择器工具 - 通过CSS选择器查找页面元素
10
10
  */
11
11
  export const querySelectorTool = defineTool({
12
- name: '$',
12
+ name: 'query_selector',
13
13
  description: '通过CSS选择器查找页面元素,返回匹配元素的详细信息',
14
14
  schema: z.object({
15
15
  selector: z.string().min(1, '选择器不能为空').describe('CSS选择器,如:view.container、#myId、.myClass、text=按钮'),
@@ -68,7 +68,7 @@ export const querySelectorTool = defineTool({
68
68
  * waitFor 等待工具 - 等待条件满足
69
69
  */
70
70
  export const waitForTool = defineTool({
71
- name: 'waitFor',
71
+ name: 'wait_for',
72
72
  description: '等待条件满足,支持等待元素出现、消失、文本匹配等',
73
73
  schema: z.object({
74
74
  // 支持三种模式:
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/tools/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/tools/page.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAgF1D,eAAO,MAAM,QAAQ,EAAE,cAAc,EAAU,CAAC;AAEhD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEtE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAkF1D,eAAO,MAAM,QAAQ,EAAE,cAAc,EAAU,CAAC;AAEhD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEtE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C"}