前言
大家应该还记得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在执行时一般不会询问用户对当前方案是否满意,而是思考完直接开干,很多时候即使执行跑偏了我们也不得不等待它执行完再纠偏,如果直接终止的话,本次请求就浪费掉,开始下一次请求了。所以我们还需要在窗口中告诉模型先规划,规划完重新询问一次用户,等待用户确认后再继续执行。
具体修改如下:
新增能力
- 优化UI样式 - 提升用户界面美观性和用户体验
- 新增自动在规定时间内重新调用工具以延续对话 - Cursor等IDE有会话超时时间限制,当超时后在该工具中输入提交后会直接报错,在超时时间内进行自动重新调用可以使会话始终保持活跃,持续等待用户输入新的下一步指令,从而达到一次请求在较长一段时间内仍能完成多次任务的需求
- 新增显示当前项目以用于多窗口时的区分 - 便于在多项目同时开发时快速识别当前操作的项目
- 支持环境变量配置 - 支持通过环境变量配置自动重新调用时间
- "确认方案后再执行"功能 - 当勾选该选项时,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分钟)
"确认方案后再执行"功能详解
功能说明
"确认方案后再执行"是一个重要的安全和交互功能,当您在反馈界面中勾选"需要先确认方案后再执行"复选框时:
- 方案审查:AI会先输出详细的执行计划和方案
- 用户确认:AI会调用
interactive_feedback工具打开确认窗口,询问用户是否满意该方案 - 条件执行:只有在用户确认满意后,AI才会继续执行方案
- 方案优化:如果用户不同意,AI会思考其他方案并再次请求确认
使用场景
- 复杂任务:对于涉及多个步骤或可能产生重大影响的操作
- 不确定性任务:当AI的执行方案可能不完全符合您的期望时
- 安全敏感操作:如数据库修改、文件删除等高风险操作
工作流程示例
- 用户在AI对话中表达需求
- AI分析需求并准备执行方案
- AI调用
interactive_feedback工具,用户勾选"需要先确认方案后再执行" - 用户输入需求并提交
- AI收到包含确认指令的反馈
- AI输出详细的执行计划和方案
- AI调用
interactive_feedback工具询问用户确认 - 用户在确认窗口中回复"是"或"否"
- 根据用户反馈,AI决定继续执行或重新思考方案
配置选项
该功能可以通过UI中的复选框进行配置:
- 启用:勾选"需要先确认方案后再执行"复选框
- 保存:设置会自动保存到项目配置中
- 恢复:下次打开同一项目时会恢复之前的设置
这个功能确保了AI操作的透明度和用户控制力,避免了执行不符合预期的操作。
使用方法
原始项目: noopstudios/interactive-feedback-mcp
修改后的项目: Pursue-LLL/interactive-feedback-mcp
效果展示
提示词
<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>