Skip to content

Jackeyhate9/github-opportunity-radar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

GitHub ๅˆ›ไธšๆœบไผš้›ท่พพ โ€” Live

License: MIT

ๅฎžๆ—ถๆŠ“ๅ– 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

ๅฆ‚ไฝ•่ท‘ๅฎŒๆ•ด Live Scan

# ๆœ€ๅฐๆ‰ซๆ
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

LLM ้ป˜่ฎคไธๅฏ็”จ๏ผŒไธไผšๅฝฑๅ“ๆ ธๅฟƒๆ‰ซๆๅ’Œ่ฏ„ๅˆ†ใ€‚

Provider ๅฏนๆฏ”

Provider ่ฟžๆŽฅๆ–นๅผ JSON Schema ้œ€่ฆ Key ๅ…ธๅž‹ๅœบๆ™ฏ
ollama /api/chat + /v1/chat/completions โŒ ๅฆ ๆœฌๅœฐๆ–นๆกˆ
openai_compatible /chat/completions โœ… (ๅฏ้€‰) ๆ˜ฏ OpenAI / Groq / DeepSeek ็ญ‰
litellm_proxy /chat/completions (lite mode) โœ… (ๅฏ้€‰) ๆ˜ฏ LiteLLM ไปฃ็†ๆœๅŠกๅ™จ

CLI ๅ‘ฝไปค

# ๅฏ็”จ 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

ๆต‹่ฏ• LLM ่ฟžๆŽฅ๏ผˆๆ— ้œ€ๆ‰ซๆ๏ผ‰

# ๆต‹่ฏ• 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 ็ผ“ๅญ˜๏ผ‰

่ฏ„ๅˆ†ๆจกๅž‹ (100ๅˆ†)

็ปดๅบฆ ๆปกๅˆ† ๆ•ฐๆฎๆฅๆบ ่ฏดๆ˜Ž
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/ๆ–‡ๆกฃ็ฑป็—›็‚นๆ˜“ไบงๅ“ๅŒ–

ไป€ไนˆๆ˜ฏ data_quality_score

ๆ•ฐๆฎ่ดจ้‡่ฏ„ๅˆ†๏ผˆ0-100๏ผ‰็‹ฌ็ซ‹ไบŽๆœบไผš่ฏ„ๅˆ†๏ผŒ็”จไบŽ่ฏ„ไผฐๆŠ“ๅ–ๆ•ฐๆฎ็š„ๅฏ้ ๆ€ง๏ผš

ๅˆ†ๆ•ฐๅŒบ้—ด ๆ ‡็ญพ ๅซไน‰
75-100 high ๅŸบ็ก€ไฟกๆฏๅฎŒๆ•ดใ€README ๅฏ่ฏปใ€Issue ๆ•ฐๆฎๅ……่ถณ
45-74 medium ้ƒจๅˆ†ไฟกๆฏ็ผบๅคฑๆˆ– Issue ๆ•ฐ้‡ไธ่ถณ
0-44 low ไธฅ้‡็ผบๅคฑ๏ผŒ็ป“ๆžœไธๅฏ้ 

5 ไธช็ป„ๆˆ้ƒจๅˆ†๏ผš

  1. ๅŸบ็ก€ไฟกๆฏ (20pt)๏ผšfull_nameใ€descriptionใ€starsใ€language ๆ˜ฏๅฆ้ฝๅ…จ
  2. README (20pt)๏ผšๆ˜ฏๅฆๆˆๅŠŸๆŠ“ๅ–ๅฎŒๆ•ด README
  3. Issue ๆ•ฐๆฎ (30pt)๏ผšๆŠ“ๅˆฐ็š„ Issue ๆ•ฐ้‡ๅ’ŒไธฐๅฏŒๅบฆ
  4. Issue ๅˆ†็ฑป (15pt)๏ผšIssue ๆ˜ฏๅฆ่ฆ†็›–ๅคšไธช็—›็‚นๅˆ†็ฑป
  5. LLM ๅˆ†ๆž (15pt)๏ผšLLM ๆ˜ฏๅฆๆˆๅŠŸๅˆ†ๆž๏ผˆๅฏ้€‰๏ผ‰

