# OpenHands Issue转PR教程：修复筛选后CSV仍导出全表的问题

本次实际运行：Python标准库参考程序、业务边界检查与HTML渲染。未安装或运行OpenHands，未调用模型、创建真实自动化、发送消息、建第三方PR或部署。人工基准和错误样稿均明确标注。

## 文件

input.json：原创输入；node-fields.json：字段教材，不能直接当平台导出文件导入；prompt.md：任务约束；schema.json：规范化观察结构；reference.py：本站手写参考；reference-output.json：实际本地输出；reference.html：参考产物；review-template.json：读者填写目标工具结果。

## 本地运行

```bash
python3 reference.py
python3 verify.py
```

用浏览器打开reference.html。不依赖模型或第三方账户。

## 真实平台步骤

1. 先复现屏幕与CSV不一致
打开 input.json，分类“展陈”只有S01、S03、S05。运行 python3 reference.py 后打开 reference.html，比较八行原表、三行筛选和修复前后CSV；这些是本地手写参考。

2. 在独立仓库记录Issue
按 issue.md 写清筛选操作、预期3行、实际8行和空结果行为。不要只写“导出有Bug”。在自己的GitHub练习仓库建Issue，保留原始CSV为附件。

3. 选择Issue to Pull Request预置工作流
Agent Canvas 1.27.1打开Automate，从Start from a proven workflow选择Issue to Pull Request；核对当前backend、GitHub连接和限定仓库。先用不含业务密钥的小仓库。

4. 限定修复范围与触发条件
将 prompt.md 的验收约束交给设置会话：导出必须取当前visibleRows，不能改输入数据或独立验收真值。核对自动化事件/标签后再由自己启用；本教材没有启用任何自动化。

5. 检查代理实际会话与差异
Issue触发后打开对应conversation，查看读取文件、运行命令、实际改动和失败日志。若没有会话或没有PR权限，保留失败，不能拿本地参考补丁替代目标平台输出。

6. 下载实际CSV并回读行ID
从自己的修改预览下载CSV，检查S01/S03/S05各一次，搜索不到影音S02；再测无筛选8行和无匹配仅表头。包内reference-output.json记录的是手写算法实际运行。

7. 审查PR再决定集成
核对PR关联Issue、diff没有改测试真值，运行平台项目原有测试并检查CSV内容。保留PR URL与实际模型ID；PR创建、合并和部署是不同状态。

## 版本与许可

按表中Canvas1.27.1；需GitHub练习仓库及相应Issue/PR权限。能看Issue不代表有建PR权限；本地backend关机后不可假设继续跑。模型调用和可选Cloud计费独立。

## 来源

- https://docs.openhands.dev/openhands/usage/agent-canvas/prebuilt/issue-to-pr
- https://docs.openhands.dev/openhands/usage/agent-canvas/prebuilt/github-repo-monitor
- https://docs.openhands.dev/openhands/usage/agent-canvas/setup

## 验收边界

给独立练习仓库建立一条可复现Issue：当前筛选只显示3行，CSV却导出8行。通过原生Issue-to-PR自动化生成一份可审查PR；验收PR关联原Issue、CSV头列与当前3行ID一致、无筛选仍8行、空结果只有表头、改动没有偷偷改测试真值。产物是PR链接、before/after CSV和真实运行记录。

目标产品实跑时保存原生输出，不得把本包人工/手写参考改名冒充模型返回。所有人物、订单与规则均为虚构练习数据。

渲染说明：input.html、operation.html、reference.html和figures是随当前原创输入冻结的实际浏览器预览；修改输入后重新运行会更新reference-output.json，静态HTML不会自动重绘。目标软件原生结果请另存。
