Skip to main content

Flutter 工具类 App 点击无响应 Bug 猎手 — 自动搜索 GitHub 上的 UI 交互 bug

Project description

project-hunter

Flutter 工具类 App 点击无响应 Bug 猎手 — 自动搜索 GitHub 上的 UI 交互 bug。

安装

pip install project-hunter

需要先登录 GitHub CLI:

gh auth login

用法

project-hunter run                                  # 用 .env 默认参数
project-hunter run --platform ios                   # 只看 iOS bug
project-hunter run --limit 20                       # 输出 20 个仓库
project-hunter run --output-format json             # JSON 格式
project-hunter run --save-path ~/Desktop/report.md  # 指定保存路径
project-hunter run --help                           # 查看所有选项

配置

.env 文件按以下优先级查找:

  1. 当前目录 ./.env(推荐,项目级配置)
  2. 全局配置 ~/.config/project-hunter/.env(所有目录通用)

创建全局配置:

mkdir -p ~/.config/project-hunter
cat > ~/.config/project-hunter/.env << 'EOF'
PLATFORM=android
MIN_ISSUES=50
LIMIT=10
SAVE_PATH=~/Documents/flutter-bug-report.md
EOF

或在当前目录创建 .env 文件:

PLATFORM=android          # android | ios | all
MIN_ISSUES=50
LIMIT=10
CANDIDATES=140
MAX_ISSUE_PAGES=3
MAX_RELEASE_PAGES=2
OUTPUT_FORMAT=md          # md | json | text
SAVE_PATH=                # 留空 = 当前目录 flutter-bug-report.md
EDIT_DISTANCE_THRESHOLD=2

关键词文件说明

首次运行后,所有关键词文件自动生成到 ~/.config/project-hunter/keywords/,可直接编辑。

搜索流程分四个阶段,每个阶段使用不同的关键词文件:

flowchart TD
    A([tool_categories.csv]) -->|生成搜索词| B[GitHub 搜索
几百个候选仓库]
    B --> C{是工具类 App?
tool_app.csv
non_app_signals.csv}
    C -->|否 - 跳过| BL[(blacklist.csv
自动追加)]
    C -->|是| D{是目标平台?
android.csv / ios.csv}
    D -->|--platform all 跳过此步| E
    D -->|否 - 跳过| BL
    D -->|是| E{issues 里有
点击无响应 bug?
interaction.csv}
    E -->|否 - 跳过| BL
    E -->|是| F[分析仓库
issue 数 / 版本 / 得分]
    F --> G([输出报告])
文件 用途
tool_categories.csv 生成 GitHub 搜索 query 的关键词(宽泛,用于找仓库)
tool_app.csv 验证仓库是工具类 App 的关键词(细,如 pedometer/calorie/bmi)
non_app_signals.csv 排除非 App 仓库的信号词(plugin/library/template 等)
android.csv Android 平台识别词(android/gradle/apk 等)
ios.csv iOS 平台识别词(iphone/xcode/cupertino 等)
interaction.csv 点击无响应 bug 关键词(not clickable/tap not working 等)

--platform androidandroid.csv 过滤,--platform iosios.csv--platform all 两个都不过滤。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

project_hunter-0.1.3.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

project_hunter-0.1.3-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file project_hunter-0.1.3.tar.gz.

File metadata

  • Download URL: project_hunter-0.1.3.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for project_hunter-0.1.3.tar.gz
Algorithm Hash digest
SHA256 63eaeb388bca95ca58ee37526690f9b1642d3049dd3d5eea5a6266a0e8046033
MD5 c041aa1b4a1b9b62569e647a43f18a91
BLAKE2b-256 9bc715fb1518b2f5a022bc1404e7318f251b990d0f04fbd776cb37830bc03c86

See more details on using hashes here.

Provenance

The following attestation bundles were made for project_hunter-0.1.3.tar.gz:

Publisher: publish.yml on Dylanmengzhou/github_hunter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file project_hunter-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: project_hunter-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for project_hunter-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1efdf59fff8a14673037a25c1acaebb6aef5fb7d804af9ec41b21992a28793db
MD5 2157aae2728a5f7d3b49ad7d96e058fb
BLAKE2b-256 6df68fe7022218f35fd98a4ad82cf4a9deee6c78e77a6d37682402d581691768

See more details on using hashes here.

Provenance

The following attestation bundles were made for project_hunter-0.1.3-py3-none-any.whl:

Publisher: publish.yml on Dylanmengzhou/github_hunter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page