้‡่ฆ๏ผšไธ่ฆๅช็œ‹ opportunity_scoreใ€‚ๅฆ‚ๆžœ data_quality_score < 45๏ผŒๆŽ’ๅๅฏ่ƒฝไธๅฏ้ ใ€‚

ไป€ไนˆๆ˜ฏ Verdict

ๅ†ณ็ญ–๏ผˆopportunity_verdict๏ผ‰ๆ˜ฏๅฏนๆœบไผš็š„ๅฎšๆ€งๅˆคๆ–ญ๏ผš

ๅ†ณ็ญ– ๅซไน‰
strong_candidate โญ ๆœบไผš่ฏ„ๅˆ†้ซ˜ไธ”ๆ•ฐๆฎ่ดจ้‡้ซ˜๏ผŒๅ€ผๅพ—้‡็‚น็ ”็ฉถ
niche_candidate ๐Ÿ” ๆœ‰ๆœบไผšไฝ†ๆ–นๅ‘่พƒ็ช„๏ผŒ้œ€่ฆ่ฟ›ไธ€ๆญฅ้ชŒ่ฏ
service_opportunity ๐Ÿ›  ๅฎ‰่ฃ…/ๆ–‡ๆกฃ/ๆ–ฐๆ‰‹็—›็‚น้›†ไธญ๏ผŒ้€‚ๅˆๅšๆœๅŠก่€Œ้žไบงๅ“
plugin_opportunity ๐Ÿ”Œ ๅทฅไฝœๆต/API ้›†ๆˆ้œ€ๆฑ‚้›†ไธญ๏ผŒ้€‚ๅˆๅšๆ’ไปถๆˆ– MCP
weak_candidate โš  ๆš‚ไธๅ€ผๅพ—ๅš๏ผŒ้œ€ๆฑ‚ไธๅคŸๆ˜Ž็กฎ
avoid โŒ ๅทฒๆœ‰ๆˆ็†Ÿๅ•†ไธšๆ–นๆกˆๆˆ–ๆ•ฐๆฎ่ดจ้‡่ฟ‡ไฝŽ

ไป€ไนˆๆ˜ฏ final_recommendation

ๆœ€็ปˆๅปบ่ฎฎ๏ผˆ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 Diagnostics

ๆŽ’ๅ่ฏŠๆ–ญ๏ผˆ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

Watchlist ๆ”ฏๆŒ 7 ๅคฉ่ฟž็ปญ่ง‚ๅฏŸ๏ผš

  1. ๅŠ ๅ…ฅ Watchlist๏ผšๅœจ WebUI ไธญ่พ“ๅ…ฅ "owner/repo" โ†’ ็‚นๅ‡ป"ๅŠ ๅ…ฅ Watchlist"
  2. ่‡ชๅŠจ่ฎฐๅฝ•๏ผšๆฏๆฌกๆ‰ซๆ่‡ชๅŠจๆ›ดๆ–ฐ starsใ€issuesใ€ๅˆ†ๆ•ฐๅ˜ๅŒ–
  3. ๆ‰‹ๅŠจๅค็›˜๏ผšๅกซๅ†™ hypothesisใ€target_user_guessใ€monetization_guess
  4. Needs Review๏ผšๅฝ“ star ๅขž้•ฟๅฟซ / ๅˆ†ๆ•ฐๅคงๅน…ๅ˜ๅŠจๆ—ถ่‡ชๅŠจๆ ‡่ฎฐ
  5. ๅฏผๅ‡บๆŠฅๅ‘Š๏ผšpython app.py scan ๅŽ๏ผŒWebUI ไธญ็‚นๅ‡ป"ๅฏผๅ‡บ Watchlist ๆŠฅๅ‘Š"

