Skip to main content

移动端工具类 App UI 交互 Bug 猎手 — 支持 Flutter / Android Native / React Native / iOS

Project description

project-hunter

移动端工具类 App 点击无响应 Bug 猎手 — 自动在 GitHub 上搜索 Flutter、Android Native、React Native、iOS 项目的 UI 交互 bug。

安装

pip install project-hunter

需要先登录 GitHub CLI:

gh auth login

用法

project-hunter run                                    # 用 .env 默认参数(flutter)
project-hunter run --framework android                # Android Native
project-hunter run --framework react-native           # React Native
project-hunter run --framework ios                    # iOS Native
project-hunter run --framework all                    # 全框架
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'
FRAMEWORK=flutter
MIN_ISSUES=50
LIMIT=10
SAVE_PATH=~/Documents/bug-report.md
EOF

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

FRAMEWORK=flutter         # flutter | android | react-native | 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=                # 留空 = 当前目录 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{是目标框架?
framework_flutter.csv
framework_android.csv
framework_react_native.csv
framework_ios.csv}
    D -->|--framework 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 等)
framework_flutter.csv Flutter 框架识别词(dart/pubspec/bloc/riverpod 等)
framework_android.csv Android Native 识别词(kotlin/gradle/jetpack compose 等)
framework_react_native.csv React Native 识别词(expo/metro/rn 等)
framework_ios.csv iOS Native 识别词(swift/swiftui/xcode 等)
interaction.csv 点击无响应 bug 关键词(not clickable/tap not working 等)

--framework 选项决定使用哪个框架关键词文件过滤仓库,--framework 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.2.2.tar.gz (15.2 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.2.2-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: project_hunter-0.2.2.tar.gz
  • Upload date:
  • Size: 15.2 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.2.2.tar.gz
Algorithm Hash digest
SHA256 80fe9f35887bbe0aebca0397867ffb197532dfadfc1a36567884a3f48af045ec
MD5 659df073f5d4120037debca89e2f36db
BLAKE2b-256 306cde24bd539f5e3c39520b0f5d39ec6d92a757f3a55db6b98c277b5229604c

See more details on using hashes here.

Provenance

The following attestation bundles were made for project_hunter-0.2.2.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.2.2-py3-none-any.whl.

File metadata

  • Download URL: project_hunter-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 14.2 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.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5b6c51447a73eb5b9ff3a149213ca5b93aa9425369553cde56b22a88ffc75d8d
MD5 9f996346dfcb67c26354ceee02af48f1
BLAKE2b-256 0d143007ffcf518f582e9258340189436828c9322743c959be18bd76bf474cea

See more details on using hashes here.

Provenance

The following attestation bundles were made for project_hunter-0.2.2-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