Qt-based graphical interface for AI tools to facilitate real-time human feedback
Interactive Feedback MCP - 交互式反馈MCP服务器
🌐 Language / 語言切換: 简体中文 |English
一个强大的 MCP 服务器,在AI辅助开发工具如 Cursor 中实现无缝的人机协作工作流程。该服务器允许您运行命令、查看输出结果,并通过直观的图形界面直接向AI提供丰富的文本反馈。

✨ 核心特性
🚀 先进的用户界面
- 现代化Qt图形界面 - 直观设计和响应式布局
- 多语言支持 - 中英文界面即时切换
- 图片拖拽支持 - 自动压缩和Base64编码
- 智能按钮布局 - 自适应屏幕尺寸和用户偏好
- 工具菜单集成 - 有序组织的系统维护功能
🎯 智能快捷响应系统
- 预配置响应按钮 - 覆盖常见开发工作流程
- RIPER-5协议集成 - (研究 → 创新 → 计划 → 执行 → 审查)
- 可自定义快捷操作 - 支持拖拽重新排序
- 项目特定配置 - 记住您的偏好设置
- 智能MCP调用 - 智能判断何时需要请求反馈
🔧 强大的命令执行
- 跨平台命令执行 - 实时输出流传输
- 自动执行模式 - 适用于重复性工作流程
- 进程管理 - 启动/停止控制和状态监控
- 命令历史 - 每个项目的命令持久化
- 控制台输出 - 语法高亮和滚动支持
🖼️ 高级图片处理
- 剪贴板图片支持 - Ctrl+V粘贴功能
- 多种图片格式 - PNG、JPG、JPEG、GIF、BMP、WebP
- 智能压缩 - 可配置的目标大小(30KB-100KB)
- Base64传输 - 直接AI图像识别
- 临时文件管理 - 自动清理功能
⚙️ 专业配置管理
- 项目特定设置 - 使用Qt QSettings安全存储
- 按钮自定义 - 尺寸、可见性和内容控制
- 性能优化 - 布局缓存和批量更新
- 备份和恢复 - 配置管理功能
- 主题和布局 - 持久化存储偏好设置
💡 为什么使用这个工具?
通过引导助手与用户确认而不是分支到投机性的高成本工具调用,该模块可以大幅减少像Cursor这样的平台上的高级请求数量(例如OpenAI工具调用)。在某些情况下,它帮助将原本多达25个工具调用合并为单个具有反馈感知的请求——节省资源并提高性能。
性能优势
- 降低API成本 - 通过最小化不必要的工具调用
- 提高准确性 - 在关键决策点进行人工验证
- 增强生产力 - 通过简化的反馈工作流程
- 更好的协作 - AI和人类开发者之间的配合
🎮 使用方法
基本工作流程
- 启动界面 - 当AI助手调用时启动
- 查看摘要 - 审查AI已完成的工作
- 使用快捷响应按钮 - 处理常见反馈场景:
- ✅ 看起来不错 - 批准当前工作
- 🔧 需要小调整 - 请求轻微修改
- 📋 完成所有清单 - 执行剩余任务
- 🎯 智能执行清单 - 智能处理剩余项目
高级功能
🔍 RIPER-5 协议工作流程
系统包含用于系统性问题解决的专用按钮:
- 🔍 深度分析问题 - 深度分析模式和系统性分解
- 💡 创新解决方案 - 头脑风暴多种方法并评估选项
- 📋 制定实施计划 - 生成详细的实施计划和审查检查点
- ⚡ 执行计划步骤 - 按计划执行,带有交互反馈
- 🎯 验证最终结果 - 根据需求进行全面验证
🖼️ 图片集成
- 拖拽图片 - 直接拖入界面或使用Ctrl+V粘贴截图
- 配置传输选项 - 启用Base64进行AI识别
- 调整压缩设置 - 选择目标大小以获得最佳性能
- 发送前预览 - 使用缩略图预览功能
⚙️ 自定义选项
- 编辑快捷按钮 - 点击⚙️按钮自定义响应
- 工具菜单 - 访问系统功能,如临时文件清理
- 语言切换 - 在中英文界面之间切换
- 布局偏好 - 调整按钮大小和窗口布局
命令执行功能
- 切换命令区域 - 显示/隐藏命令执行面板
- 自动执行模式 - 启用启动时自动命令运行
- 实时输出 - 查看命令执行结果
- 进程控制 - 启动、停止和监控运行中的进程
📋 提示词工程
为了获得最佳效果,请将以下内容添加到您的AI助手自定义提示中任意一种:
示例1:
每当您想要提问时,始终调用MCP `interactive_feedback`。
每当您即将完成用户请求时,调用MCP `interactive_feedback`而不是简单地结束过程。
继续调用MCP直到用户反馈为空,然后结束请求。
使用RIPER-5协议按钮时,遵循系统化方法:
1. 🔍 研究:在提出解决方案之前彻底分析问题
2. 💡 创新:探索多种创造性方法
3. 📋 计划:创建详细的、可审查的实施计划
4. ⚡ 执行:按步骤执行计划,设置检查点
5. 🎯 审查:根据原始需求验证结果
示例2:
配套当前mcp的cursor提示词:RIPER-5-cursor-rule