ๆ‰‹ๅŠจๅค็›˜ๅญ—ๆฎต

ๅญ—ๆฎต ่ฏดๆ˜Ž
user_hypothesis ๆˆ‘่ฎคไธบ่ฟ™ไธชๆœบไผšๆ˜ฏไป€ไนˆ
target_user_guess ็›ฎๆ ‡็”จๆˆทๆ˜ฏ่ฐ
monetization_guess ๅฏ่ƒฝๆ€Žไนˆๆ”ถ้’ฑ
validation_next_step ไธ‹ไธ€ๆญฅ้ชŒ่ฏๅŠจไฝœ
validation_result ้ชŒ่ฏ็ป“ๆžœ่ฎฐๅฝ•

Needs Review ่งฆๅ‘ๆกไปถ

  1. stars_delta_since_last_scan > 100
  2. issues_delta_since_last_scan > 5
  3. opportunity_score ๆฏ”ไธŠๆฌกๅขžๅŠ  >= 10
  4. data_quality_score ไปŽ low/medium ๅ˜ๆˆ high
  5. final_recommendation ไปŽ watchlist/research ๅ˜ๆˆ build_prototype_now

ไธบไป€ไนˆไธ่ฆๅช็œ‹ opportunity_score

opportunity_score ๆ˜ฏ็ปผๅˆ็ƒญๅบฆใ€้œ€ๆฑ‚ใ€ๆ—ฉๆœŸๅบฆใ€ๅ•†ไธš็ฉบ็™ฝๅ’Œๅฏ่กŒๆ€ง็š„ๅˆ†ๆ•ฐ๏ผŒไฝ†ๅฎƒๆœ‰ๅฑ€้™ๆ€ง๏ผš

  1. ๆ•ฐๆฎ่ดจ้‡ไฝŽๆ—ถๅˆ†ๆ•ฐไธๅฏ้ ๏ผšๅฆ‚ๆžœ data_quality_score < 50๏ผŒๅˆ†ๆ•ฐไธ่ƒฝๅๆ˜ ็œŸๅฎžๆƒ…ๅ†ต
  2. ้ซ˜็ƒญๅบฆ โ‰  ็œŸๅฎž้œ€ๆฑ‚๏ผšhot_score ้ซ˜ไฝ† issue_score ไฝŽ็š„้กน็›ฎๅฏ่ƒฝๅชๆ˜ฏๅ›ด่ง‚
  3. ๅ•†ไธšๅŒ–ไฟกๅทไธไธ€ๅฎšๆ˜ฏๅไบ‹๏ผšcommercial_gap ๆ‰ฃๅˆ†ไฝ†่ฏดๆ˜Ž้กน็›ฎๅทฒ็ป้ชŒ่ฏไบ†ๅ•†ไธšๆจกๅผ
  4. ็—›็‚นๅˆ†ๅธƒๅ†ณๅฎšไบงๅ“ๅฝขๆ€๏ผšๅฎ‰่ฃ…้ƒจ็ฝฒ็—›็‚น้€‚ๅˆๅšๆœๅŠก๏ผŒๅทฅไฝœๆต็—›็‚น้€‚ๅˆๅšๆ’ไปถ

ๅปบ่ฎฎ๏ผšๅง‹็ปˆ็ป“ๅˆ verdict + final_recommendation + ranking_flags ็ปผๅˆๅˆคๆ–ญใ€‚

v0.3: ่‡ชๅŠจ่ง‚ๅฏŸ + ๆœบไผš้ชŒ่ฏ

Daily Watchlist Scan

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 ๅ…ณ้”ฎ่ฏ

Daily Report

python app.py daily-report

