cursor-feedback 0.1.22 → 0.1.23
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.
- package/dist/extension.js +95 -4
- package/dist/extension.js.map +1 -1
- package/package.json +1 -1
- package/src/extension.ts +104 -4
package/dist/extension.js
CHANGED
|
@@ -122,7 +122,14 @@ class FeedbackViewProvider {
|
|
|
122
122
|
this._activePort = null;
|
|
123
123
|
this._portScanRange = 20; // 扫描端口范围
|
|
124
124
|
this._seenRequestIds = new Set(); // 已处理过的请求 ID
|
|
125
|
+
this._debugInfo = {
|
|
126
|
+
portRange: '',
|
|
127
|
+
workspacePath: '',
|
|
128
|
+
connectedPorts: [],
|
|
129
|
+
lastStatus: '初始化中...'
|
|
130
|
+
};
|
|
125
131
|
this._basePort = port;
|
|
132
|
+
this._debugInfo.portRange = `${port}-${port + this._portScanRange - 1}`;
|
|
126
133
|
}
|
|
127
134
|
resolveWebviewView(webviewView, _context, _token) {
|
|
128
135
|
this._view = webviewView;
|
|
@@ -188,6 +195,9 @@ class FeedbackViewProvider {
|
|
|
188
195
|
*/
|
|
189
196
|
async _pollForFeedbackRequest() {
|
|
190
197
|
try {
|
|
198
|
+
// 更新工作区路径
|
|
199
|
+
const workspacePaths = getWorkspacePaths();
|
|
200
|
+
this._debugInfo.workspacePath = workspacePaths.length > 0 ? workspacePaths[0] : '(无工作区)';
|
|
191
201
|
// 并行扫描所有端口
|
|
192
202
|
const ports = [];
|
|
193
203
|
for (let i = 0; i < this._portScanRange; i++) {
|
|
@@ -195,6 +205,8 @@ class FeedbackViewProvider {
|
|
|
195
205
|
}
|
|
196
206
|
// 并行检查所有端口
|
|
197
207
|
const results = await Promise.all(ports.map(port => this._checkPortForRequest(port)));
|
|
208
|
+
// 更新已连接的端口列表
|
|
209
|
+
this._debugInfo.connectedPorts = results.filter(r => r.connected).map(r => r.port);
|
|
198
210
|
// 收集所有有效请求,按时间戳排序(最新的优先)
|
|
199
211
|
const validRequests = results
|
|
200
212
|
.filter(r => r.request && !this._seenRequestIds.has(r.request.id))
|
|
@@ -203,9 +215,20 @@ class FeedbackViewProvider {
|
|
|
203
215
|
if (validRequests.length > 0) {
|
|
204
216
|
const newest = validRequests[0];
|
|
205
217
|
this._activePort = newest.port;
|
|
218
|
+
this._debugInfo.lastStatus = `找到请求 (端口 ${newest.port})`;
|
|
219
|
+
this._debugInfo.mismatchInfo = undefined;
|
|
206
220
|
this._handleNewRequest(newest.request, newest.port);
|
|
221
|
+
this._updateDebugInfo();
|
|
207
222
|
return;
|
|
208
223
|
}
|
|
224
|
+
// 更新调试状态
|
|
225
|
+
if (this._debugInfo.connectedPorts.length === 0) {
|
|
226
|
+
this._debugInfo.lastStatus = '未找到 MCP Server';
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
this._debugInfo.lastStatus = `已连接 ${this._debugInfo.connectedPorts.length} 个端口,无匹配请求`;
|
|
230
|
+
}
|
|
231
|
+
this._updateDebugInfo();
|
|
209
232
|
// 检查活跃端口的请求状态(可能已被处理或超时)
|
|
210
233
|
if (this._activePort && this._currentRequest) {
|
|
211
234
|
const activeResult = results.find(r => r.port === this._activePort);
|
|
@@ -217,7 +240,8 @@ class FeedbackViewProvider {
|
|
|
217
240
|
}
|
|
218
241
|
}
|
|
219
242
|
catch (error) {
|
|
220
|
-
|
|
243
|
+
this._debugInfo.lastStatus = `轮询错误: ${error}`;
|
|
244
|
+
this._updateDebugInfo();
|
|
221
245
|
}
|
|
222
246
|
}
|
|
223
247
|
/**
|
|
@@ -231,10 +255,13 @@ class FeedbackViewProvider {
|
|
|
231
255
|
if (request) {
|
|
232
256
|
const workspacePaths = getWorkspacePaths();
|
|
233
257
|
const isMatch = isPathInWorkspace(request.projectDir);
|
|
234
|
-
console.log(`[Port ${port}] Request projectDir: ${request.projectDir}`);
|
|
235
|
-
console.log(`[Port ${port}] Workspace paths: ${JSON.stringify(workspacePaths)}`);
|
|
236
|
-
console.log(`[Port ${port}] isMatch: ${isMatch}`);
|
|
237
258
|
if (!isMatch) {
|
|
259
|
+
// 记录路径不匹配信息(用于调试)
|
|
260
|
+
this._debugInfo.mismatchInfo = {
|
|
261
|
+
requestPath: request.projectDir,
|
|
262
|
+
workspacePath: workspacePaths.length > 0 ? workspacePaths[0] : '(无工作区)'
|
|
263
|
+
};
|
|
264
|
+
this._debugInfo.lastStatus = `路径不匹配 (端口 ${port})`;
|
|
238
265
|
// 请求不属于当前工作区,忽略
|
|
239
266
|
return { connected: true, request: null, port };
|
|
240
267
|
}
|
|
@@ -329,6 +356,17 @@ class FeedbackViewProvider {
|
|
|
329
356
|
});
|
|
330
357
|
}
|
|
331
358
|
}
|
|
359
|
+
/**
|
|
360
|
+
* 更新调试信息到 WebView
|
|
361
|
+
*/
|
|
362
|
+
_updateDebugInfo() {
|
|
363
|
+
if (this._view) {
|
|
364
|
+
this._view.webview.postMessage({
|
|
365
|
+
type: 'updateDebugInfo',
|
|
366
|
+
payload: this._debugInfo
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
}
|
|
332
370
|
/**
|
|
333
371
|
* 处理反馈提交
|
|
334
372
|
*/
|
|
@@ -635,6 +673,40 @@ class FeedbackViewProvider {
|
|
|
635
673
|
background: var(--vscode-notificationsInfoIcon-foreground);
|
|
636
674
|
}
|
|
637
675
|
|
|
676
|
+
.debug-icon {
|
|
677
|
+
margin-left: auto;
|
|
678
|
+
cursor: pointer;
|
|
679
|
+
opacity: 0.6;
|
|
680
|
+
font-size: 12px;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
.debug-icon:hover {
|
|
684
|
+
opacity: 1;
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
.debug-tooltip {
|
|
688
|
+
display: none;
|
|
689
|
+
position: absolute;
|
|
690
|
+
top: 100%;
|
|
691
|
+
right: 0;
|
|
692
|
+
margin-top: 4px;
|
|
693
|
+
padding: 8px 10px;
|
|
694
|
+
background: var(--vscode-editorWidget-background);
|
|
695
|
+
border: 1px solid var(--vscode-editorWidget-border);
|
|
696
|
+
border-radius: 4px;
|
|
697
|
+
font-size: 11px;
|
|
698
|
+
white-space: pre-wrap;
|
|
699
|
+
z-index: 1000;
|
|
700
|
+
min-width: 200px;
|
|
701
|
+
max-width: 300px;
|
|
702
|
+
box-shadow: 0 2px 8px rgba(0,0,0,0.3);
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
.debug-icon:hover + .debug-tooltip,
|
|
706
|
+
.debug-tooltip:hover {
|
|
707
|
+
display: block;
|
|
708
|
+
}
|
|
709
|
+
|
|
638
710
|
.attachments-area {
|
|
639
711
|
margin-top: 10px;
|
|
640
712
|
}
|
|
@@ -790,6 +862,8 @@ class FeedbackViewProvider {
|
|
|
790
862
|
<div id="serverStatus" class="server-status">
|
|
791
863
|
<span class="dot"></span>
|
|
792
864
|
<span id="serverStatusText">${i18n.checking}</span>
|
|
865
|
+
<span id="debugIcon" class="debug-icon" title="">🔍</span>
|
|
866
|
+
<div id="debugTooltip" class="debug-tooltip"></div>
|
|
793
867
|
</div>
|
|
794
868
|
|
|
795
869
|
<!-- 等待状态 -->
|
|
@@ -874,6 +948,7 @@ class FeedbackViewProvider {
|
|
|
874
948
|
// DOM 元素
|
|
875
949
|
const serverStatus = document.getElementById('serverStatus');
|
|
876
950
|
const serverStatusText = document.getElementById('serverStatusText');
|
|
951
|
+
const debugTooltip = document.getElementById('debugTooltip');
|
|
877
952
|
const waitingStatus = document.getElementById('waitingStatus');
|
|
878
953
|
const feedbackForm = document.getElementById('feedbackForm');
|
|
879
954
|
const summaryContent = document.getElementById('summaryContent');
|
|
@@ -1105,6 +1180,22 @@ class FeedbackViewProvider {
|
|
|
1105
1180
|
serverStatusText.textContent = i18n.disconnected;
|
|
1106
1181
|
}
|
|
1107
1182
|
break;
|
|
1183
|
+
|
|
1184
|
+
case 'updateDebugInfo':
|
|
1185
|
+
const debug = message.payload;
|
|
1186
|
+
let debugText = '🔍 调试信息\\n';
|
|
1187
|
+
debugText += '━━━━━━━━━━━━\\n';
|
|
1188
|
+
debugText += '扫描端口: ' + debug.portRange + '\\n';
|
|
1189
|
+
debugText += '工作区: ' + debug.workspacePath + '\\n';
|
|
1190
|
+
debugText += '已连接: ' + (debug.connectedPorts.length > 0 ? debug.connectedPorts.join(', ') : '无') + '\\n';
|
|
1191
|
+
debugText += '状态: ' + debug.lastStatus;
|
|
1192
|
+
if (debug.mismatchInfo) {
|
|
1193
|
+
debugText += '\\n\\n⚠️ 路径不匹配\\n';
|
|
1194
|
+
debugText += '请求: ' + debug.mismatchInfo.requestPath + '\\n';
|
|
1195
|
+
debugText += '工作区: ' + debug.mismatchInfo.workspacePath;
|
|
1196
|
+
}
|
|
1197
|
+
debugTooltip.textContent = debugText;
|
|
1198
|
+
break;
|
|
1108
1199
|
|
|
1109
1200
|
case 'filesSelected':
|
|
1110
1201
|
if (message.payload.paths) {
|
package/dist/extension.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "cursor-feedback",
|
|
3
3
|
"displayName": "Cursor Feedback",
|
|
4
4
|
"description": "Interactive feedback collection for AI agents in Cursor/VS Code - MCP Server with sidebar UI",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.23",
|
|
6
6
|
"author": "jianger666",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"repository": {
|
package/src/extension.ts
CHANGED
|
@@ -125,12 +125,25 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
|
|
|
125
125
|
private _activePort: number | null = null;
|
|
126
126
|
private _portScanRange = 20; // 扫描端口范围
|
|
127
127
|
private _seenRequestIds: Set<string> = new Set(); // 已处理过的请求 ID
|
|
128
|
+
private _debugInfo: {
|
|
129
|
+
portRange: string;
|
|
130
|
+
workspacePath: string;
|
|
131
|
+
connectedPorts: number[];
|
|
132
|
+
lastStatus: string;
|
|
133
|
+
mismatchInfo?: { requestPath: string; workspacePath: string };
|
|
134
|
+
} = {
|
|
135
|
+
portRange: '',
|
|
136
|
+
workspacePath: '',
|
|
137
|
+
connectedPorts: [],
|
|
138
|
+
lastStatus: '初始化中...'
|
|
139
|
+
};
|
|
128
140
|
|
|
129
141
|
constructor(
|
|
130
142
|
private readonly _extensionUri: vscode.Uri,
|
|
131
143
|
port: number
|
|
132
144
|
) {
|
|
133
145
|
this._basePort = port;
|
|
146
|
+
this._debugInfo.portRange = `${port}-${port + this._portScanRange - 1}`;
|
|
134
147
|
}
|
|
135
148
|
|
|
136
149
|
public resolveWebviewView(
|
|
@@ -211,6 +224,10 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
|
|
|
211
224
|
*/
|
|
212
225
|
private async _pollForFeedbackRequest() {
|
|
213
226
|
try {
|
|
227
|
+
// 更新工作区路径
|
|
228
|
+
const workspacePaths = getWorkspacePaths();
|
|
229
|
+
this._debugInfo.workspacePath = workspacePaths.length > 0 ? workspacePaths[0] : '(无工作区)';
|
|
230
|
+
|
|
214
231
|
// 并行扫描所有端口
|
|
215
232
|
const ports = [];
|
|
216
233
|
for (let i = 0; i < this._portScanRange; i++) {
|
|
@@ -220,6 +237,9 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
|
|
|
220
237
|
// 并行检查所有端口
|
|
221
238
|
const results = await Promise.all(ports.map(port => this._checkPortForRequest(port)));
|
|
222
239
|
|
|
240
|
+
// 更新已连接的端口列表
|
|
241
|
+
this._debugInfo.connectedPorts = results.filter(r => r.connected).map(r => r.port);
|
|
242
|
+
|
|
223
243
|
// 收集所有有效请求,按时间戳排序(最新的优先)
|
|
224
244
|
const validRequests = results
|
|
225
245
|
.filter(r => r.request && !this._seenRequestIds.has(r.request.id))
|
|
@@ -229,10 +249,21 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
|
|
|
229
249
|
if (validRequests.length > 0) {
|
|
230
250
|
const newest = validRequests[0];
|
|
231
251
|
this._activePort = newest.port;
|
|
252
|
+
this._debugInfo.lastStatus = `找到请求 (端口 ${newest.port})`;
|
|
253
|
+
this._debugInfo.mismatchInfo = undefined;
|
|
232
254
|
this._handleNewRequest(newest.request!, newest.port);
|
|
255
|
+
this._updateDebugInfo();
|
|
233
256
|
return;
|
|
234
257
|
}
|
|
235
258
|
|
|
259
|
+
// 更新调试状态
|
|
260
|
+
if (this._debugInfo.connectedPorts.length === 0) {
|
|
261
|
+
this._debugInfo.lastStatus = '未找到 MCP Server';
|
|
262
|
+
} else {
|
|
263
|
+
this._debugInfo.lastStatus = `已连接 ${this._debugInfo.connectedPorts.length} 个端口,无匹配请求`;
|
|
264
|
+
}
|
|
265
|
+
this._updateDebugInfo();
|
|
266
|
+
|
|
236
267
|
// 检查活跃端口的请求状态(可能已被处理或超时)
|
|
237
268
|
if (this._activePort && this._currentRequest) {
|
|
238
269
|
const activeResult = results.find(r => r.port === this._activePort);
|
|
@@ -243,7 +274,8 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
|
|
|
243
274
|
}
|
|
244
275
|
}
|
|
245
276
|
} catch (error) {
|
|
246
|
-
|
|
277
|
+
this._debugInfo.lastStatus = `轮询错误: ${error}`;
|
|
278
|
+
this._updateDebugInfo();
|
|
247
279
|
}
|
|
248
280
|
}
|
|
249
281
|
|
|
@@ -263,11 +295,14 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
|
|
|
263
295
|
if (request) {
|
|
264
296
|
const workspacePaths = getWorkspacePaths();
|
|
265
297
|
const isMatch = isPathInWorkspace(request.projectDir);
|
|
266
|
-
console.log(`[Port ${port}] Request projectDir: ${request.projectDir}`);
|
|
267
|
-
console.log(`[Port ${port}] Workspace paths: ${JSON.stringify(workspacePaths)}`);
|
|
268
|
-
console.log(`[Port ${port}] isMatch: ${isMatch}`);
|
|
269
298
|
|
|
270
299
|
if (!isMatch) {
|
|
300
|
+
// 记录路径不匹配信息(用于调试)
|
|
301
|
+
this._debugInfo.mismatchInfo = {
|
|
302
|
+
requestPath: request.projectDir,
|
|
303
|
+
workspacePath: workspacePaths.length > 0 ? workspacePaths[0] : '(无工作区)'
|
|
304
|
+
};
|
|
305
|
+
this._debugInfo.lastStatus = `路径不匹配 (端口 ${port})`;
|
|
271
306
|
// 请求不属于当前工作区,忽略
|
|
272
307
|
return { connected: true, request: null, port };
|
|
273
308
|
}
|
|
@@ -375,6 +410,18 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
|
|
|
375
410
|
}
|
|
376
411
|
}
|
|
377
412
|
|
|
413
|
+
/**
|
|
414
|
+
* 更新调试信息到 WebView
|
|
415
|
+
*/
|
|
416
|
+
private _updateDebugInfo() {
|
|
417
|
+
if (this._view) {
|
|
418
|
+
this._view.webview.postMessage({
|
|
419
|
+
type: 'updateDebugInfo',
|
|
420
|
+
payload: this._debugInfo
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
|
|
378
425
|
/**
|
|
379
426
|
* 处理反馈提交
|
|
380
427
|
*/
|
|
@@ -701,6 +748,40 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
|
|
|
701
748
|
background: var(--vscode-notificationsInfoIcon-foreground);
|
|
702
749
|
}
|
|
703
750
|
|
|
751
|
+
.debug-icon {
|
|
752
|
+
margin-left: auto;
|
|
753
|
+
cursor: pointer;
|
|
754
|
+
opacity: 0.6;
|
|
755
|
+
font-size: 12px;
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
.debug-icon:hover {
|
|
759
|
+
opacity: 1;
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
.debug-tooltip {
|
|
763
|
+
display: none;
|
|
764
|
+
position: absolute;
|
|
765
|
+
top: 100%;
|
|
766
|
+
right: 0;
|
|
767
|
+
margin-top: 4px;
|
|
768
|
+
padding: 8px 10px;
|
|
769
|
+
background: var(--vscode-editorWidget-background);
|
|
770
|
+
border: 1px solid var(--vscode-editorWidget-border);
|
|
771
|
+
border-radius: 4px;
|
|
772
|
+
font-size: 11px;
|
|
773
|
+
white-space: pre-wrap;
|
|
774
|
+
z-index: 1000;
|
|
775
|
+
min-width: 200px;
|
|
776
|
+
max-width: 300px;
|
|
777
|
+
box-shadow: 0 2px 8px rgba(0,0,0,0.3);
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
.debug-icon:hover + .debug-tooltip,
|
|
781
|
+
.debug-tooltip:hover {
|
|
782
|
+
display: block;
|
|
783
|
+
}
|
|
784
|
+
|
|
704
785
|
.attachments-area {
|
|
705
786
|
margin-top: 10px;
|
|
706
787
|
}
|
|
@@ -856,6 +937,8 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
|
|
|
856
937
|
<div id="serverStatus" class="server-status">
|
|
857
938
|
<span class="dot"></span>
|
|
858
939
|
<span id="serverStatusText">${i18n.checking}</span>
|
|
940
|
+
<span id="debugIcon" class="debug-icon" title="">🔍</span>
|
|
941
|
+
<div id="debugTooltip" class="debug-tooltip"></div>
|
|
859
942
|
</div>
|
|
860
943
|
|
|
861
944
|
<!-- 等待状态 -->
|
|
@@ -940,6 +1023,7 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
|
|
|
940
1023
|
// DOM 元素
|
|
941
1024
|
const serverStatus = document.getElementById('serverStatus');
|
|
942
1025
|
const serverStatusText = document.getElementById('serverStatusText');
|
|
1026
|
+
const debugTooltip = document.getElementById('debugTooltip');
|
|
943
1027
|
const waitingStatus = document.getElementById('waitingStatus');
|
|
944
1028
|
const feedbackForm = document.getElementById('feedbackForm');
|
|
945
1029
|
const summaryContent = document.getElementById('summaryContent');
|
|
@@ -1171,6 +1255,22 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
|
|
|
1171
1255
|
serverStatusText.textContent = i18n.disconnected;
|
|
1172
1256
|
}
|
|
1173
1257
|
break;
|
|
1258
|
+
|
|
1259
|
+
case 'updateDebugInfo':
|
|
1260
|
+
const debug = message.payload;
|
|
1261
|
+
let debugText = '🔍 调试信息\\n';
|
|
1262
|
+
debugText += '━━━━━━━━━━━━\\n';
|
|
1263
|
+
debugText += '扫描端口: ' + debug.portRange + '\\n';
|
|
1264
|
+
debugText += '工作区: ' + debug.workspacePath + '\\n';
|
|
1265
|
+
debugText += '已连接: ' + (debug.connectedPorts.length > 0 ? debug.connectedPorts.join(', ') : '无') + '\\n';
|
|
1266
|
+
debugText += '状态: ' + debug.lastStatus;
|
|
1267
|
+
if (debug.mismatchInfo) {
|
|
1268
|
+
debugText += '\\n\\n⚠️ 路径不匹配\\n';
|
|
1269
|
+
debugText += '请求: ' + debug.mismatchInfo.requestPath + '\\n';
|
|
1270
|
+
debugText += '工作区: ' + debug.mismatchInfo.workspacePath;
|
|
1271
|
+
}
|
|
1272
|
+
debugTooltip.textContent = debugText;
|
|
1273
|
+
break;
|
|
1174
1274
|
|
|
1175
1275
|
case 'filesSelected':
|
|
1176
1276
|
if (message.payload.paths) {
|