把大佬的Interactive Feedback MCP改了一下,现在可以无限使用Cursor了

457 阅读7分钟

前言

大家应该还记得interactive-feedback-mcp项目,在Cursor没有调整计费方式之前,该项目简直就是外挂般的存在,让你原本的500次请求秒变2000+。后续Cusor调整了计费方式,套餐不再按次数计费,自然也就用不到该项目了。

但是仍有一些老用户是可以通过给官方发邮件的方式申请恢复回500次的套餐的,比如我,所以,我还是一直在用这个工具。

但是,使用过程中会经常遇到一个问题,cursor每次请求的会话超时时间大概5分钟,所以即使调用了interactive-feedback工具拉起了反馈窗口,如果你在会话超时后才提交反馈,那么cursor会直接报错并结束本次请求,相当于 interactive-feedback-mcp 项目仅在cursor会话超时前有效。

而很多场景下,我们需要较长的时间去思考下一步指令,5分钟的时间显然不够。

所以,我决定修改一下interactive-feedback-mcp项目,让模型在cursor会话超时前不断重新调用interactive-feedback,来使当前会话活跃,以达到当前会话永不超时的目的。

另外,cursor在执行时一般不会询问用户对当前方案是否满意,而是思考完直接开干,很多时候即使执行跑偏了我们也不得不等待它执行完再纠偏,如果直接终止的话,本次请求就浪费掉,开始下一次请求了。所以我们还需要在窗口中告诉模型先规划,规划完重新询问一次用户,等待用户确认后再继续执行。

具体修改如下:

新增能力

  1. 优化UI样式 - 提升用户界面美观性和用户体验
  2. 新增自动在规定时间内重新调用工具以延续对话 - Cursor等IDE有会话超时时间限制,当超时后在该工具中输入提交后会直接报错,在超时时间内进行自动重新调用可以使会话始终保持活跃,持续等待用户输入新的下一步指令,从而达到一次请求在较长一段时间内仍能完成多次任务的需求
  3. 新增显示当前项目以用于多窗口时的区分 - 便于在多项目同时开发时快速识别当前操作的项目
  4. 支持环境变量配置 - 支持通过环境变量配置自动重新调用时间
  5. "确认方案后再执行"功能 - 当勾选该选项时,AI会在执行前先输出执行计划和方案,然后通过交互反馈窗口询问用户是否满意,确保方案经过用户确认后再执行,避免执行不合适的操作

环境变量配置

可以通过设置环境变量来自定义重新拉起窗口的倒计时时间:

  • INTERACTIVE_FEEDBACK_TIMEOUT_SECONDS: 设置自动反馈的超时时间(秒),默认为290秒(约4分50秒)。这个值控制用户界面显示多长时间后自动提交反馈。

例如,在您的MCP配置文件(如 ~/.cursor/mcp.json 或其他IDE的MCP配置)中可以这样设置:

{
  "mcpServers": {
    "interactive-feedback-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/interactive-feedback-mcp",
        "run",
        "server.py"
      ],
      "env": {
        "INTERACTIVE_FEEDBACK_TIMEOUT_SECONDS": "290"
      },
      "timeout": 60000,
      "autoApprove": [
        "interactive_feedback"
      ]
    }
  }
}
  • 默认值:如果不设置此环境变量,默认使用 290 秒(约4分50秒)(cursor 会话超时时间5分钟)

"确认方案后再执行"功能详解

功能说明

"确认方案后再执行"是一个重要的安全和交互功能,当您在反馈界面中勾选"需要先确认方案后再执行"复选框时:

  1. 方案审查:AI会先输出详细的执行计划和方案
  2. 用户确认:AI会调用interactive_feedback工具打开确认窗口,询问用户是否满意该方案
  3. 条件执行:只有在用户确认满意后,AI才会继续执行方案
  4. 方案优化:如果用户不同意,AI会思考其他方案并再次请求确认

使用场景

  • 复杂任务:对于涉及多个步骤或可能产生重大影响的操作
  • 不确定性任务:当AI的执行方案可能不完全符合您的期望时
  • 安全敏感操作:如数据库修改、文件删除等高风险操作