็”Ÿๆˆ outputs/daily_watchlist_report.md๏ผŒๅŒ…ๅซ๏ผš

  • Summary๏ผˆrepo ๆ€ปๆ•ฐใ€ๆ›ดๆ–ฐๆ•ฐใ€้œ€่ฆ review ๆ•ฐใ€ๆœ€ๅคง star ๅขž้•ฟใ€ๆœ€ๅคง issue ๅขž้•ฟ๏ผ‰
  • Needs Review๏ผˆๆฏไธช้œ€่ฆ review ็š„ repo ็š„่ฏฆ็ป† delta๏ผ‰
  • No Major Change๏ผˆๆ— ๆ˜Žๆ˜พๅ˜ๅŒ–็š„ repo๏ผ‰

Validation Pack

# ๅŸบ็ก€็‰ˆๆœฌ
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 ไธชๆ–‡ไปถ๏ผš

  1. opportunity_brief.md โ€” ๆœบไผšๆ‘˜่ฆใ€็›ฎๆ ‡็”จๆˆทใ€็—›็‚น่ฏๆฎใ€ๆœ€ๅฐ้ชŒ่ฏๆ–นๅผ
  2. landing_page_copy.md โ€” ๆ ‡้ข˜ใ€ๅ‰ฏๆ ‡้ข˜ใ€3 ไธช็—›็‚นใ€3 ไธชๅ–็‚นใ€CTAใ€FAQ
  3. mvp_scope.md โ€” MVP ๅšไป€ไนˆ/ไธๅšไป€ไนˆใ€7 ๅคฉ่ฎกๅˆ’ใ€ๆŠ€ๆœฏๆ ˆๅปบ่ฎฎ
  4. issue_reply_drafts.md โ€” ้’ˆๅฏนไปฃ่กจๆ€ง issues ็š„ๅ›žๅค่‰็จฟ๏ผˆไธ่‡ชๅŠจๅ‘้€๏ผ‰
  5. user_interview_questions.md โ€” 10 ไธช็”จๆˆท่ฎฟ่ฐˆ้—ฎ้ข˜
  6. 7_day_validation_plan.md โ€” Day 1-7 ้ชŒ่ฏ่ฎกๅˆ’ + ๆˆๅŠŸๆ ‡ๅ‡†
  7. launch_post_drafts.md โ€” GitHub Discussion / Reddit / HN / X / ๅฐ็บขไนฆๅ‘ๅธƒ่‰็จฟ

ๅฎ‰ๅ…จ้™ๅˆถ

  • ๆ‰€ๆœ‰่‰็จฟ้ƒฝๆ ‡่ฎฐไธบ DRAFT
  • ไธ่‡ชๅŠจ่ฏ„่ฎบ GitHub issue
  • ไธ่‡ชๅŠจๅ‘ Reddit / HN / X
  • ไธๆณ„้œฒ API key ๅˆฐไปปไฝ•ๆŠฅๅ‘Š

ๅฆ‚ไฝ•่ฟž็ปญ 7 ๅคฉ่ง‚ๅฏŸ Watchlist

# 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

ๅฆ‚ไฝ•ๅˆคๆ–ญไธ€ไธชๆœบไผšๆ˜ฏๅฆๅ€ผๅพ—ๅš

  1. ๆœ‰็œŸๅฎž issue๏ผš่‡ณๅฐ‘ 5+ ๆก็›ธๅ…ณ issue๏ผŒไธๆ˜ฏ่‡ชๅ—จ
  2. ๆœ‰้‡ๅค็—›็‚น๏ผšๅคšๆก issue ๆๅˆฐๅŒไธ€ไธช้—ฎ้ข˜
  3. ๆœ‰ๅขž้•ฟ๏ผšstar / issue ๅœจๅขžๅŠ ๏ผˆWatchlist ่‡ชๅŠจ่ฟฝ่ธช๏ผ‰
  4. 7 ๅคฉๅฏๅš demo๏ผšMVP ่Œƒๅ›ด่ถณๅคŸๅฐ๏ผˆ่ง mvp_scope.md๏ผ‰
  5. ่ƒฝๆ‰พๅˆฐๆ˜Ž็กฎ็›ฎๆ ‡็”จๆˆท๏ผšissue ไฝœ่€…ๅฐฑๆ˜ฏๆฝœๅœจ็”จๆˆท
  6. ๆœ‰ๅฏ่ƒฝๆ”ถ่ดน๏ผš็—›็‚นๅคŸ็—›๏ผŒ็”จๆˆทๆ„ฟๆ„ไป˜่ดน่งฃๅ†ณ

