ๅฎๆถๆๅ GitHub Trending + Search๏ผๅ็ฐ AI / ๅผๅ่ ๅทฅๅ ท็ๆฉๆๅไธๆบไผใ ็บฏ็ฝ้กตๆๅ๏ผๆ APIใๆ Tokenใๆ mock ๆฐๆฎใ
- Live public first๏ผๆๆๆฐๆฎๆฅ่ช github.com/trending + github.com/search ็ๅฎๆถ็ฝ้กตๆๅ
- ๆ API๏ผไธไฝฟ็จ GitHub REST API / GraphQL๏ผไธไพ่ตไปปไฝ Token
- ๆ Mock๏ผๆๆๆฐๆฎ้ฝๆฏ็ๅฎ็๏ผ็ผๅญๅชๆฏๅ ้๏ผไธๆฟไปฃ
git clone https://github.com/YOUR_USER/github-opportunity-radar
cd github-opportunity-radar
pip install -r requirements.txt
python app.py web
# ๆต่งๅจ่ฎฟ้ฎ http://127.0.0.1:7860่ฏฆ็ปๅ ฅ้จ่ฏท่ง docs/quickstart.md ็คบไพๅฝไปค่ฏท่ง docs/examples.md
# ๆๅฐๆซๆ
python app.py scan
# ่ชๅฎไนๅ
ณ้ฎ่ฏใ่ๅด
python app.py scan --keywords "ollama,mcp,comfyui,gradio" --target 15 --min-stars 300
# ่ฏฆ็ปๆซๆ๏ผๆจ่๏ผ
python app.py scan --keywords "ollama,mcp,comfyui,gradio,ai agent,local llm,ai video,workflow automation" --target 15 --min-stars 300่พๅบๅ ๅซ๏ผ
- Scanned repos / Scored repos / Issues fetched
- ๆฐๆฎ่ดจ้ๅๅธ (high/medium/low)
- ๅณ็ญๅๅธ (strong_candidate / niche_candidate ็ญ)
- LLM success/failed
- Top 5 ๆๅ่กจ๏ผๅๆฐใๆฐๆฎ่ดจ้ใๅณ็ญใๆจ่ใMVP๏ผ
- Ranking Diagnostics ๆ ่ฎฐ๏ผservice_first / plugin_first ็ญ๏ผ
- CSV/JSON/MD ไธ็งๆฅๅ
LLM ้ป่ฎคไธๅฏ็จ๏ผไธไผๅฝฑๅๆ ธๅฟๆซๆๅ่ฏๅใ
| Provider | ่ฟๆฅๆนๅผ | JSON Schema | ้่ฆ Key | ๅ ธๅๅบๆฏ |
|---|---|---|---|---|
ollama |
/api/chat + /v1/chat/completions |
โ | ๅฆ | ๆฌๅฐๆนๆก |
openai_compatible |
/chat/completions |
โ (ๅฏ้) | ๆฏ | OpenAI / Groq / DeepSeek ็ญ |
litellm_proxy |
/chat/completions (lite mode) |
โ (ๅฏ้) | ๆฏ | LiteLLM ไปฃ็ๆๅกๅจ |
# ๅฏ็จ Ollama๏ผๆฌๅฐ๏ผ
python app.py scan --enable-llm --llm-provider ollama --llm-model llama3.2
# ๅฏ็จ OpenAI ๅ
ผๅฎน๏ผAPI Key ไปๅๆฐไผ ๅ
ฅ๏ผ
python app.py scan --enable-llm --llm-provider openai_compatible \
--llm-base-url https://api.openai.com/v1 --llm-model gpt-4o-mini \
--llm-api-key sk-xxx
# ๆไป็ฏๅขๅ้่ฏปๅ API Key๏ผๅฎๅ
จ๏ผไธๆณ้ฒๅฐ็ป็ซฏๅๅฒ๏ผ
# set LLM_API_KEY=sk-xxx (PowerShell)
# export LLM_API_KEY=sk-xxx (bash)
python app.py scan --enable-llm --llm-provider openai_compatible \
--llm-base-url https://api.openai.com/v1 --llm-model gpt-4o-mini
# ้ซ็บงๅๆฐ
python app.py scan --enable-llm --llm-provider ollama \
--llm-timeout 300 --llm-max-repos 5 --llm-use-json-schema \
--llm-force-json-mode --llm-no-cache
# ๅ
ณ้ญ LLM๏ผ็บฏ่งๅๅๆ๏ผ
python app.py scan# ๆต่ฏ Ollama
python app.py llm-test --llm-provider ollama
# ๆต่ฏ OpenAI ๅ
ผๅฎน
python app.py llm-test --llm-provider openai_compatible \
--llm-base-url https://api.openai.com/v1 --llm-model gpt-4o-mini \
--llm-api-key sk-xxx
# ๅธฆ JSON Schema ๆต่ฏ
python app.py llm-test --llm-provider ollama --llm-use-json-schema- ไธ่ฆๅฐ API Key ๅๅ
ฅ่ๆฌๆ้
็ฝฎๆไปถใไฝฟ็จ็ฏๅขๅ้
LLM_API_KEYๆ CLI ๅๆฐไผ ๅ ฅใ - ็ณป็ปไธไผๆๅฐใ่ฎฐๅฝๆๅฏผๅบ API Keyใ
- ็ฏๅขๅ้ไผๅ ็บง๏ผCLI ๅๆฐ > ็ฏๅขๅ้ใ
LLM ไธๅฏ็จๆถ่ชๅจ้็บงไธบ rule-based scan๏ผไธไผไธญๆญไธปๆต็จ๏ผ
LLM status: unavailable / fallback to rule-based
ๆซๆ็ปๆ็ถๆๅ ๆฌ๏ผ
completed_with_llm_errorsโ ๆซๆๅฎๆไฝ้จๅ LLM ๅๆๅคฑ่ดฅcompletedโ ๅ จ้จๆญฃๅธธ
ๆฐๅๆฐๆงๅถ๏ผ
--llm-continue-on-error๏ผ้ป่ฎค true๏ผ๏ผLLM ๅคฑ่ดฅๆถ็ปง็ปญๆซๆๅ ถไฝไปๅบ--llm-no-cache๏ผ็ฆ็จ LLM ็ปๆ็ผๅญ๏ผ้ป่ฎคๆ นๆฎreadme_hash + issue_titles_hash + model + prompt_version + schema_version็ผๅญ๏ผ
| ็ปดๅบฆ | ๆปกๅ | ๆฐๆฎๆฅๆบ | ่ฏดๆ |
|---|---|---|---|
| Hot Score | 25 | Trending โ /wk + stars | ็ๅฎๅจๅข้ฟ + Stars ่พน้ ้ๅ |
| Issue Score | 25 | Issues ้กต้ข็ดๆฅๆๅ | Issue ๆฐ้ + ่ฏ่ฎบ + ๆ ็ญพ |
| Early Score | 20 | README ๅๆ | alpha/beta/experimental/roadmap/v0.x |
| Commercial Gap | 20 | README ๅๆ | ๆ pricing/enterprise/sales ไฟกๅท่ถๅคๅ่ถ้ซ |
| MVP Feasibility | 10 | Issue ๅ็ฑป | ๅฎ่ฃ /UI/ๆๆกฃ็ฑป็็นๆไบงๅๅ |
ๆฐๆฎ่ดจ้่ฏๅ๏ผ0-100๏ผ็ฌ็ซไบๆบไผ่ฏๅ๏ผ็จไบ่ฏไผฐๆๅๆฐๆฎ็ๅฏ้ ๆง๏ผ
| ๅๆฐๅบ้ด | ๆ ็ญพ | ๅซไน |
|---|---|---|
| 75-100 | high | ๅบ็กไฟกๆฏๅฎๆดใREADME ๅฏ่ฏปใIssue ๆฐๆฎๅ ่ถณ |
| 45-74 | medium | ้จๅไฟกๆฏ็ผบๅคฑๆ Issue ๆฐ้ไธ่ถณ |
| 0-44 | low | ไธฅ้็ผบๅคฑ๏ผ็ปๆไธๅฏ้ |
5 ไธช็ปๆ้จๅ๏ผ
- ๅบ็กไฟกๆฏ (20pt)๏ผfull_nameใdescriptionใstarsใlanguage ๆฏๅฆ้ฝๅ จ
- README (20pt)๏ผๆฏๅฆๆๅๆๅๅฎๆด README
- Issue ๆฐๆฎ (30pt)๏ผๆๅฐ็ Issue ๆฐ้ๅไธฐๅฏๅบฆ
- Issue ๅ็ฑป (15pt)๏ผIssue ๆฏๅฆ่ฆ็ๅคไธช็็นๅ็ฑป
- LLM ๅๆ (15pt)๏ผLLM ๆฏๅฆๆๅๅๆ๏ผๅฏ้๏ผ
้่ฆ๏ผไธ่ฆๅช็ opportunity_scoreใๅฆๆ data_quality_score < 45๏ผๆๅๅฏ่ฝไธๅฏ้ ใ
ๅณ็ญ๏ผopportunity_verdict๏ผๆฏๅฏนๆบไผ็ๅฎๆงๅคๆญ๏ผ
| ๅณ็ญ | ๅซไน |
|---|---|
| strong_candidate | โญ ๆบไผ่ฏๅ้ซไธๆฐๆฎ่ดจ้้ซ๏ผๅผๅพ้็น็ ็ฉถ |
| niche_candidate | ๐ ๆๆบไผไฝๆนๅ่พ็ช๏ผ้่ฆ่ฟไธๆญฅ้ช่ฏ |
| service_opportunity | ๐ ๅฎ่ฃ /ๆๆกฃ/ๆฐๆ็็น้ไธญ๏ผ้ๅๅๆๅก่้ไบงๅ |
| plugin_opportunity | ๐ ๅทฅไฝๆต/API ้ๆ้ๆฑ้ไธญ๏ผ้ๅๅๆไปถๆ MCP |
| weak_candidate | โ ๆไธๅผๅพๅ๏ผ้ๆฑไธๅคๆ็กฎ |
| avoid | โ ๅทฒๆๆ็ๅไธๆนๆกๆๆฐๆฎ่ดจ้่ฟไฝ |
ๆ็ปๅปบ่ฎฎ๏ผfinal_recommendation๏ผๆฏ่งๅๅผๆ็ฌ็ซ็ๆ็่กๅจๅปบ่ฎฎ๏ผไธ้่ฆ LLM๏ผ
| ๅปบ่ฎฎ | ่งฆๅๆกไปถ |
|---|---|
| build_prototype_now | strong_candidate + DQ >= 75 + issue_score >= 15 |
| research_manually_first | niche_candidate ๆ DQ < 60 |
| good_for_service_business | service_opportunity |
| good_for_plugin_business | plugin_opportunity |
| add_to_watchlist | weak_candidate ๆ้ซ็ญๅบฆไฝ้ๆฑ |
| skip | avoid ๆ DQ < 40 + ๅผฑๅ้ |
ๅคๅฎ้ป่พไธฅๆ ผๅบไบ่งๅ๏ผLLM ไธๅฏ็จๆถ final_recommendation ไป็ถๆญฃๅธธ็ๆใ
ๆๅ่ฏๆญ๏ผranking_flags๏ผๆ ่ฎฐๆฏไธช repo ็ๆฝๅจ้ฎ้ข๏ผ
| ๆ ่ฎฐ | ๅซไน |
|---|---|
| score_may_be_unreliable | ้ซๅไฝๆฐๆฎ่ดจ้ |
| commercial_risk | ้ซๅไฝๅไธๅไฟกๅทๅผบ |
| weak_issue_evidence | Issue ๅฐไฝๅๆฐ้ซ |
| hype_without_pain | ็ญๅบฆ้ซไฝ Issue ้ๆฑๅผฑ |
| niche_but_painful | ็็นๆ็กฎไฝ็ญๅบฆไฝ |
| service_first | ๅฎ่ฃ /ๆๆกฃ็ฑป็็นๅ ๆฏ้ซ |
| plugin_first | ๅทฅไฝๆต/API ็ฑป็็นๅ ๆฏ้ซ |
Watchlist ๆฏๆ 7 ๅคฉ่ฟ็ปญ่งๅฏ๏ผ
- ๅ ๅ ฅ Watchlist๏ผๅจ WebUI ไธญ่พๅ ฅ "owner/repo" โ ็นๅป"ๅ ๅ ฅ Watchlist"
- ่ชๅจ่ฎฐๅฝ๏ผๆฏๆฌกๆซๆ่ชๅจๆดๆฐ starsใissuesใๅๆฐๅๅ
- ๆๅจๅค็๏ผๅกซๅ hypothesisใtarget_user_guessใmonetization_guess
- Needs Review๏ผๅฝ star ๅข้ฟๅฟซ / ๅๆฐๅคงๅน ๅๅจๆถ่ชๅจๆ ่ฎฐ
- ๅฏผๅบๆฅๅ๏ผ
python app.py scanๅ๏ผWebUI ไธญ็นๅป"ๅฏผๅบ Watchlist ๆฅๅ"
| ๅญๆฎต | ่ฏดๆ |
|---|---|
| user_hypothesis | ๆ่ฎคไธบ่ฟไธชๆบไผๆฏไปไน |
| target_user_guess | ็ฎๆ ็จๆทๆฏ่ฐ |
| monetization_guess | ๅฏ่ฝๆไนๆถ้ฑ |
| validation_next_step | ไธไธๆญฅ้ช่ฏๅจไฝ |
| validation_result | ้ช่ฏ็ปๆ่ฎฐๅฝ |
- stars_delta_since_last_scan > 100
- issues_delta_since_last_scan > 5
- opportunity_score ๆฏไธๆฌกๅขๅ >= 10
- data_quality_score ไป low/medium ๅๆ high
- final_recommendation ไป watchlist/research ๅๆ build_prototype_now
opportunity_score ๆฏ็ปผๅ็ญๅบฆใ้ๆฑใๆฉๆๅบฆใๅไธ็ฉบ็ฝๅๅฏ่กๆง็ๅๆฐ๏ผไฝๅฎๆๅฑ้ๆง๏ผ
- ๆฐๆฎ่ดจ้ไฝๆถๅๆฐไธๅฏ้ ๏ผๅฆๆ data_quality_score < 50๏ผๅๆฐไธ่ฝๅๆ ็ๅฎๆ ๅต
- ้ซ็ญๅบฆ โ ็ๅฎ้ๆฑ๏ผhot_score ้ซไฝ issue_score ไฝ็้กน็ฎๅฏ่ฝๅชๆฏๅด่ง
- ๅไธๅไฟกๅทไธไธๅฎๆฏๅไบ๏ผcommercial_gap ๆฃๅไฝ่ฏดๆ้กน็ฎๅทฒ็ป้ช่ฏไบๅไธๆจกๅผ
- ็็นๅๅธๅณๅฎไบงๅๅฝขๆ๏ผๅฎ่ฃ ้จ็ฝฒ็็น้ๅๅๆๅก๏ผๅทฅไฝๆต็็น้ๅๅๆไปถ
ๅปบ่ฎฎ๏ผๅง็ป็ปๅ verdict + final_recommendation + ranking_flags ็ปผๅๅคๆญใ
python app.py daily-scanไฝ็จ๏ผ
- ๅชๆซๆ Watchlist ไธญ็ repo
- ๆดๆฐ stars / open issues / README / scores
- ่ชๅจ่ฎก็ฎ deltas ๅ needs_review
่งฆๅ needs_review ๆกไปถ๏ผ
- star ๅข้ฟ >= 100
- issues ๅข้ฟ >= 5
- opportunity_score ๅข้ฟ >= 10
- recommendation ๅๅ
- ๆฐๅข issue ไธญๅบ็ฐ pricing / enterprise / self-host / deploy / api / integration / windows / cuda / oom / plugin / mcp / workflow ๅ ณ้ฎ่ฏ
python app.py daily-report็ๆ outputs/daily_watchlist_report.md๏ผๅ
ๅซ๏ผ
- Summary๏ผrepo ๆปๆฐใๆดๆฐๆฐใ้่ฆ review ๆฐใๆๅคง star ๅข้ฟใๆๅคง issue ๅข้ฟ๏ผ
- Needs Review๏ผๆฏไธช้่ฆ review ็ repo ็่ฏฆ็ป delta๏ผ
- No Major Change๏ผๆ ๆๆพๅๅ็ repo๏ผ
# ๅบ็ก็ๆฌ
python app.py validation-pack --repo owner/name
# ๅธฆ LLM ๅขๅผบ
python app.py validation-pack --repo owner/name --enable-llm --llm-provider ollama็ๆ outputs/validation_packs/owner__name/๏ผๅ
ๅซ 7 ไธชๆไปถ๏ผ
- opportunity_brief.md โ ๆบไผๆ่ฆใ็ฎๆ ็จๆทใ็็น่ฏๆฎใๆๅฐ้ช่ฏๆนๅผ
- landing_page_copy.md โ ๆ ้ขใๅฏๆ ้ขใ3 ไธช็็นใ3 ไธชๅ็นใCTAใFAQ
- mvp_scope.md โ MVP ๅไปไน/ไธๅไปไนใ7 ๅคฉ่ฎกๅใๆๆฏๆ ๅปบ่ฎฎ
- issue_reply_drafts.md โ ้ๅฏนไปฃ่กจๆง issues ็ๅๅค่็จฟ๏ผไธ่ชๅจๅ้๏ผ
- user_interview_questions.md โ 10 ไธช็จๆท่ฎฟ่ฐ้ฎ้ข
- 7_day_validation_plan.md โ Day 1-7 ้ช่ฏ่ฎกๅ + ๆๅๆ ๅ
- launch_post_drafts.md โ GitHub Discussion / Reddit / HN / X / ๅฐ็บขไนฆๅๅธ่็จฟ
- ๆๆ่็จฟ้ฝๆ ่ฎฐไธบ
DRAFT - ไธ่ชๅจ่ฏ่ฎบ GitHub issue
- ไธ่ชๅจๅ Reddit / HN / X
- ไธๆณ้ฒ API key ๅฐไปปไฝๆฅๅ
# Day 1: ๆซๆๅนถๅ ๅ
ฅ Watchlist
python app.py scan --keywords "ollama,mcp,comfyui" --target 15
python app.py web # ๆๅผ WebUI๏ผๅ้ repo ๅ ๅ
ฅ Watchlist๏ผๅกซๅๅค็ๅญๆฎต
# Day 2-7: ๆฏๆฅๆซๆๅๆฅๅ
python app.py daily-scan
python app.py daily-report
# ๅจ WebUI ไธญๆฅ็ๅๅ
python app.py web
# ไธบๆๆฝๅ็ repo ็ๆ้ช่ฏๅ
python app.py validation-pack --repo owner/name- ๆ็ๅฎ issue๏ผ่ณๅฐ 5+ ๆก็ธๅ ณ issue๏ผไธๆฏ่ชๅจ
- ๆ้ๅค็็น๏ผๅคๆก issue ๆๅฐๅไธไธช้ฎ้ข
- ๆๅข้ฟ๏ผstar / issue ๅจๅขๅ ๏ผWatchlist ่ชๅจ่ฟฝ่ธช๏ผ
- 7 ๅคฉๅฏๅ demo๏ผMVP ่ๅด่ถณๅคๅฐ๏ผ่ง mvp_scope.md๏ผ
- ่ฝๆพๅฐๆ็กฎ็ฎๆ ็จๆท๏ผissue ไฝ่ ๅฐฑๆฏๆฝๅจ็จๆท
- ๆๅฏ่ฝๆถ่ดน๏ผ็็นๅค็๏ผ็จๆทๆฟๆไป่ดน่งฃๅณ
ๅฏ่ฝ็ๅๅ ๅ่งฃๅณ๏ผ
- ้ข็้ๅถ๏ผๆซๆ้ข็ๆงๅถๅจ 2s/ๆฌก๏ผๅฆๆๆ็ปญๅคฑ่ดฅ๏ผๅขๅคง
--delayๅๆฐ - ้กต้ข็ปๆๅๅ๏ผGitHub ๅถๅฐๆดๆฐ HTML ็ปๆ๏ผๆฃๆฅ
scraper.py็้ๆฉๅจๆฏๅฆ้่ฆๆดๆฐ - ็ฝ็ป้ฎ้ข๏ผ็กฎไฟ่ฝ่ฎฟ้ฎ github.com๏ผ้จๅ็ฝ็ป็ฏๅข้่ฆไปฃ็
LLM ้ป่ฎคไธๅฏ็จใๅฆๆ --enable-llm ไฝ Ollama ไธๅฏ็จ๏ผ
- ็ณป็ปไผ่ชๅจ้็บงไธบ rule-based ๅๆ
- ๆซๆ็ปๆไธๅๅฝฑๅ๏ผๅชๆฏๆฒกๆ LLM ๅขๅผบๅ ๅฎน
- ่พๅบๆ็กฎๆพ็คบ
LLM status: unavailable / fallback to rule-based
ไฝฟ็จ llm-test ่ฏๆญ๏ผ
python app.py llm-test --llm-provider ollama
# Connection: ok โ Ollama ๆญฃๅจ่ฟ่ก
# Connection: error โ ๅ
่ฟ่ก ollama serve
# Model 'qwen2.5:14b' not pulled yet โ ๅ
่ฟ่ก ollama pull qwen2.5:14bๅฆๆๆจกๅๆชไธ่ฝฝ๏ผๅฏไปฅๅ ๆๅจๆๅๆไฝฟ็จ Preload ๅ่ฝ๏ผ
ollama pull qwen2.5:14b
# ๆๅจ WebUI ไธญ็นๅปใ้ขๅ ่ฝฝ Ollama ๆจกๅใV0.2.2 ๆฐๅข้ขๅ ่ฝฝๆบๅถ๏ผclient.preload()๏ผ๏ผๅฏๅจๆซๆๅ้ข็ญๆจกๅๅๅฐๅทๅฏๅจๅปถ่ฟใ
่ถ
ๆถไป 120s ๆๅๅฐ 300s๏ผๆ่ถณๅคๆถ้ด็ญๅพ
ๆจกๅ้ฆๆฌกๅ ่ฝฝใ
- Trending ้กต้ขๅชๆพ็คบ 25 ไธช้กน็ฎ๏ผ่ฟๆปคๅ ณ้ฎ่ฏๅๅฏ่ฝๅชๅฉๅ ไธช
- Search ไนๆ้ข็้ๅถ๏ผๅฟซ้ๅคๆฌกๆ็ดขๅฏ่ฝ่ขซๆฆๆช
- ็ณป็ปไผ็ปๅ trending (daily/weekly/monthly/language) + search fallback ๅฐฝ้ๅๅคๆฐ้
PowerShell ๆงๅถๅฐๅฏน UTF-8 ไธญๆ็ๆพ็คบๅฏ่ฝไธๆญฃ็กฎ๏ผ่พๅบ็ฑปไผผ๏ผ
Rec: ๏ฟฝสบ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ/๏ฟฝฬณ๏ฟฝ
ไฝๆไปถๅ ๅฎนๆฏๆญฃ็กฎ็ UTF-8ใ่ฏท็จไปฅไธๆนๅผ็กฎ่ฎค๏ผ
cat outputs/latest_report.csv๏ผ่พๅบๅฐๆไปถๆพ็คบๆญฃ็กฎ๏ผ- ๅจ VS Code ไธญๆๅผ CSV/JSON/MD ๆไปถ
- ๆต่งๅจๆๅผ WebUI ้กต้ข๏ผไธญๆๆญฃๅธธ๏ผ
ๅปบ่ฎฎๅฐ PowerShell ็ผ็ ่ฎพไธบ UTF-8๏ผ
$OutputEncoding = [Console]::OutputEncoding = [Text.UTF8Encoding]::new()- Trending ้กต้ขๆพ็คบ็ "X stars this week" ๆฏ GitHub ไผฐ็ฎๅผ
- ้จๅ repo ๆฒกๆ delta ๆฐๆฎ๏ผๆพ็คบไธบ N/A
- ่ทจ่ฏญ่จใ่ทจๅจๆ็ trending ๆฅๆบไฝฟ็จๅฏนๅบๅญๆฎต (1d/7d/30d)
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ github.com/ โ โ github.com/ โ โ raw โ
โ trending โ โ search โ โ content โ
โ (โ
/wk ๅข้) โ โ (ๅ
ณ้ฎ่ฏๆ็ดข) โ โ (README) โ
โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ HTTP ๆไปถ็ผๅญ + SQLite ๆฐๆฎๅบ (8 ่กจ) โ
โ scan_runs / repos / repo_snapshots โ
โ star_history / issues / scores / llm_analyses โ
โ watchlist โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ่ฏๅๅผๆ (5 ็ปดๅบฆ, ๆปกๅ 100) โ
โ Hot(25) + Issue(25) + Early(20) โ
โ + CommercialGap(20) + MVPFeasibility(10) โ
โ + data_quality_score(100) + ranking_flags โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๅณ็ญๅผๆ (6 ็บง verdict + final_recommendation)โ
โ strong_candidate / niche_candidate / โ
โ service_opportunity / plugin_opportunity / โ
โ weak_candidate / avoid โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MVP ๆจ่ๅผๆ (่งๅ้ฉฑๅจ, ๆ LLM) โ
โ ๅฎ่ฃ
ๅจ / ๆไปถ / WebUI / SaaS โ
โโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ LLM ๅขๅผบๅๆ โ โ ๅฏผๅบ CSV/JSON/MDโ
โ (ๅฏ้, ไธ่ฆ็่งๅ)โ โ + Watchlist ๆฅๅ โ
โโโโโโโโโโฌโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Gradio Web UI โ
โ ๆซๆ + ๆ่กๆฆ + ่ฏฆๆ
+ Watchlist + ๅค็ๅญๆฎต โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
github-opportunity-radar/
โโโ app.py # CLI ๅ
ฅๅฃ (scan / export / web)
โโโ Run.bat # Windows ๅฏๅจๅจ
โโโ requirements.txt # ไพ่ต
โโโ src/
โ โโโ scraper.py # HTTP ๆๅ + ้่ฏ + ็ผๅญ + ้้
โ โโโ trending_scraper.py # github.com/trending (daily/weekly/monthly/language)
โ โโโ github_search_scraper.py # github.com/search
โ โโโ repo_page_scraper.py # ไปๅบ่ฏฆๆ
+ README + /issues ็ดๆฅๆๅ
โ โโโ repo_search.py # ๆ็ดข็ผๆ (trending + search fallback)
โ โโโ readme_analyzer.py # README ไฟกๅทๆฃๆต
โ โโโ issue_classifier.py # Issue 8 ็ปดๅบฆๅ็ฑป
โ โโโ scorer.py # 5 ็ปดๅบฆ่ฏๅ + data_quality_score + verdict + final_recommendation
โ โโโ ranking_diagnostics.py # ๆๅ่ฏๆญ (7 ็งๆ ่ฎฐ + ่กๅจๅปบ่ฎฎ)
โ โโโ mvp_recommender.py # ่งๅๅผๆ MVP ๆจ่
โ โโโ database.py # SQLite 8 ่กจ (ๅซ watchlist)
โ โโโ report.py # CSV/JSON/MD ๅฏผๅบ + Watchlist ๆฅๅ
โ โโโ daily_watchlist.py # ๆฏๆฅ Watchlist ๆซๆ (v0.3)
โ โโโ daily_report.py # ๆฏๆฅ Watchlist ๆฅๅ (v0.3)
โ โโโ validation_pack.py # ๅไธ้ช่ฏๅ
็ๆๅจ (v0.3)
โ โโโ webui.py # Gradio ไธญๆ็้ข
โ โโโ config.py # ้
็ฝฎ้กน
โ โโโ llm/ # LLM ๅขๅผบๅๆๅฑ
โ โโโ base.py # LLMConfig + LLMClient ๆฝ่ฑก + chat_json()
โ โโโ provider_router.py # ๅฎขๆท็ซฏๅทฅๅ (v0.2.2 ๆฐๅข)
โ โโโ ollama_client.py # Ollama (้ขๅ ่ฝฝ + 3 ๅฑ fallback + 300s ่ถ
ๆถ)
โ โโโ openai_compatible_client.py # JSON Schema โ JSON Mode โ Text fallback
โ โโโ litellm_proxy_client.py # LiteLLM ไปฃ็ๅฎขๆท็ซฏ
โ โโโ prompts.py # ไธญๆ/่ฑๆๆ็คบ่ฏๆจกๆฟ + ๆต่ฏๆ็คบ่ฏ
โ โโโ schemas.py # LLM ่พๅบ pydantic ๆจกๅ
โ โโโ json_repair.py # JSON ๆๅ/ไฟฎๅค/ๆ ก้ช
โ โโโ analyzer.py # LLM ๅๆ็ผๆๅจ (provider_router + ็ผๅญ + status_detail)
โโโ data/
โ โโโ radar.sqlite # SQLite ๆฐๆฎๅบ
โโโ cache/ # HTTP ๅๅบ็ผๅญ
โโโ outputs/ # CSV/JSON/MD ๅฏผๅบ
suggested_next_action ๆฏ ranking_diagnostics ๆ นๆฎ ranking_flags ็ปๅ็ๆ็ๅ
ทไฝ่กๅจๅปบ่ฎฎ๏ผ
| ่งฆๅๆกไปถ | ๅปบ่ฎฎ |
|---|---|
| ็ญๅบฆ่้ซ + ๅๆฐไธๅฏ้ | ๅ ไธ่ฆๅไบงๅ๏ผๆๅจ้ช่ฏ Issue ๆฏๅฆ็ๅฎไปฃ่กจไป่ดน้ๆฑ |
| ๅไธๅ้ฃ้ฉ | ๅญๅจๆ็็ซๅ๏ผๅปบ่ฎฎๅๅทฎๅผๅๅฎไฝ |
| ๆๅกไผๅ + ๆไปถไผๅ | ็็นๆททๅ๏ผๅปบ่ฎฎๅ ๅๅธๆๅก/ๆ็จ๏ผๅ่่ไบงๅๅ |
| ๆๅกไผๅ | ่่ๅ้จ็ฝฒๆๅกใๆ็จๆจกๆฟใๅจ่ฏข๏ผ่้ SaaS ไบงๅ |
| ๆไปถไผๅ | ่่ๅๆไปถใMCP ServerใChrome ๆฉๅฑใn8n ่็น |
| ๅฐ่็ | ้ๅๅฐๅข้ๆทฑ่็ปๅ้ขๅ๏ผไธ่ฆๆฅไบๆฉๅฑ |
| Issue ่ฏๆฎไธ่ถณ | Issue ๆฐๆฎไธ่ถณ๏ผๅปบ่ฎฎๆๅจ่ฐ็ Reddit/Discord ็กฎ่ฎค้ๆฑ |
top_pain_cluster ๆฏ Issue ๅ็ฑปไธญๆฐ้ๆๅค็็็น็ฑปๅซใ้่ฟ็็น่็ฑป๏ผๅฏไปฅๅฟซ้็ฅ้็จๆทๆ้่ฆไปไน๏ผ
| ่็ฑป | ๅซไน | ๅ็ฐ่ทฏๅพ |
|---|---|---|
| install_deploy | ๅฎ่ฃ ้จ็ฝฒ็็น | ้ๅๅไธ้ฎๅฎ่ฃ ๅจใDocker ๆจกๆฟใWindows ๅฏๅจๅจๆไป่ดน้จ็ฝฒๆๅก |
| performance_gpu | ๆพๅญ/ๆง่ฝ็็น | ้ๅๅๆพๅญ้ ็ฝฎๆจ่ๅจใ้ๅๅทฅๅ ทใไบ GPU ๅฏๅจๅจ |
| workflow_integration | ๅทฅไฝๆตๆญ็น | ้ๅๅ API ่ฟๆฅๅจใMCP ServerใChrome ๆฉๅฑใn8n ่็น |
| newbie_docs | ๆฐๆไธไผ็จ | ้ๅๅไธญๆๆ็จๅ ใWebUI ๅฐ่ฃ ใๆจกๆฟๅธๅบๆไป่ดน้จ็ฝฒๆๆกฃ |
| feature_request | ๅ่ฝ่ฏทๆฑ | ้ๅๅๅ่ฝๆ็ฅจๅนณๅฐใๆไปถๅธๅบๆๅฎๅถๅผๅๆๅก |
| enterprise_team | ไผไธ/ๅข้้ๆฑ | ้ๅๅ็งๆๅ้จ็ฝฒ่ๆๆถใSSO ้ๆใๆ้็ฎก็ |
| compatibility_upgrade | ๅ ผๅฎนๆง/่ฟ็งป้ฎ้ข | ้ๅๅ่ฟ็งปๅทฅๅ ทใๅ ผๅฎนๅฑๆๅ็บง่พ ๅฉๅทฅๅ ท |
| mobile_ui | ็งปๅจ็ซฏ/ๅ็ซฏUIๆบไผ | ้ๅๅ็งปๅจ็ซฏ WebAppใPWA ๅฐ่ฃ ๆ็งปๅจ็ซฏ็ๆง้ขๆฟ |
top_pain_cluster_name ๆฏไธญๆๅ็งฐ๏ผtop_pain_cluster_count ๆฏๅฏนๅบ็ Issue ๆฐ้ใ
needs_review ๅ review_reason ๆฏ Watchlist ็่ชๅจๆ้ๆบๅถใๅฝไปฅไธๆ
ๅตๅ็ๆถ๏ผWatchlist ้กนไผ่ขซ่ชๅจๆ ่ฎฐไธบ้่ฆไบบๅทฅๅค็๏ผ
stars_delta_since_last_scan > 100โ ๅฟซ้ๅข้ฟ๏ผ้่ฆ็กฎ่ฎคๅๅissues_delta_since_last_scan > 5โ ้ๆฑ็ๅ๏ผ้่ฆๆฃๆฅๆฐ Issue ็ฑปๅopportunity_scoreๆฏไธๆฌกๅขๅ >= 10 โ ่ฏๅๅคงๅน ๆๅdata_quality_scoreไป low/medium ๅๆ high โ ๆฐๆฎ่ดจ้ๆนๅfinal_recommendationไป watchlist/research ๅๆ build_prototype_now โ ๆบไผๅ็บง
ๅจ WebUI Watchlist ่กจๆ ผไธญ๏ผ"้Review"ๅไผๆพ็คบ โ ๆ ่ฎฐใๅฏผๅบ Watchlist ๆฅๅๆถ๏ผๆ ่ฎฐ้กนไผ้ขๅคๆพ็คบๆ้ใ
Watchlist ็่ฎพ่ฎก็ฎๆ ๆฏ 7 ๅคฉ่ฟ็ปญ่งๅฏๅไธๆนๅ้้กน็ฎ๏ผ
# Day 1๏ผ้ฆๆฌกๆซๆ
python app.py scan --keywords "ollama,mcp,comfyui,gradio" --target 15 --min-stars 300
# Day 1 ๅ็ปญ๏ผๆๅผ WebUI๏ผๆๅ้ repo ๅ ๅ
ฅ Watchlist
python app.py web
# ๅจ WebUI ไธญ่พๅ
ฅ "owner/repo" โ ็นๅป"ๅ ๅ
ฅ Watchlist"
# ๆๅจๅกซๅๅค็ๅญๆฎต๏ผuser_hypothesis / target_user_guess / monetization_guess / validation_next_step๏ผ
# Day 2-7๏ผๆฏๅคฉ้ๆฐๆซๆ
python app.py scan --keywords "ollama,mcp,comfyui,gradio" --target 15 --min-stars 300
# ๆฏๆฌกๆซๆๅ๏ผๆๅผ WebUI โ ๅ ่ฝฝ Watchlist
# ๆฅ็๏ผ
# - stars_delta_since_last_scan๏ผๆฌๅจๆฐๅข Stars๏ผ
# - stars_delta_since_first_seen๏ผ็ดฏ่ฎกๅข้๏ผ
# - needs_review๏ผๆฏๅฆ้่ฆๆๅจๅค็๏ผ
# - ๅๆฐๅๅ
# - ๅณ็ญ/ๅปบ่ฎฎๅๅ
# ๅกซๅ้ช่ฏ็ปๆ
# ๅจ WebUI ไธญๆดๆฐ validation_result ๅญๆฎต
# Day 7๏ผๅฏผๅบ Watchlist ๆฅๅ
# ๅจ WebUI ไธญ็นๅป"ๅฏผๅบ Watchlist ๆฅๅ"
# ่พๅบๆไปถ๏ผoutputs/watchlist_YYYYMMDD_HHMMSS.mdๆฅๅๅ ๅซ๏ผๆฏไธช repo ็ๆบไผ่ฏๅใๆฐๆฎ่ดจ้ใๅณ็ญใๅปบ่ฎฎใ็ดฏ่ฎกๅข้ฟใๅค็ๅญๆฎตๅ ๅฎนใNeeds Review ็ถๆใ
python app.py smoke-testsmoke-test ๆง่ก 7 ้กนไปฃ็ ๅฅๅบทๆฃๆฅ๏ผ
- ๆๆๆ ธๅฟๆจกๅ import
- ๆฐๆฎๅบๅๅงๅ + 8 ่กจๆฃๆฅ
- ่ฏๅๅผๆๅฏนๆๅฐ repo dict ่ฏๅ
- ranking_diagnostics ่ฟๅ flags
- ๆฅๅๅฏผๅบๅจ็ๆไธดๆถ CSV/JSON/MD
- Watchlist DB ๅฝๆฐ๏ผadd/load/remove๏ผ
- scores ่กจ watchlist ่กจๆฐๅขๅๆฃๆฅ
ไธ้่ฆ็ฝ็ป๏ผไธไฟฎๆนๆซๆๆฐๆฎใ่พๅบ "Smoke test passed." ่กจ็คบๅ จ้จๆญฃๅธธใ
็ผ่พ src/config.py ๅฏ่ฐๆด๏ผ
| ๅๆฐ | ้ป่ฎคๅผ | ่ฏดๆ |
|---|---|---|
request_delay_seconds |
2.0 | ่ฏทๆฑ้ด้๏ผ้ฒๆญข้ๆต |
cache_max_age_hours |
6 | HTTP ็ผๅญๆๆๆ |
default_target_count |
15 | ้ป่ฎคๆซๆไปๅบๆฐ |
default_min_stars |
100 | ๆๅฐ Stars |
enable_raw_readme_fetch |
True | ไป raw.githubusercontent ่ทๅ README |
enable_github_search_fallback |
True | Trending ไธ่ถณๆถ็จ search ่กฅๅ |
llm_provider |
"none" | LLM ๆไพๅ |
llm_model |
"qwen2.5:14b" | LLM ๆจกๅ |
llm_timeout |
300 | LLM ่ฏทๆฑ่ถ ๆถ๏ผ็ง๏ผ |
llm_cache_enabled |
True | ๆฏๅฆๅฏ็จ LLM ็ปๆ็ผๅญ |
llm_use_json_schema |
False | JSON Schema ไธฅๆ ผๆจกๅผ |
llm_force_json_mode |
False | ๅผบๅถ json_object ๆจกๅผ |
llm_preload_model |
False | ๆซๆๅ้ขๅ ่ฝฝ Ollama ๆจกๅ |
- ๆๅๅปถ่ฟ๏ผๆฏๆฌก่ฏทๆฑ้ด้ 2s๏ผๅฎๆดๆซๆ็บฆ 1-3 ๅ้
- Rate Limit๏ผGitHub ๅฏนๆ ่ฎค่ฏ่ฏทๆฑๆ้ๅถ๏ผ็บฆ 60 req/hr๏ผ๏ผ็ผๅญๆๆๆๅ ไธไผ้ๅค่ฏทๆฑ
- LLM ็ฌ็ซๆง๏ผLLM ๅคฑ่ดฅไธไผๅฝฑๅๆ ธๅฟ่ฏๅๅ recommendation๏ผๆๆ final_recommendation ็ฑ่งๅ็ฌ็ซ็ๆ
- ๅๆฐ โ ๅณ็ญ๏ผไธ่ฆๅช็ opportunity_score๏ผ็ปๅ verdict + final_recommendation + ranking_flags ็ปผๅๅคๆญ
- 7 ๅคฉ่งๅฏ๏ผ็จ Watchlist ๆ็ปญๆซๆๅไธๆน repo๏ผ่งๅฏ stars ๅๅๆฐๅๅ
- Watchlist ๅฏผๅบ๏ผๆฏๆ
watchlist_reportๆจกๅผ๏ผๅ ๅซ็จๆทๅค็ๅญๆฎตๅ็ณป็ปๅปบ่ฎฎ