cursor-feedback 1.0.6 → 1.0.9

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/README_CN.md ADDED
@@ -0,0 +1,268 @@
1
+ # Cursor Feedback
2
+
3
+ [English](./README.md)
4
+
5
+ [![Version](https://img.shields.io/visual-studio-marketplace/v/jianger666.cursor-feedback)](https://marketplace.visualstudio.com/items?itemName=jianger666.cursor-feedback)
6
+ [![Downloads](https://img.shields.io/visual-studio-marketplace/d/jianger666.cursor-feedback)](https://marketplace.visualstudio.com/items?itemName=jianger666.cursor-feedback)
7
+ [![npm](https://img.shields.io/npm/v/cursor-feedback)](https://www.npmjs.com/package/cursor-feedback)
8
+
9
+ **节省你的 Cursor 月度配额!** 通过 MCP(Model Context Protocol)实现一次对话内无限交互的交互式反馈工具。
10
+
11
+ ![Demo](./demo.gif)
12
+
13
+ ## 💡 为什么选择 Cursor Feedback?
14
+
15
+ 如果你使用的是 Cursor 的 500次/月 计划,每次对话都很珍贵。使用 Cursor Feedback:
16
+
17
+ - **一次对话,无限交互** - 持续聊天而不消耗额外配额
18
+ - **人机协作工作流** - AI 等待你的反馈后再继续
19
+ - **侧边栏集成** - 无需打开外部浏览器,一切都在 IDE 内完成
20
+
21
+ 灵感来自 [mcp-feedback-enhanced](https://github.com/Minidoracat/mcp-feedback-enhanced),使用 TypeScript 重写。
22
+
23
+ ## ✨ 特性
24
+
25
+ - 🎯 **侧边栏集成** - 直接在 IDE 侧边栏中显示反馈界面,无需打开外部浏览器
26
+ - 💬 **交互式反馈** - AI Agent 可以通过 MCP 工具请求用户反馈
27
+ - 🖼️ **图片支持** - 支持上传图片或直接粘贴(Ctrl+V / Cmd+V)
28
+ - 📁 **文件支持** - 支持选择文件/文件夹,将路径告诉 AI 让其读取
29
+ - 📝 **Markdown 渲染** - AI 摘要支持完整的 Markdown 格式
30
+ - ⏱️ **超时自动重试** - 默认 5 分钟超时,超时后 AI 会自动重新请求反馈
31
+ - 🌍 **多语言支持** - 支持简体中文、繁体中文和英文
32
+ - 🔒 **项目隔离** - 多窗口同时使用时,各项目互不干扰
33
+
34
+ ## 🚀 快速开始
35
+
36
+ ### 1. 安装 Cursor 插件
37
+
38
+ 在 Cursor 扩展商店搜索 **"Cursor Feedback"** 安装。
39
+
40
+ > **如果搜索不到?** 可以通过命令行安装:
41
+ > ```bash
42
+ > cursor --install-extension jianger666.cursor-feedback
43
+ > ```
44
+
45
+ ### 2. 配置 MCP Server
46
+
47
+ #### 方式 A:一键安装(推荐)
48
+
49
+ 点击下方按钮,自动配置 MCP Server:
50
+
51
+ <a href="https://cursor.com/en/install-mcp?name=cursor-feedback&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImN1cnNvci1mZWVkYmFja0BsYXRlc3QiXX0%3D">
52
+ <img src="mcp-install-dark.png" alt="Install MCP Server" width="126" height="28" />
53
+ </a>
54
+
55
+ #### 方式 B:手动配置
56
+
57
+ 在 Cursor 的 MCP 配置文件中添加(`~/.cursor/mcp.json`):
58
+
59
+ ```json
60
+ {
61
+ "mcpServers": {
62
+ "cursor-feedback": {
63
+ "command": "npx",
64
+ "args": ["-y", "cursor-feedback@latest"]
65
+ }
66
+ }
67
+ }
68
+ ```
69
+
70
+ #### 方式 C:全局安装
71
+
72
+ ```bash
73
+ npm install -g cursor-feedback
74
+ ```
75
+
76
+ 然后配置:
77
+
78
+ ```json
79
+ {
80
+ "mcpServers": {
81
+ "cursor-feedback": {
82
+ "command": "cursor-feedback-mcp"
83
+ }
84
+ }
85
+ }
86
+ ```
87
+
88
+ ### 3. 使用
89
+
90
+ 1. 重启 Cursor
91
+ 2. 侧边栏会出现 **Cursor Feedback** 图标
92
+ 3. 在聊天中让 AI 调用 `interactive_feedback` 工具
93
+ 4. AI 会在侧边栏显示工作摘要,等待您的反馈
94
+
95
+ ### 4. 配置 User Rules(推荐)
96
+
97
+ 为了让 AI 更好地使用 Cursor Feedback,建议在 Cursor 设置中添加以下 User Rules:
98
+
99
+ ```
100
+ # Cursor Feedback 规则
101
+
102
+ 1. 在任何流程、任务、对话进行时,无论是询问、回复、或完成阶段性任务,皆必须调用 MCP cursor-feedback。
103
+ 2. 每当收到用户反馈,必须再次调用 MCP cursor-feedback,并根据反馈内容调整行为。
104
+ 3. 完成任务前,必须使用 MCP cursor-feedback 工具向用户询问反馈。
105
+ 4. 所有需要展示给用户的内容必须全部通过 cursor-feedback 的 summary 参数传递。
106
+ ```
107
+
108
+ 配置后,AI 会在对话过程中自动调用 Cursor Feedback 工具,所有回复内容都会通过侧边栏展示,实现持续的交互式对话。
109
+
110
+ ## 📖 MCP 工具
111
+
112
+ ### interactive_feedback
113
+
114
+ 交互式反馈收集工具。
115
+
116
+ **参数:**
117
+
118
+ | 参数 | 类型 | 默认值 | 描述 |
119
+ |------|------|--------|------|
120
+ | `project_directory` | string | `.` | 项目目录的绝对路径(用于多窗口项目隔离) |
121
+ | `summary` | string | `I have completed the task you requested.` | AI 工作摘要(支持 Markdown) |
122
+ | `timeout` | number | `300` | 超时时间(秒),默认 5 分钟 |
123
+
124
+ **超时机制:**
125
+
126
+ - 默认等待用户反馈 5 分钟(300 秒)
127
+ - 超时后 AI 会收到超时通知
128
+ - AI 会根据工具指令自动重新调用此工具,继续等待用户反馈
129
+ - 这样即使您暂时离开,回来后 AI 仍会等待您的反馈
130
+
131
+ **返回:**
132
+
133
+ 用户反馈内容,包括文字、图片和附加文件路径。
134
+
135
+ ## ⚙️ 配置选项
136
+
137
+ ### 语言设置
138
+
139
+ **方式 1:点击侧边栏的 🌐 按钮**(推荐)
140
+
141
+ 在 Cursor Feedback 侧边栏点击地球图标即可切换语言。
142
+
143
+ **方式 2:通过 VS Code 设置**
144
+
145
+ 在设置中搜索 "Cursor Feedback":
146
+
147
+ | 设置 | 类型 | 默认值 | 描述 |
148
+ |------|------|--------|------|
149
+ | `cursorFeedback.language` | string | `zh-CN` | 界面语言 |
150
+
151
+ 可选语言:
152
+ - `zh-CN` - 简体中文
153
+ - `en` - English
154
+
155
+ ### MCP Server 配置示例
156
+
157
+ 基本配置:
158
+
159
+ ```json
160
+ {
161
+ "mcpServers": {
162
+ "cursor-feedback": {
163
+ "command": "npx",
164
+ "args": ["-y", "cursor-feedback@latest"]
165
+ }
166
+ }
167
+ }
168
+ ```
169
+
170
+ 配置超时时间(可选,默认 5 分钟):
171
+
172
+ ```json
173
+ {
174
+ "mcpServers": {
175
+ "cursor-feedback": {
176
+ "command": "npx",
177
+ "args": ["-y", "cursor-feedback@latest"],
178
+ "env": {
179
+ "MCP_FEEDBACK_TIMEOUT": "600"
180
+ }
181
+ }
182
+ }
183
+ }
184
+ ```
185
+
186
+ | 环境变量 | 默认值 | 描述 |
187
+ |---------|--------|------|
188
+ | `MCP_FEEDBACK_TIMEOUT` | `300` | 超时时间(秒),默认 5 分钟 |
189
+ | `MCP_AUTO_RETRY` | `true` | 超时后是否提示 AI 自动重试。设为 `false` 可禁用自动重试指示 |
190
+
191
+ > **超时机制**:如果用户在超时时间内没有响应,AI 会收到超时通知。默认情况下,返回消息会包含重试指示,AI 会自动重新调用 feedback 工具继续等待。如果您不希望 AI 自动重试,可以设置 `MCP_AUTO_RETRY=false`。
192
+
193
+ ## 🏗️ 架构
194
+
195
+ ```
196
+ ┌─────────────────┐ stdio ┌──────────────────┐
197
+ │ AI Agent │ ◄──────────► │ MCP Server │
198
+ │ (Cursor) │ │ (mcp-server.js) │
199
+ └─────────────────┘ └────────┬─────────┘
200
+ │ HTTP API
201
+
202
+ ┌──────────────────┐
203
+ │ Cursor 插件 │
204
+ │ (extension.js) │
205
+ └────────┬─────────┘
206
+ │ WebView
207
+
208
+ ┌──────────────────┐
209
+ │ 用户界面 │
210
+ │ (侧边栏) │
211
+ └──────────────────┘
212
+ ```
213
+
214
+ **工作流程:**
215
+
216
+ 1. AI Agent 通过 stdio 调用 MCP Server 的 `interactive_feedback` 工具
217
+ 2. MCP Server 创建反馈请求,通过 HTTP API 暴露给 Cursor 插件
218
+ 3. Cursor 插件通过轮询获取请求,在侧边栏 WebView 中显示
219
+ 4. 用户输入反馈(文字/图片/文件),提交后通过 HTTP 返回给 MCP Server
220
+ 5. MCP Server 将反馈结果返回给 AI Agent
221
+
222
+ ## 📊 与 mcp-feedback-enhanced 对比
223
+
224
+ | 功能 | mcp-feedback-enhanced | cursor-feedback |
225
+ |------|:--------------------:|:---------------:|
226
+ | MCP 工具 | ✅ | ✅ |
227
+ | 文字反馈 | ✅ | ✅ |
228
+ | 图片上传 | ✅ | ✅ |
229
+ | 图片粘贴 | ✅ | ✅ |
230
+ | 文件/文件夹选择 | ❌ | ✅ |
231
+ | Markdown 渲染 | ✅ | ✅ |
232
+ | 多语言支持 | ✅ | ✅ |
233
+ | 超时自动重试 | ✅ | ✅ |
234
+ | **IDE 侧边栏集成** | ❌ | ✅ |
235
+ | **多窗口项目隔离** | ❌ | ✅ |
236
+ | 命令执行 | ✅ | ⏳ |
237
+
238
+ ## 🛠️ 开发
239
+
240
+ ```bash
241
+ # 克隆项目
242
+ git clone https://github.com/jianger666/cursor-feedback-extension.git
243
+ cd cursor-feedback-extension
244
+
245
+ # 安装依赖
246
+ npm install
247
+
248
+ # 编译
249
+ npm run compile
250
+
251
+ # 监听模式
252
+ npm run watch
253
+
254
+ # 运行 lint
255
+ npm run lint
256
+
257
+ # 打包插件
258
+ npx vsce package
259
+ ```
260
+
261
+ ## 📄 许可证
262
+
263
+ MIT
264
+
265
+ ## 🙏 致谢
266
+
267
+ - [mcp-feedback-enhanced](https://github.com/Minidoracat/mcp-feedback-enhanced) - 原始 Python 实现
268
+ - [Model Context Protocol](https://modelcontextprotocol.io/) - MCP 协议
package/demo.gif ADDED
Binary file
package/dist/extension.js CHANGED
@@ -39,6 +39,7 @@ const vscode = __importStar(require("vscode"));
39
39
  const http = __importStar(require("http"));
40
40
  const fs = __importStar(require("fs"));
41
41
  const path = __importStar(require("path"));
42
+ const i18n_1 = require("./i18n");
42
43
  let feedbackViewProvider = null;
43
44
  let pollingInterval = null;
44
45
  function activate(context) {
@@ -54,14 +55,14 @@ function activate(context) {
54
55
  context.subscriptions.push(vscode.commands.registerCommand('cursorFeedback.startPolling', () => {
55
56
  if (feedbackViewProvider) {
56
57
  feedbackViewProvider.startPolling();
57
- vscode.window.showInformationMessage('开始监听 MCP 反馈请求');
58
+ vscode.window.showInformationMessage(feedbackViewProvider.getMessage('startListening'));
58
59
  }
59
60
  }));
60
61
  // 注册命令:停止轮询
61
62
  context.subscriptions.push(vscode.commands.registerCommand('cursorFeedback.stopPolling', () => {
62
63
  if (feedbackViewProvider) {
63
64
  feedbackViewProvider.stopPolling();
64
- vscode.window.showInformationMessage('已停止监听');
65
+ vscode.window.showInformationMessage(feedbackViewProvider.getMessage('stopListening'));
65
66
  }
66
67
  }));
67
68
  // 自动开始轮询
@@ -129,10 +130,18 @@ class FeedbackViewProvider {
129
130
  workspacePath: '',
130
131
  connectedPorts: [],
131
132
  activePort: null,
132
- lastStatus: '初始化中...'
133
+ lastStatus: ''
133
134
  };
134
135
  this._basePort = port;
135
136
  this._debugInfo.portRange = `${port}-${port + this._portScanRange - 1}`;
137
+ this._i18n = (0, i18n_1.loadMessages)(this._extensionUri.fsPath);
138
+ this._debugInfo.lastStatus = this._i18n.checkingConnection;
139
+ }
140
+ /**
141
+ * 获取翻译消息
142
+ */
143
+ getMessage(key) {
144
+ return this._i18n[key] || key;
136
145
  }
137
146
  resolveWebviewView(webviewView, _context, _token) {
138
147
  this._view = webviewView;
@@ -160,6 +169,9 @@ class FeedbackViewProvider {
160
169
  case 'selectPath':
161
170
  await this._handleSelectPath();
162
171
  break;
172
+ case 'switchLanguage':
173
+ await this._handleSwitchLanguage();
174
+ break;
163
175
  }
164
176
  });
165
177
  // 当 view 变为可见时,检查当前请求
@@ -348,7 +360,7 @@ class FeedbackViewProvider {
348
360
  // 只对新鲜请求自动聚焦和通知
349
361
  if (isFreshRequest) {
350
362
  vscode.commands.executeCommand('cursorFeedback.feedbackView.focus');
351
- vscode.window.showInformationMessage('AI 正在等待您的反馈');
363
+ vscode.window.showInformationMessage(this._i18n.aiWaitingFeedback);
352
364
  }
353
365
  }
354
366
  }
@@ -434,16 +446,16 @@ class FeedbackViewProvider {
434
446
  }));
435
447
  const result = JSON.parse(response);
436
448
  if (result.success) {
437
- vscode.window.showInformationMessage('反馈已提交');
449
+ vscode.window.showInformationMessage(this._i18n.feedbackSubmitted);
438
450
  this._currentRequest = null;
439
451
  this._showWaitingState();
440
452
  }
441
453
  else {
442
- vscode.window.showErrorMessage('提交失败:' + result.error);
454
+ vscode.window.showErrorMessage(this._i18n.submitFailed + ': ' + result.error);
443
455
  }
444
456
  }
445
457
  catch (error) {
446
- vscode.window.showErrorMessage('提交失败:无法连接到 MCP Server');
458
+ vscode.window.showErrorMessage(this._i18n.submitFailed + ': ' + this._i18n.cannotConnectMCP);
447
459
  }
448
460
  }
449
461
  /**
@@ -454,7 +466,7 @@ class FeedbackViewProvider {
454
466
  canSelectMany: true,
455
467
  canSelectFiles: true,
456
468
  canSelectFolders: true,
457
- openLabel: '选择'
469
+ openLabel: this._i18n.select
458
470
  });
459
471
  if (result && result.length > 0) {
460
472
  const paths = result.map(uri => uri.fsPath);
@@ -464,6 +476,39 @@ class FeedbackViewProvider {
464
476
  });
465
477
  }
466
478
  }
479
+ /**
480
+ * 处理语言切换
481
+ */
482
+ async _handleSwitchLanguage() {
483
+ const config = vscode.workspace.getConfiguration('cursorFeedback');
484
+ const currentConfigLang = config.get('language') || 'auto';
485
+ const languages = [
486
+ { label: '🌐 Auto (System)', value: 'auto', description: 'Detect from system language' },
487
+ { label: '简体中文', value: 'zh-CN', description: '' },
488
+ { label: 'English', value: 'en', description: '' }
489
+ ];
490
+ const selected = await vscode.window.showQuickPick(languages.map(l => ({
491
+ label: l.label + (l.value === currentConfigLang ? ' ✓' : ''),
492
+ description: l.description,
493
+ value: l.value
494
+ })), {
495
+ placeHolder: 'Select Language / 选择语言'
496
+ });
497
+ if (selected && selected.value !== currentConfigLang) {
498
+ // 更新设置
499
+ await config.update('language', selected.value, vscode.ConfigurationTarget.Global);
500
+ // 重新加载 i18n(如果是 auto,需要重新检测)
501
+ this._i18n = (0, i18n_1.loadMessages)(this._extensionUri.fsPath);
502
+ // 重新渲染 WebView
503
+ if (this._view) {
504
+ this._view.webview.html = this._getHtmlForWebview(this._view.webview);
505
+ }
506
+ const effectiveLang = (0, i18n_1.getLanguage)();
507
+ vscode.window.showInformationMessage(effectiveLang === 'en'
508
+ ? 'Language changed to English'
509
+ : '语言已切换为简体中文');
510
+ }
511
+ }
467
512
  /**
468
513
  * HTTP GET 请求
469
514
  */
@@ -522,12 +567,20 @@ class FeedbackViewProvider {
522
567
  let htmlTemplate = fs.readFileSync(htmlTemplatePath, 'utf-8');
523
568
  // CSP 策略
524
569
  const csp = `default-src 'none'; style-src ${webview.cspSource}; script-src 'unsafe-inline' ${webview.cspSource}; img-src data:;`;
570
+ // 获取语言设置
571
+ const language = (0, i18n_1.getLanguage)();
572
+ const langCode = language === 'zh-TW' ? 'zh-TW' : (language === 'en' ? 'en' : 'zh-CN');
525
573
  // 替换占位符
526
574
  htmlTemplate = htmlTemplate
527
575
  .replace(/\{\{CSP\}\}/g, csp)
576
+ .replace(/\{\{LANG\}\}/g, langCode)
528
577
  .replace(/\{\{MARKED_JS_URI\}\}/g, markedJsUri.toString())
529
578
  .replace(/\{\{STYLES_CSS_URI\}\}/g, stylesCssUri.toString())
530
- .replace(/\{\{SCRIPT_JS_URI\}\}/g, scriptJsUri.toString());
579
+ .replace(/\{\{SCRIPT_JS_URI\}\}/g, scriptJsUri.toString())
580
+ .replace(/\{\{I18N_JSON\}\}/g, JSON.stringify(this._i18n))
581
+ .replace(/\{\{i18n\.(\w+)\}\}/g, (_, key) => {
582
+ return this._i18n[key] || key;
583
+ });
531
584
  return htmlTemplate;
532
585
  }
533
586
  }
@@ -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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"}
@@ -0,0 +1,34 @@
1
+ {
2
+ "checkingConnection": "Checking connection...",
3
+ "waitingForAI": "Waiting for AI feedback request...",
4
+ "waitingHint": "The input interface will appear here when AI needs your feedback",
5
+ "aiSummary": "AI Summary",
6
+ "yourFeedback": "Your Feedback",
7
+ "feedbackPlaceholder": "Enter your feedback...",
8
+ "uploadImage": "Upload image",
9
+ "selectFilesOrFolders": "Select files/folders",
10
+ "submitFeedback": "Submit Feedback",
11
+ "toggleKeyMode": "Toggle key mode",
12
+ "remainingTime": "Remaining time",
13
+ "timeout": "Timeout",
14
+ "enterSubmitMode": "Enter to submit · Shift+Enter for newline",
15
+ "ctrlEnterSubmitMode": "Ctrl+Enter to submit · Enter for newline",
16
+ "switchToCtrlEnter": "Click to switch to Ctrl+Enter submit",
17
+ "switchToEnter": "Click to switch to Enter submit",
18
+ "mcpServerConnected": "MCP Server connected",
19
+ "mcpServerDisconnected": "MCP Server disconnected",
20
+ "debugInfo": "Debug Info",
21
+ "scanPort": "Scan port",
22
+ "workspace": "Workspace",
23
+ "currentPort": "Current port",
24
+ "connected": "Connected",
25
+ "none": "None",
26
+ "status": "Status",
27
+ "startListening": "Started listening for MCP feedback requests",
28
+ "stopListening": "Stopped listening",
29
+ "aiWaitingFeedback": "AI is waiting for your feedback",
30
+ "feedbackSubmitted": "Feedback submitted",
31
+ "submitFailed": "Submit failed",
32
+ "cannotConnectMCP": "Cannot connect to MCP Server",
33
+ "select": "Select"
34
+ }
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getLanguage = getLanguage;
37
+ exports.loadMessages = loadMessages;
38
+ const vscode = __importStar(require("vscode"));
39
+ const fs = __importStar(require("fs"));
40
+ const path = __importStar(require("path"));
41
+ let cachedMessages = null;
42
+ let cachedLanguage = null;
43
+ /**
44
+ * 获取当前配置的语言
45
+ */
46
+ function getLanguage() {
47
+ const config = vscode.workspace.getConfiguration('cursorFeedback');
48
+ const configuredLang = config.get('language') || 'auto';
49
+ if (configuredLang === 'auto') {
50
+ // 根据系统语言自动检测
51
+ const vscodeLang = vscode.env.language; // 例如 'zh-cn', 'en', 'zh-tw'
52
+ if (vscodeLang.startsWith('zh')) {
53
+ return 'zh-CN';
54
+ }
55
+ return 'en';
56
+ }
57
+ return configuredLang;
58
+ }
59
+ /**
60
+ * 加载语言消息
61
+ */
62
+ function loadMessages(extensionPath, language) {
63
+ const lang = language || getLanguage();
64
+ // 如果语言没变,返回缓存
65
+ if (cachedMessages && cachedLanguage === lang) {
66
+ return cachedMessages;
67
+ }
68
+ // 尝试加载指定语言
69
+ const langFile = path.join(extensionPath, 'dist', 'i18n', `${lang}.json`);
70
+ const defaultFile = path.join(extensionPath, 'dist', 'i18n', 'zh-CN.json');
71
+ try {
72
+ if (fs.existsSync(langFile)) {
73
+ cachedMessages = JSON.parse(fs.readFileSync(langFile, 'utf-8'));
74
+ }
75
+ else {
76
+ // 回退到默认语言
77
+ cachedMessages = JSON.parse(fs.readFileSync(defaultFile, 'utf-8'));
78
+ }
79
+ cachedLanguage = lang;
80
+ return cachedMessages;
81
+ }
82
+ catch (error) {
83
+ console.error('Failed to load i18n messages:', error);
84
+ // 返回硬编码的默认值
85
+ return getDefaultMessages();
86
+ }
87
+ }
88
+ /**
89
+ * 默认消息(兜底)
90
+ */
91
+ function getDefaultMessages() {
92
+ return {
93
+ checkingConnection: "Checking connection...",
94
+ waitingForAI: "Waiting for AI feedback request...",
95
+ waitingHint: "The input interface will appear here when AI needs your feedback",
96
+ aiSummary: "AI Summary",
97
+ yourFeedback: "Your Feedback",
98
+ feedbackPlaceholder: "Enter your feedback...",
99
+ uploadImage: "Upload image",
100
+ selectFilesOrFolders: "Select files/folders",
101
+ submitFeedback: "Submit Feedback",
102
+ toggleKeyMode: "Toggle key mode",
103
+ remainingTime: "Remaining time",
104
+ timeout: "Timeout",
105
+ enterSubmitMode: "Enter to submit · Shift+Enter for newline",
106
+ ctrlEnterSubmitMode: "Ctrl+Enter to submit · Enter for newline",
107
+ switchToCtrlEnter: "Click to switch to Ctrl+Enter submit",
108
+ switchToEnter: "Click to switch to Enter submit",
109
+ mcpServerConnected: "MCP Server connected",
110
+ mcpServerDisconnected: "MCP Server disconnected",
111
+ debugInfo: "Debug Info",
112
+ scanPort: "Scan port",
113
+ workspace: "Workspace",
114
+ currentPort: "Current port",
115
+ connected: "Connected",
116
+ none: "None",
117
+ status: "Status",
118
+ startListening: "Started listening for MCP feedback requests",
119
+ stopListening: "Stopped listening",
120
+ aiWaitingFeedback: "AI is waiting for your feedback",
121
+ feedbackSubmitted: "Feedback submitted",
122
+ submitFailed: "Submit failed",
123
+ cannotConnectMCP: "Cannot connect to MCP Server",
124
+ select: "Select"
125
+ };
126
+ }
127
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"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"}