工作流程示例

  1. 用户在AI对话中表达需求
  2. AI分析需求并准备执行方案
  3. AI调用interactive_feedback工具,用户勾选"需要先确认方案后再执行"
  4. 用户输入需求并提交
  5. AI收到包含确认指令的反馈
  6. AI输出详细的执行计划和方案
  7. AI调用interactive_feedback工具询问用户确认
  8. 用户在确认窗口中回复"是"或"否"
  9. 根据用户反馈,AI决定继续执行或重新思考方案

配置选项

该功能可以通过UI中的复选框进行配置:

  • 启用:勾选"需要先确认方案后再执行"复选框
  • 保存:设置会自动保存到项目配置中
  • 恢复:下次打开同一项目时会恢复之前的设置

这个功能确保了AI操作的透明度和用户控制力,避免了执行不符合预期的操作。

使用方法

原始项目: noopstudios/interactive-feedback-mcp

修改后的项目: Pursue-LLL/interactive-feedback-mcp

效果展示

ex.png

提示词

<role>
你是一位专注于Python和前端开发的资深编程专家,擅长解决复杂技术问题,具备严谨的逻辑推理能力和代码优化经验。
在你原有的系统指令基础上,附加以下规则并严格遵循。
</role>


<core_principles>
你的一切行为都必须严格遵循以下两条基石原则:

1.  **绝对真实**: 你的所有回答都必须基于可验证的事实和确切信息,严禁猜测。如果不确定,必须直接告知用户“我不确定”,如果是猜测,请告知用户你是基于猜测回答的。
2.  **过程透明**: 遇到复杂问题时,请先在`<thinking>`标签内分步呈现你的推理过程(如问题拆解、方案对比、关键决策依据),再基于思考结果输出解决方案。禁止直接跳过思考步骤给出结论。
</core_principles>

<code_guidelines>
1. 代码必须满足六大核心准则:
   - 简洁性:用最少代码行数实现完整功能(避免冗余代码和重复代码)等,并且清理无用和临时文件,保持项目整洁;
   - 高性能:考虑是否可提高性能,如并发、时间/空间复杂度等等
   - 可读性:使用语义化变量名、必要注释(避免晦涩缩写);
   - 可维护性:遵循Python PEP8/前端ESLint规范,模块职责单一,合理拆分和组织代码等
   - 准确性: 仅优化代码,不要简化或偏离原本逻辑,保持功能完整和一致
   - 前瞻性:优先考虑以上原则,不要向后兼容,不要为了兼容旧代码而增加冗余和复杂性,更倾向通过重构来达到以上目的。
2. 每当完成代码输出前,必须执行一次反思:
   - 检查代码是否冗余?
   - 性能是否有优化空间?
   - 是否存在过度设计?
   - 是否能用更简洁方式实现相同功能?
   - 临时使用的文件如测试文件等是否已清理?
3. 基于反思结果优化代码,确保最终代码符合上述准则。
</code_guidelines>

<feedback_rules>
你必须严格遵守以下会话规则,违反将导致严重错误:
1. 永不主动结束:不得使用"任务完成""到此结束"等结束性语言,始终表示愿意继续提供帮助;
2. 必须反思优化:完成代码输出前必须执行反思(见<code_guidelines>第2条),优化后再输出代码;
3. 强制后续询问:每次回应(包括代码输出、问题解答)后,必须调用`interactive_feedback`工具询问用户反馈(如“请问对当前方案是否满意?是否需要进一步优化?”);
4. 禁止未经确认的计划:创建todo或执行计划前,必须先调用`interactive_feedback`确认用户需求,不得直接执行;
5. 持续服务态度:始终保持开放的帮助姿态,避免任何结束暗示,始终调用interactive_feedback询问用户反馈,除非用户主动结束。
</feedback_rules>

<final_reminder>
所有回应必须严格遵循上述规则,优先保证代码质量和会话连续性。完成当前任务后,立即调用`interactive_feedback`工具。
</final_reminder>