ๅธธ่ง้—ฎ้ข˜

GitHub ้กต้ขๆŠ“ไธๅˆฐๆ€ŽไนˆๅŠž

ๅฏ่ƒฝ็š„ๅŽŸๅ› ๅ’Œ่งฃๅ†ณ๏ผš

  • ้ข‘็އ้™ๅˆถ๏ผšๆ‰ซๆ้ข‘็އๆŽงๅˆถๅœจ 2s/ๆฌก๏ผŒๅฆ‚ๆžœๆŒ็ปญๅคฑ่ดฅ๏ผŒๅขžๅคง --delay ๅ‚ๆ•ฐ
  • ้กต้ข็ป“ๆž„ๅ˜ๅŒ–๏ผšGitHub ๅถๅฐ”ๆ›ดๆ–ฐ HTML ็ป“ๆž„๏ผŒๆฃ€ๆŸฅ scraper.py ็š„้€‰ๆ‹ฉๅ™จๆ˜ฏๅฆ้œ€่ฆๆ›ดๆ–ฐ
  • ็ฝ‘็ปœ้—ฎ้ข˜๏ผš็กฎไฟ่ƒฝ่ฎฟ้—ฎ github.com๏ผŒ้ƒจๅˆ†็ฝ‘็ปœ็Žฏๅขƒ้œ€่ฆไปฃ็†

Ollama ๆฒกๅฏๅŠจ / ๆจกๅž‹ๆœชไธ‹่ฝฝๆ€ŽไนˆๅŠž

LLM ้ป˜่ฎคไธๅฏ็”จใ€‚ๅฆ‚ๆžœ --enable-llm ไฝ† Ollama ไธๅฏ็”จ๏ผš

  1. ็ณป็ปŸไผš่‡ชๅŠจ้™็บงไธบ rule-based ๅˆ†ๆž
  2. ๆ‰ซๆ็ป“ๆžœไธๅ—ๅฝฑๅ“๏ผŒๅชๆ˜ฏๆฒกๆœ‰ LLM ๅขžๅผบๅ†…ๅฎน
  3. ่พ“ๅ‡บๆ˜Ž็กฎๆ˜พ็คบ 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๏ผŒๆœ‰่ถณๅคŸๆ—ถ้—ด็ญ‰ๅพ…ๆจกๅž‹้ฆ–ๆฌกๅŠ ่ฝฝใ€‚

ไธบไป€ไนˆไธๆ˜ฏๆฏๆฌก้ƒฝ่ƒฝๆŠ“ๆปก N ไธช

  • Trending ้กต้ขๅชๆ˜พ็คบ 25 ไธช้กน็›ฎ๏ผŒ่ฟ‡ๆปคๅ…ณ้”ฎ่ฏๅŽๅฏ่ƒฝๅชๅ‰ฉๅ‡ ไธช
  • Search ไนŸๆœ‰้ข‘็އ้™ๅˆถ๏ผŒๅฟซ้€Ÿๅคšๆฌกๆœ็ดขๅฏ่ƒฝ่ขซๆ‹ฆๆˆช
  • ็ณป็ปŸไผš็ป„ๅˆ trending (daily/weekly/monthly/language) + search fallback ๅฐฝ้‡ๅ‡‘ๅคŸๆ•ฐ้‡

ไธญๆ–‡ๅœจ PowerShell ๆ˜พ็คบไนฑ็ ๆ€ŽไนˆๅŠž

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()

stars_delta_7d ไธบไป€ไนˆๆ˜ฏ approx

  • 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