这确保您的AI助手有效使用MCP服务器并遵循结构化的问题解决方法。
🔧 配置
此MCP服务器使用Qt的QSettings在每个项目基础上存储配置,包括:
存储的设置
- 命令偏好 - 每个项目的默认命令
- 执行设置 - 自动执行偏好和命令历史
- UI偏好 - 窗口几何、按钮可见性、语言选择
- 快捷响应自定义 - 自定义按钮、大小和排列
- 图片处理设置 - 压缩偏好和传输选项
- 性能设置 - 布局缓存和更新偏好
存储位置
设置存储在特定于平台的位置:
- Windows: 注册表
HKEY_CURRENT_USER\Software\InteractiveFeedbackMCP\InteractiveFeedbackMCP - macOS:
~/Library/Preferences/com.InteractiveFeedbackMCP.InteractiveFeedbackMCP.plist - Linux:
~/.config/InteractiveFeedbackMCP/InteractiveFeedbackMCP.conf
配置组织结构
- 全局设置: 窗口几何、语言偏好等通用UI设置存储在
MainWindow_General组中 - 项目特定设置: 每个项目根据其目录路径哈希获得唯一的配置组,格式为
Project_{项目名}_{目录哈希} - 基础传输设置: Base64传输配置等全局功能设置直接存储在根级别
配置隔离机制
系统通过以下方式确保不同项目的配置互不干扰:
- 目录哈希: 使用项目目录的MD5哈希值生成唯一标识符
- 组分离: 不同项目的设置存储在独立的配置组中
- 回退机制: 项目特定设置优先,未设置时使用全局默认值
存储的具体配置项
每个项目配置组包含以下设置:
run_command: 项目的默认执行命令execute_automatically: 是否自动执行命令suffix_mode: 反馈后缀模式(force/smart/none)button_size: 按钮大小设置(small/medium/large/custom)custom_button_width/height: 自定义按钮尺寸visible_buttons: 可见快捷按钮列表language: 界面语言设置use_base64_transmission: 是否启用Base64图片传输base64_target_size_kb: Base64传输的目标文件大小commandSectionVisible: 命令区域是否可见quick_responses: 自定义快捷响应按钮配置
配置文件示例
在Linux系统上,配置文件内容类似:
[MainWindow_General]
geometry=@ByteArray(...)
windowState=@ByteArray(...)
[Project_MyProject_a1b2c3d4]
run_command=python main.py
execute_automatically=false
suffix_mode=force
button_size=medium
language=zh_CN
use_base64_transmission=true
base64_target_size_kb=30
🚀 安装
前置要求
- Python 3.11 或更新版本
- uv (Python包管理器)
- Windows:
pip install uv - Linux/Mac:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Windows:
安装步骤
克隆仓库:
git clone https://github.com/liaosiqian/interactive-feedback-mcp.git cd interactive-feedback-mcp安装依赖:
uv venv uv sync --index-url https://pypi.tuna.tsinghua.edu.cn/simple
与AI工具集成
Cursor 配置
添加到您的 mcp.json 配置文件:
{
"mcpServers": {
"interactive-feedback-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/interactive-feedback-mcp",
Tools (1)
interactive_feedbackTriggers the graphical interface for human-in-the-loop feedback and command execution.Configuration
{"mcpServers": {"interactive-feedback-mcp": {"command": "uv", "args": ["--directory", "/path/to/interactive-feedback-mcp", "run", "main.py"]}}}