AI Feedback Tool:让AI助手与你真正"对话"的反馈循环工具

🎯 项目简介

在使用AI编程助手(如Windsurf、Cursor等)时,你是否遇到过这样的困扰:

  • AI完成任务后就"沉默"了,不会主动询问你的意见
  • 想要给AI反馈意见,却只能在聊天框里打字,无法发送截图
  • AI的工作流程是单向的,缺乏真正的交互循环

AI Feedback Tool 就是为了解决这些问题而生的!它是一个轻量级的Python工具,能让AI助手在完成任务后主动向你征求反馈,并支持文本+图片的多模态反馈方式,真正实现人机协作的闭环。

GitHub仓库: https://github.com/YWzzq/feedback.git


✨ 核心特性

1. 双模式支持

  • CLI模式:命令行交互,轻量快速,适合纯文本反馈
  • GUI模式:图形界面,支持图片上传和粘贴(强烈推荐

2. 图片反馈支持(GUI模式)

  • 📎 上传本地图片:支持jpg、png、gif等常见格式
  • 📋 Ctrl+V智能粘贴:自动识别剪贴板内容(图片/文本)
  • 💾 自动保存:图片自动保存到feedback/目录,返回绝对路径给AI

3. 强制反馈循环机制

通过配置全局规则,让AI助手养成"完成任务→调用反馈工具→等待反馈→继续工作"的习惯,形成真正的协作循环。

4. 输出干净

完全抑制libpng等C库警告,终端输出清爽整洁。


🚀 快速开始

安装步骤

1. Clone项目
git clone https://github.com/YWzzq/feedback.git
cd feedback
2. 安装依赖
pip install pillow

依赖说明

  • CLI模式:无需任何依赖,使用Python标准库
  • GUI模式:需要pillow库(用于图片处理)
3. 配置AI工具全局规则

这是最关键的一步!在你的AI工具(Windsurf/Cursor等)中添加以下全局规则:

# 🚨 AI必读:强制反馈循环规则

## 📋 标准工作流程(必须遵守)

### 步骤1:接收任务
用户在终端描述任务 → 你接收到任务描述

### 步骤2:查看相关文件
根据任务描述,查看对应的文件 → 理解任务的具体内容和背景

### 步骤3:制定任务列表
创建任务列表,包含:
- 任务1: [具体任务]
- 任务2: [具体任务]
- ...
- 任务N-1: [倒数第二个任务]
- 任务N: 调用反馈工具  ← 最后一个任务,必须是这个!

### 步骤4:执行任务1到N-1
按顺序执行所有任务(除了最后一个) → 完成具体工作

### 步骤5:输出任务总结
在执行最后一个任务之前,输出:
- 已完成的任务列表
- 每个任务的完成情况
- 工作成果摘要

### 步骤6:执行最后任务(调用反馈工具)
调用反馈工具 → 停止输出 → 等待用户反馈

### 步骤7:收到反馈后循环
收到用户反馈 → 回到步骤1(如果有新任务)或回到步骤4(继续当前任务) → 重复流程

---

## 核心规则(3条)

### 1️⃣ 任务列表的最后一项 = 调用反馈工具
你的任务列表必须这样结构:
- 任务1: 分析代码
- 任务2: 修复问题
- 任务3: 运行测试
- 任务4: 调用反馈工具  ← 必须是最后一项!

### 2️⃣ 调用 = 等待
调用反馈工具后:
- ✅ 停止输出任何内容
- ✅ 等待反馈工具返回
- ❌ 不要继续说话
- ❌ 不要问"有什么可以帮忙"

### 3️⃣ 收到反馈 = 再次调用
处理完用户反馈后:
1. 根据反馈执行任务
2. 输出结果
3. 再次调用反馈工具  ← 循环!
4. 再次等待

---

## 调用命令

⚠️ 将路径替换为你的实际项目路径!

python /your/path/to/ai_feedback_tool_blocking.py --gui --summary "你的任务摘要" --timeout 9999

重要提示:记得将路径替换为你实际clone的项目路径!


💡 使用方法

CLI模式(纯文本交互)

python ai_feedback_tool_blocking.py --cli --summary "AI任务摘要"

适用场景

  • 快速文本反馈
  • 无需图片说明
  • 终端环境

GUI模式(图文交互,推荐)

python ai_feedback_tool_blocking.py --gui --summary "AI任务摘要" --timeout 9999

适用场景

  • 需要上传截图、错误图片
  • 需要标注问题位置
  • 复杂的可视化反馈

🎬 实际使用场景

场景1:代码调试

  1. 你让AI修复一个bug
  2. AI修改代码后,自动调用反馈工具
  3. GUI窗口弹出,你截图错误信息并粘贴(Ctrl+V)
  4. AI收到截图,继续调试
  5. 循环往复,直到问题解决

场景2:UI设计

  1. 你让AI开发一个网页
  2. AI完成后调用反馈工具
  3. 你截图当前UI,用画图工具标注需要修改的地方
  4. 粘贴到反馈窗口,AI根据标注精准修改
  5. 持续迭代,直到满意

场景3:文档编写

  1. AI生成文档初稿
  2. 调用反馈工具
  3. 你在文本框输入修改意见
  4. AI根据反馈优化文档
  5. 再次调用反馈工具,形成循环

🔧 参数说明

参数 必选 说明
--cli / --gui 选择CLI或GUI模式(二选一)
--summary / -s AI工作摘要,显示在界面顶部
--timeout / -t 超时时间(秒),默认6000,建议设置9999

📂 项目结构

.
├── ai_feedback_tool_simple.py   # 核心实现(CLI+GUI)
├── ai_feedback_tool_blocking.py # 推荐使用(抑制stderr警告)
├── feedback/                    # 图片自动保存目录(自动创建)
├── README.md
├── LICENSE
└── .gitignore

🎯 最佳实践

  1. 优先使用GUI模式:支持图片反馈,交互更直观
  2. 设置长超时时间--timeout 9999 避免思考时间过长导致超时
  3. 配置全局规则:让AI自动调用反馈工具,形成完整的工作循环
  4. 使用blocking版本ai_feedback_tool_blocking.py 输出更干净
  5. 善用Ctrl+V:截图后直接粘贴,比上传文件更快捷

🌟 技术亮点

1. 智能粘贴机制

def smart_paste(event):
    """智能粘贴:检测剪贴板内容类型"""
    img = ImageGrab.grabclipboard()
    if isinstance(img, Image.Image):
        paste_image(show_warning=False)
        return "break"  # 阻止默认行为
    return None  # 让文本框正常处理文本粘贴

自动识别剪贴板内容:图片则保存,文本则正常粘贴到输入框。

2. 警告抑制

# 重定向stderr文件描述符,彻底抑制libpng C库警告
_original_stderr_fd = os.dup(2)
_devnull = os.open('/dev/null', os.O_WRONLY)
os.dup2(_devnull, 2)

在底层文件描述符级别抑制警告,确保输出干净。

3. 图片自动管理

  • 自动创建feedback/目录
  • 图片命名带时间戳:feedback_image_20260116_135530_1.png
  • 返回绝对路径,AI可直接读取

🤔 为什么需要这个工具?

传统的AI助手工作流程是单向的

用户提问 → AI回答 → 结束

使用AI Feedback Tool后,工作流程变成循环的

用户提问 → AI工作 → 调用反馈工具 → 用户反馈(文本+图片)
    ↑                                              ↓
    └──────────────── AI继续工作 ←─────────────────┘

这种闭环机制让AI助手真正成为你的协作伙伴,而不仅仅是一个"一次性"的工具。


📝 开源协议

MIT License - 自由使用、修改、分发


🔗 相关链接

  • GitHub仓库: https://github.com/YWzzq/feedback.git
  • Issue反馈: https://github.com/YWzzq/feedback/issues
  • 作者: YWzzq

💬 结语

AI Feedback Tool 是一个简单但强大的工具,它改变了我们与AI助手的交互方式。通过引入反馈循环机制和多模态输入支持,让AI真正理解你的需求,实现高效的人机协作。

如果你也在使用AI编程助手,不妨试试这个工具,相信它会让你的开发体验更上一层楼!

Star⭐ 支持一下吧! 👉 https://github.com/YWzzq/feedback.git


关键词: AI助手, 反馈循环, Windsurf, Cursor, 图片反馈, Python工具, 人机协作, GUI, CLI

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