suggested_next_action ๆ˜ฏ ranking_diagnostics ๆ นๆฎ ranking_flags ็ป„ๅˆ็”Ÿๆˆ็š„ๅ…ทไฝ“่กŒๅŠจๅปบ่ฎฎ๏ผš

่งฆๅ‘ๆกไปถ ๅปบ่ฎฎ
็ƒญๅบฆ่™š้ซ˜ + ๅˆ†ๆ•ฐไธๅฏ้  ๅ…ˆไธ่ฆๅšไบงๅ“๏ผŒๆ‰‹ๅŠจ้ชŒ่ฏ Issue ๆ˜ฏๅฆ็œŸๅฎžไปฃ่กจไป˜่ดน้œ€ๆฑ‚
ๅ•†ไธšๅŒ–้ฃŽ้™ฉ ๅญ˜ๅœจๆˆ็†Ÿ็ซžๅ“๏ผŒๅปบ่ฎฎๅšๅทฎๅผ‚ๅŒ–ๅฎšไฝ
ๆœๅŠกไผ˜ๅ…ˆ + ๆ’ไปถไผ˜ๅ…ˆ ็—›็‚นๆททๅˆ๏ผŒๅปบ่ฎฎๅ…ˆๅ‘ๅธƒๆœๅŠก/ๆ•™็จ‹๏ผŒๅ†่€ƒ่™‘ไบงๅ“ๅŒ–
ๆœๅŠกไผ˜ๅ…ˆ ่€ƒ่™‘ๅš้ƒจ็ฝฒๆœๅŠกใ€ๆ•™็จ‹ๆจกๆฟใ€ๅ’จ่ฏข๏ผŒ่€Œ้ž SaaS ไบงๅ“
ๆ’ไปถไผ˜ๅ…ˆ ่€ƒ่™‘ๅšๆ’ไปถใ€MCP Serverใ€Chrome ๆ‰ฉๅฑ•ใ€n8n ่Š‚็‚น
ๅฐ่€Œ็—› ้€‚ๅˆๅฐๅ›ข้˜Ÿๆทฑ่€•็ป†ๅˆ†้ข†ๅŸŸ๏ผŒไธ่ฆๆ€ฅไบŽๆ‰ฉๅฑ•
Issue ่ฏๆฎไธ่ถณ Issue ๆ•ฐๆฎไธ่ถณ๏ผŒๅปบ่ฎฎๆ‰‹ๅŠจ่ฐƒ็ ” Reddit/Discord ็กฎ่ฎค้œ€ๆฑ‚

ไป€ไนˆๆ˜ฏ top_pain_cluster

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

needs_review ๅ’Œ review_reason ๆ˜ฏ Watchlist ็š„่‡ชๅŠจๆ้†’ๆœบๅˆถใ€‚ๅฝ“ไปฅไธ‹ๆƒ…ๅ†ตๅ‘็”Ÿๆ—ถ๏ผŒWatchlist ้กนไผš่ขซ่‡ชๅŠจๆ ‡่ฎฐไธบ้œ€่ฆไบบๅทฅๅค็›˜๏ผš

  1. stars_delta_since_last_scan > 100 โ€” ๅฟซ้€Ÿๅขž้•ฟ๏ผŒ้œ€่ฆ็กฎ่ฎคๅŽŸๅ› 
  2. issues_delta_since_last_scan > 5 โ€” ้œ€ๆฑ‚็ˆ†ๅ‘๏ผŒ้œ€่ฆๆฃ€ๆŸฅๆ–ฐ Issue ็ฑปๅž‹
  3. opportunity_score ๆฏ”ไธŠๆฌกๅขžๅŠ  >= 10 โ€” ่ฏ„ๅˆ†ๅคงๅน…ๆๅ‡
  4. data_quality_score ไปŽ low/medium ๅ˜ๆˆ high โ€” ๆ•ฐๆฎ่ดจ้‡ๆ”นๅ–„
  5. final_recommendation ไปŽ watchlist/research ๅ˜ๆˆ build_prototype_now โ€” ๆœบไผšๅ‡็บง

