尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证SKYTICAL - fully automated hourly aviation news aggregator (GitHub Actions + Claude), deployed on GitHub Pages
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
🌐 Live site: https://skytical.tech/ 🧭 Open-source scouting: docs/open-source-scouting.md AI/新對話快速接手:先讀 AGENTS.md,不要重新盤點整個 repository。最短指令:`@GitHub 依 AGENTS.md 快速模式處理:先確認【事項】, 再修改【內容】;測試通過後直接 commit、合併 main,並確認網站上線。` 全自動航空新聞聚合站。GitHub Actions 每小時整點抓取 FAA / NTSB / ICAO / IATA / EASA / Eurocontrol / Reuters / The Aviation Herald / 交通部民航局等免費可信來源, 去重合併後由 LLM 自動撰寫雙語(繁中 + EN)新聞稿,產出靜態頁面並部署到 GitHub Pages。每篇文章文末列出所有原始來源連結。查看完整 README ↗
SKYLINE TO AVIATION NEWS
🌐 Live site: https://skytical.tech/
🧭 Open-source scouting: docs/open-source-scouting.md
**AI/新對話快速接手:**先讀
AGENTS.md,不要重新盤點整個 repository。最短指令:@GitHub 依 AGENTS.md 快速模式處理:先確認【事項】, 再修改【內容】;測試通過後直接 commit、合併 main,並確認網站上線。
全自動航空新聞聚合站。GitHub Actions 每小時整點抓取 FAA / NTSB / ICAO / IATA / EASA / Eurocontrol / Reuters / The Aviation Herald / 交通部民航局等免費可信來源, 去重合併後由 LLM 自動撰寫雙語(繁中 + EN)新聞稿,產出靜態頁面並部署到 GitHub Pages。每篇文章文末列出所有原始來源連結。
A fully automated aviation news aggregator by SKYTICAL: fetch trusted free sources hourly, de-duplicate, draft bilingual stories with an LLM, publish as a static site on GitHub Pages — with every original source credited at the end of each article.
SKYTICAL/
├─ .github/workflows/hourly.yml # cron: 0 * * * * + workflow_dispatch
├─ pipeline/
│ ├─ common.py # 共用設定與來源註冊表
│ ├─ CONTRACTS.md # 各階段 JSON 資料契約
│ ├─ fetch.py # 抓取 RSS / HTML / API → data/raw/
│ ├─ dedupe.py # URL 正規化 + 標題相似度去重、跨來源合併 → data/pending.json
│ ├─ write.py # LLM 撰稿(zh+en,Anthropic/Gemini/NVIDIA 依序備援)→ data/articles/ 等
│ └─ build.py # JSON → 靜態 HTML(site/)
├─ templates/ # Jinja2 模板(Modernist 設計系統)
├─ static/ # modernist.css / site.css / app.js
├─ data/ # 原始快照與文章 JSON(commit 進 repo 當作資料庫)
└─ site/ # 建置輸出(gitignored;由 Actions artifact 部署到 Pages)
沒有文章時(未設任何撰稿 API key),首頁自動切換為純聚合模式: 直接顯示各來源的原文標題,點擊前往原始報導,完全免費。
AVWIRE_PROVIDER_ORDER 順序自動備援):
OPENCODE_API_KEY(OpenCode Console service account,主力模型閘道)ANTHROPIC_API_KEY(Anthropic,品質最佳、付費)GEMINI_API_KEY(Google AI Studio 免費層)NVIDIA_API_KEY(NVIDIA NIM 免費額度,DeepSeek 等開源模型)OPENROUTER_API_KEY(OpenRouter 備援,選用)AEROAPI_KEY(FlightAware 統計,選用)hourly-update 驗證。一組 key 都沒有時管線仍會執行:抓取與建站照常,只是不產生新文章。
撰稿階段內建事實核驗閘門(站長編輯規範 v2,見 docs/editorial-prompt-notes.md):
facts[].sourceQuote)與
sourceUrl;程式端逐字比對,比對不過的主張直接丟棄。每筆 fact 另以
evidenceScope 區分本次來源或受控歷史脈絡。publish、publish_brief(短但可信的新事件)、reject
(本次事件證據不足不發布,附具體理由)。航空安全與其他高風險題材仍保留
riskFlags,但只要通過來源、逐字引文、事實綁定、用語與防虛構等程式閘門
就直接發布;風險旗標本身不再建立人工審核佇列。data/review.json 僅供一次性遷移:新版管線會重新核驗仍在 14 天內的
舊稿,合格者發布、不合格者不發布,所有結果保存至
data/review-archive.json 後清空舊佇列。data/articles/*.json:
只有已發布、帶日期、來源 URL、逐字引文且可解釋直接關聯的舊事件,才能進入
<VERIFIED_ARCHIVE_CONTEXT>;最多 3 個事件/12 項 facts,不使用 embedding、
搜尋或額外模型呼叫。歷史資料只能補充前情,不得證明本次事件發生。"archived": true 封存:原始 JSON、來源與核驗紀錄完整
保留,但建站時不產生文章頁,也不出現在首頁、分類、搜尋、摘要或快訊。
provider-bench workflow(手動觸發)會用同一批待寫新聞讓每個已設 key 的
供應商各寫一輪並上傳成 artifact,方便比較品質後決定主力順序。pip install -r requirements.txt
python pipeline/fetch.py
python pipeline/dedupe.py
OPENCODE_API_KEY=... python pipeline/write.py # 可省略;或其他撰稿 key
AVWIRE_BASE_PATH= python pipeline/build.py # 本機預覽用空 base path
python -m http.server -d site 8000
環境變數:
| 變數 | 預設 | 說明 |
|---|---|---|
OPENCODE_API_KEY | — | OpenCode Console service account key(選用) |
ANTHROPIC_API_KEY | — | Anthropic 撰稿(選用) |
GEMINI_API_KEY | — | Google Gemini 撰稿(選用,免費層) |
NVIDIA_API_KEY | — | NVIDIA NIM 撰稿(選用,免費額度) |
OPENROUTER_API_KEY | — | OpenRouter 撰稿備援(選用) |
AVWIRE_PROVIDER_ORDER | opencode:claude-sonnet-4-6,opencode:gpt-5.5,gemini:gemini-3.6-flash,opencode:gemini-3.1-pro,opencode:qwen3.6-plus,nvidia:z-ai/glm-5.2,opencode:glm-5.1,opencode:kimi-k2.6,gemini:gemini-3.5-flash,... | 撰稿優先鏈,完整預設見 pipeline/model_config.py;主力模型驗證失敗自動重試一次,之後依序備援;帳號/額度失效會跳過同平台所有備援模型 |
AVWIRE_OPENCODE_MODEL | claude-sonnet-4-6 | OpenCode Console 模型 |
AVWIRE_MODEL | claude-opus-5 | Anthropic 模型 |
AVWIRE_GEMINI_MODEL | gemini-3.6-flash | Gemini 模型 |
AVWIRE_NVIDIA_MODEL | z-ai/glm-5.2 | NVIDIA NIM 模型 |
NEWS_MAX_AGE_HOURS | 120 | 新聞新鮮度窗口(小時),驗證範圍 24–336,非法值回退預設並警告 |
AEROAPI_KEY | — | FlightAware AeroAPI(選用統計) |
AVWIRE_BASE_PATH | 空字串 | 站台子路徑;正式自訂網域使用根路徑 |
AVWIRE_SITE_ORIGIN | https://skytical.tech | canonical、hreflang、sitemap 與 JSON-LD 的公開站台來源 |
相容性說明:
AVWIRE_*是既有部署使用的環境變數前綴,暫時保留以相容 GitHub Secrets/Variables;網站公開品牌與介面均統一使用 SKYTICAL。
rare-aircraft-monitor workflow 每 5 分鐘用 一次 Airplanes.live 廣域查詢
(臺灣中心 250 海浬)監測 config/tw_civil_airports.json 裡的民用機場,
純程式端判定抵達(多筆觀測狀態機,絕不用單一快照)、計算可解釋的稀有度
(0–100,常態業者/機型與歷史統計扣加分,config/rare_aircraft_watchlist.json
可人工加註),候選事件才查 ADSB.lol 交叉確認。軍機、政府專機、LADD/PIA、
緊急代碼與非 ICAO 位址一律排除且不留軌跡;公開資料絕不含即時座標。
確認的事件排入 data/flightwatch/queue.json,由每小時撰稿階段以專用
prompt 撰寫;來源一致、逐字引文與稿件契約均通過後自動發布,來源衝突或
證據不足則拒絕發布。
啟用方式:Repo Variables 設 FLIGHT_TRACKING_ENABLED=true。
公開網站另提供 /radar/(英文版 /en/radar/)台灣民航雷達頁。GitHub
Actions 每 10 分鐘向 ADSB.lol 取得一次資料,先排除敏感與過期紀錄,再將
單一近即時快照放入 Pages 部署產物;頁面每 5 分鐘讀取同網域快照,以 Leaflet 與
OpenStreetMap 顯示航班呼號、航空公司、機型、高度、地速及航向,並以
ADSBdb 公開呼號端點補充 ICAO/IATA 班號切換與起迄機場,預設以旅客常見的
IATA 班號顯示,仍可切回 ICAO 呼號;兩者皆不需 API key。航線查詢會在訪客
瀏覽器內去重、限制併發並快取。近即時快照不提交到 repository,不保留軌跡,
每次部署直接覆寫,且超過 30 分鐘即停止顯示;
建立任何標記前會排除軍事、PIA、LADD、緊急狀態、非 ICAO 位址與位置過期
資料。此頁僅供航空資訊參考,不是航管雷達,航線資料查不到時不會猜測。
製造商官方新聞來源另由 config/manufacturer_sources.json 管理;Airbus 與
Boeing 顯示於公開來源狀態,其餘製造商來源只供新聞管線使用。官方社群帳號
只保存為未來整合用的中繼資料,不繞過平台 robots 或自動化存取限制。
資料來源授權:Airplanes.live 社群資料(非商業用途;本站無廣告無營利)、 ADSB.lol 開放資料(ODbL,本站僅擷取事件摘要並保留出處標註,不鏡像資料庫)。
本站內容為自動生成,可能存在錯誤或遺漏,不構成飛安、法遵或投資建議。 引用以事實改寫為主,原文著作權屬原單位;任何權威資訊請以官方原始來源為準。