Staging API · HTTPS enabled · Not production
Reality Intelligence API
台灣現實世界搜尋引擎 Taiwan World Model 的機器介面。這個 staging API 讓 TrueSight / Codex / internal tools 查詢目前可介接的現實資料能力,並測試 Reality Check 合約。
https://taiwanworldmodel.thesense.biz
所有受保護 API 需使用 header:X-API-Key。請不要把 API key 寫死在程式碼或公開 repo。
目前狀態
status=catalog_only:資料源能力目錄已可查詢。status=insufficient_data:Reality Check endpoint 可呼叫,但尚未接入正式即時資料源。- 目前不是 production API;API clients、rate limit、audit log 仍是 in-memory。
Endpoints
| Endpoint | 用途 | 目前狀態 |
|---|---|---|
GET /healthz | 服務健康檢查 | Public |
GET /v1/reality/sources | 查詢可介接資料源能力目錄,可用 ?intent=... 過濾 | API key required,回 status=catalog_only |
POST /v1/reality/check | 送出自然語言 Reality Check 查詢 | API key required,目前多數查詢回 status=insufficient_data |
查詢資料源能力
curl -s https://taiwanworldmodel.thesense.biz/v1/reality/sources -H "X-API-Key: $TRUESIGHT_REALITY_API_KEY"
依 intent 過濾:
curl -s "https://taiwanworldmodel.thesense.biz/v1/reality/sources?intent=traffic_congestion" -H "X-API-Key: $TRUESIGHT_REALITY_API_KEY"
送出 Reality Check
curl -s -X POST https://taiwanworldmodel.thesense.biz/v1/reality/check -H "Content-Type: application/json" -H "X-API-Key: $TRUESIGHT_REALITY_API_KEY" -d '{"query":"阿里山現在有雲海嗎?"}'
Weather Reality API Usage:TrueSight 氣象查詢
TrueSight 目前可以先用 Reality API 查氣象資訊,暫時不啟用攝影機驗證。支援的 weather runtime intents 包含 rain_now、weather_suitability、flooding_risk。
curl -s -X POST https://taiwanworldmodel.thesense.biz/v1/reality/check -H "Content-Type: application/json" -H "X-API-Key: $TRUESIGHT_REALITY_API_KEY" -d '{"query":"阿里山現在有下雨嗎?"}'
| Status | 意義 | TrueSight UI 建議 |
|---|---|---|
live_data | 已取得 CWA 觀測/雨量 signals | 可顯示為氣象現況查證結果,但仍需顯示 limitations |
configuration_required | runtime 已接好,但服務尚未設定 CWA_API_KEY | 顯示為介接已就緒、等待金鑰設定,不可顯示成即時天氣 |
insufficient_data | 該地點或意圖沒有足夠資料 | 顯示無足夠資料,不做明確建議 |
{
"intent": "rain_now",
"status": "configuration_required",
"current_state": "unknown",
"data_sources": ["cwa_weather_observation", "cwa_rainfall_observation"],
"signals": [],
"limitations": ["需要在服務環境設定 CWA_API_KEY"]
}
攝影機驗證下一階段:氣象 live data 穩定後,下一個大項目是公共攝影機白名單與 visual evidence,用來驗證氣象局實時資訊是否符合現場畫面。
Temperature Definitions:溫度定義
Weather Reality 會明確區分 室外實測氣溫 與 體感溫度,避免把測站溫度誤解為人體實際感受。
| 欄位 | 中文定義 | 資料意義 |
|---|---|---|
air_temperature_c | 室外實測氣溫 | 中央氣象署測站量到的空氣溫度,不等於人在太陽、濕度、風速下的感受。 |
apparent_temperature_c | 體感溫度 | 由氣溫、濕度、風速估算;炎熱潮濕時使用 heat index,寒冷有風時使用 wind chill。 |
Reality Graph 資料源原則
Taiwan World Model 不是 CCTV 聚合器。官方資料是現實證據的一等公民;攝影機是眼睛,不是整個世界模型。
| 資料類型 | 例子 | 角色 |
|---|---|---|
| 官方公告 | 封路、停班停課、災害警戒、施工公告 | 權威狀態來源 |
| 感測器 | 雨量、水位、AQI、VD 車流、溫度 | 量化現實狀態 |
| 交通資訊 | CMS、事故、路況、旅行時間 | 道路可用性與壅塞判斷 |
| 攝影機 | 景點 webcam、交通 CCTV、河川影像 | 視覺驗證與補充 |
公共資源 catalog
| Source ID | 類型 | 狀態 | 備註 |
|---|---|---|---|
cwa_weather_observation | weather | client_ready_requires_cwa_api_key | 中央氣象署觀測資料;CWA client v0 已完成,需環境變數 API key 才能 live fetch |
cwa_rainfall_observation | rainfall | client_ready_requires_cwa_api_key | 中央氣象署雨量資料;CWA client v0 已完成,需記錄測站、觀測時間與 freshness |
cwa_weather_forecast | forecast | planned | 週末/假期預報、forecast_uncertainty、forecast_divergence |
cwa_radar_echo | radar | planned | 短時降雨 nowcast 與雨帶移動 |
cwa_satellite_cloud | satellite | planned | 雲帶、颱風外圍環流、能見度趨勢 |
cwa_typhoon_forecast | forecast_alert | planned | 颱風路徑、警報與不確定性 |
tdx_transport_traffic | traffic | planned | TDX 交通資料 |
freeway_vd_traffic | traffic_sensor | planned | 高速公路 VD 車流/車速/占有率 |
freeway_cms_messages | traffic_bulletin | planned | 高速公路 CMS 資訊可變標誌 |
official_road_closure_bulletins | official_bulletin | planned | 封路、施工、災害通報 |
scenic_camera_public_feeds | camera | candidate_review_required | 景點公開攝影機;需白名單審查 |
freeway_traffic_cctv | traffic_camera | candidate_review_required | 高速公路 CCTV;不公開原始 URL,不做車牌/車輛追蹤 |
river_water_level_observation | water_level | planned | 河川水位觀測 |
flood_alerts | disaster_alert | planned | 淹水警戒與防災告警 |
reservoir_status | reservoir | planned | 水庫水情與洩洪資料 |
aqi_observation | air_quality | planned | 環境部空氣品質 AQI |
public_parking_availability | parking | planned | 公共停車場即時剩餘車位 |
tourism_scenic_spots | tourism | planned | 觀光景點基本資料與公告 |
Decision Reality:現在進行式狀態 → 決策
Reality API 的核心不是展示資料,而是回答會影響行動的 現在進行式 狀態:現在是否真的在下雨?現在是否真的在塞車?資料是否夠新,能不能支援即時決策?
| 使用者決策 | 需要的 current_state | decision_impact / recommendation |
|---|---|---|
| 騎車要不要穿雨衣 | rain_now、drizzle_now、road_wetness、rain_trend | 穿雨衣 / 輕便雨衣即可 / 可暫不穿但 30 分鐘內注意 |
| 走路撐傘是否夠 | rain_intensity、wind_gust、sideways_rain、distance_duration | 撐傘可行 / 需雨衣 / 建議延後 |
| 開車或改搭火車 | traffic_congestion、road_availability、stuckness、incident_risk | 開車可接受 / 改搭火車較穩 / 延後出發 |
{
"current_state": "drizzle_now",
"decision_impact": "騎車會被淋濕,走路短程撐傘可接受",
"recommendation": "騎車穿雨衣;步行可撐傘",
"confidence": 0.78,
"limitations": ["最近雨量站距離 4.2 公里"]
}
Now Freshness Contract:現在資料必須夠新
若資料不夠新,Reality API 不可假裝是「現在」。每個可用於即時決策的 signal 都應回報 observed_at、fetched_at、freshness_seconds、staleness。資料過舊時應降級為 stale 或 unknown,並提示不要用於即時決策。
| 狀態 | 意義 | 決策處理 |
|---|---|---|
fresh | 資料足夠新,可支援現在判斷 | 可給 recommendation |
stale | 資料已過時,不代表現在 | 只能給保守建議或要求重查 |
unknown | 沒有足夠資料判斷現在 | 不可做明確決策建議 |
Weather Reality:天氣現狀如何掌握?
天氣不能只看預報。Reality API 會區分 預報 forecast、觀測 observation、現場視覺 visual evidence、nowcasting 臨近推估。當氣象說天晴但現場毛毛雨,常見原因是微氣候、地形雲霧、測站距離、雷達解析度或降雨胞偏移。
| 問題 | 主要訊號 | 判斷重點 |
|---|---|---|
| 預報晴但現場毛毛雨 | 雨量站、雷達回波、濕度/露點、攝影機地面濕潤、社群回報 | 標記為微尺度降雨或地形性毛毛雨;以資料新鮮度與近距離觀測提高 confidence。 |
| 預報雨但現場大太陽 | 雷達雨帶位置、衛星雲圖、日照/能見度、攝影機天空狀態、最近雨量 | 判斷雨帶是否偏移、已通過或只影響同預報區的其他地點。 |
| 山區雲海/霧/能見度 | 濕度、露點差、風速、地形高度、攝影機視覺、雷達/衛星 | 把雨、霧、雲海分開;不把看不清楚一律當成下雨。 |
Forecast Reality:Weekend / Holiday Planning
幾天後或週末假期的天氣預測有價值,但必須顯示 forecast_uncertainty 與 forecast_divergence。颱風生成、外圍環流、下沉氣流、雲雨帶位置與路徑偏移,都可能讓「預測大雨」與「當地實際很熱很晴」同時成立。
| 情境 | 需要比較的訊號 | 回答方式 |
|---|---|---|
| 颱風預測大雨但當地大太陽 | 颱風路徑、外圍環流、下沉氣流、雲雨帶位置、衛星雲圖 | 顯示預測分歧,標示短期可能熱但後續風險仍高 |
| 預報好天氣但烏雲籠罩並下雨 | 雷達回波、衛星雲圖、局部對流、地形雲、即時雨量 | 用 nowcast 修正 forecast,提醒現況已偏離預報 |
| 週末露營是否適合 | 多模型比較、預報變動趨勢、雨量機率、風速陣風、地形影響 | 回傳可行/觀望/不建議,並列出不確定性來源 |
Mountain / Camping Nowcast:山區與露營短時天氣
露營最怕天氣快速變化,因此不能只回答現在有沒有下雨,而要判斷 30–120 分鐘內是短時轉好還是短時轉壞。山區天氣會被地形、地勢、海拔高度、坡向、迎風/背風面、谷地/稜線差異強烈影響。
| 訊號 | 用途 | 露營判斷 |
|---|---|---|
| 雲的型態與移動 | 判斷雲底是否抬升、雲量是否減少、雨帶是否離開 | 雲層變薄、雲底抬升 → 可能短時轉好 |
| 濕度/露點差 | 判斷霧、低雲、毛毛雨與凝結風險 | 露點差很小 + 風弱 → 霧/毛毛雨可能持續 |
| 風速風向 | 判斷迎風坡降雨、背風面轉晴、雲霧移動速度 | 風向轉乾、風速增加且雨帶離開 → 可能轉好 |
| 雨量趨勢 | 比較近 10/30/60 分鐘雨量變化 | 雨量下降 + 雷達回波遠離 → 可能短時轉好 |
| 雷達回波移動 | 追蹤降雨胞是否接近或遠離營地 | 回波增強接近 + 高濕 → 短時轉壞 |
| 地形/海拔/坡向 | 修正模型預報與測站資料 | 同一行政區內,稜線、谷地、迎風坡可能完全不同 |
若當地沒有風速觀測,像 Windy 這類服務通常使用 ECMWF/GFS/ICON 等數值天氣模型推估網格風場,再依位置顯示;Reality API 需標示為 model_estimated_wind,不可假裝是現場實測。
Camera Visual Evidence:攝影機作為現場驗證
攝影機不是唯一資料源,但很適合作為 現場驗證 與 sanity check,用來確認預報、模型、感測器與官方公告是否符合實際畫面。
| 用途 | 可驗證內容 | 限制 |
|---|---|---|
| 天氣 | 是否真的下雨、地面是否濕、天空是否放晴、雲霧是否降低 | 鏡頭髒污、逆光、夜間畫面會降低可信度 |
| 交通 | 車流是否停滯、是否積水、事故/封路是否可視 | 不做車牌或個別車輛追蹤 |
| 景點 | 人潮、能見度、海況、現場可用性 | 不做人臉或個體追蹤 |
治理原則:不公開原始 CCTV URL、不做人臉、不做車牌、不長期保存原始影像;對外只輸出 summary / confidence / limitations。
Identity-Level Analysis Governance:身分層級分析治理
公開版 Reality Search 不追蹤個體。車牌辨識、人臉辨識與個體追蹤不是目前公開 API 的核心能力,也不應混入一般天氣、交通、景點與災害查詢。
| 模式 | 定位 | 治理要求 |
|---|---|---|
| Public Reality Search | 回答地方狀態:下雨、塞車、人潮、淹水、道路可用性 | 不做人臉、不做車牌、不追蹤個體,只回聚合狀態 |
| Law Enforcement Module | 未來可與警政單位合作的警政授權模組 | 必須獨立權限、合法授權、任務限定、資料最小化、完整審計、用途審查 |
原則:身分層級的分析只能存在於合法授權、可稽核、政府核准的受管制部署中;不能成為一般公開 Reality Search 的預設能力。
Camera Whitelist Workflow:攝影機白名單介接流程
公共公開攝影機不會直接全量接入。每個來源都必須完成候選來源盤點、授權審查、隱私風險審查、技術可用性檢查與白名單啟用。
- 候選來源盤點:記錄 provider、頁面來源、地點、用途、更新頻率與初步風險。
- 授權審查:確認是否允許抓取、AI 分析、展示截圖或僅可連回原頁。
- 隱私風險審查:排除住宅、學校、醫院、私人空間與容易識別個體的角度。
- 技術可用性檢查:確認格式、穩定性、更新頻率、延遲與是否需要只存 metadata。
- 白名單啟用:只允許通過審查的 camera source 進入 on-demand visual evidence pipeline。
Traffic Reality:交通如何測量?
交通不能只用「車速低」判斷。Reality API 會把交通問題拆成 道路可用性、壅塞程度、真卡死/假塞車、資料盲區 四類。
| 問題 | 主要訊號 | 判斷重點 |
|---|---|---|
| 風災豪雨造成道路不可用 | 封路/事故通報、CMS、VD 車流、CCTV、雨量、水位、地方災情 | 不能把「沒速度資料」直接當成順暢;需判斷封路、資料中斷、或車輛已無法前行。 |
| 連假高速公路壅塞 | VD 車流/車速/占有率、ETag/旅行時間、CMS、交流道回堵、歷史連假 baseline | 區分短暫降速的假塞車與低速、低流量、排隊長度增加的真卡死。 |
| 沒顯示塞車但實際不能動 | 上游/下游偵測點落差、CCTV、事故通報、社群/新聞、資料新鮮度 | 標記為資料盲區或異常阻斷,不把官方未顯示塞車視為道路可用。 |
互動式文件
安全限制
- 不支援人臉辨識、車牌辨識、個人追蹤、私人空間監控。
- CCTV / webcam 類資料源必須白名單審查。
- 不公開原始攝影機 URL,不長期保存原始影像。