ๅœจ WebUI Watchlist ่กจๆ ผไธญ๏ผŒ"้œ€Review"ๅˆ—ไผšๆ˜พ็คบ โš  ๆ ‡่ฎฐใ€‚ๅฏผๅ‡บ Watchlist ๆŠฅๅ‘Šๆ—ถ๏ผŒๆ ‡่ฎฐ้กนไผš้ขๅค–ๆ˜พ็คบๆ้†’ใ€‚

ๅฆ‚ไฝ•็”จ Watchlist ่ฟž็ปญ่ง‚ๅฏŸ 7 ๅคฉ

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 ็Šถๆ€ใ€‚

ๅฆ‚ไฝ•่ฟ่กŒ smoke-test

python app.py smoke-test

smoke-test ๆ‰ง่กŒ 7 ้กนไปฃ็ ๅฅๅบทๆฃ€ๆŸฅ๏ผš

  1. ๆ‰€ๆœ‰ๆ ธๅฟƒๆจกๅ— import
  2. ๆ•ฐๆฎๅบ“ๅˆๅง‹ๅŒ– + 8 ่กจๆฃ€ๆŸฅ
  3. ่ฏ„ๅˆ†ๅผ•ๆ“Žๅฏนๆœ€ๅฐ repo dict ่ฏ„ๅˆ†
  4. ranking_diagnostics ่ฟ”ๅ›ž flags
  5. ๆŠฅๅ‘Šๅฏผๅ‡บๅ™จ็”Ÿๆˆไธดๆ—ถ CSV/JSON/MD
  6. Watchlist DB ๅ‡ฝๆ•ฐ๏ผˆadd/load/remove๏ผ‰
  7. 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 ๆจกๅž‹

ๆณจๆ„ไบ‹้กน

  1. ๆŠ“ๅ–ๅปถ่ฟŸ๏ผšๆฏๆฌก่ฏทๆฑ‚้—ด้š” 2s๏ผŒๅฎŒๆ•ดๆ‰ซๆ็บฆ 1-3 ๅˆ†้’Ÿ
  2. Rate Limit๏ผšGitHub ๅฏนๆ— ่ฎค่ฏ่ฏทๆฑ‚ๆœ‰้™ๅˆถ๏ผˆ็บฆ 60 req/hr๏ผ‰๏ผŒ็ผ“ๅญ˜ๆœ‰ๆ•ˆๆœŸๅ†…ไธไผš้‡ๅค่ฏทๆฑ‚
  3. LLM ็‹ฌ็ซ‹ๆ€ง๏ผšLLM ๅคฑ่ดฅไธไผšๅฝฑๅ“ๆ ธๅฟƒ่ฏ„ๅˆ†ๅ’Œ recommendation๏ผ›ๆ‰€ๆœ‰ final_recommendation ็”ฑ่ง„ๅˆ™็‹ฌ็ซ‹็”Ÿๆˆ
  4. ๅˆ†ๆ•ฐ โ‰  ๅ†ณ็ญ–๏ผšไธ่ฆๅช็œ‹ opportunity_score๏ผŒ็ป“ๅˆ verdict + final_recommendation + ranking_flags ็ปผๅˆๅˆคๆ–ญ
  5. 7 ๅคฉ่ง‚ๅฏŸ๏ผš็”จ Watchlist ๆŒ็ปญๆ‰ซๆๅŒไธ€ๆ‰น repo๏ผŒ่ง‚ๅฏŸ stars ๅ’Œๅˆ†ๆ•ฐๅ˜ๅŒ–
  6. Watchlist ๅฏผๅ‡บ๏ผšๆ”ฏๆŒ watchlist_report ๆจกๅผ๏ผŒๅŒ…ๅซ็”จๆˆทๅค็›˜ๅญ—ๆฎตๅ’Œ็ณป็ปŸๅปบ่ฎฎ

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors