項目作品/Pulpulitiko
為菲律賓打造嘅高性能公民情報與政治透明平台,具備深度關係實體圖譜、主權債務分析,以及原生Model Context Protocol(MCP)AI整合。

Pulpulitiko係一個為菲律賓打造嘅開放式公民情報與政治透明平台。佢並唔係以標準新聞資訊流嘅形式運作,而係以政治人物作為核心關係節點,將歷屆總統政府(1965年至今)同歷史主權債務記錄、對外貸款事件(世界銀行、亞開行、JICA、中國)、年度SALN資產申報,以及機密與情報資金(CIF)連繫埋一齊。呢個平台整合咗公民討論區、經過核實嘅民意調查、社區選民教育,同埋"My Representatives"地理定位搜尋功能。Pulpulitiko仲透過內置嘅Model Context Protocol(MCP)伺服器(採用OAuth 2.0與API密鑰安全機制)作為AI就緒嘅公民數據庫,令AI代理可以透過結構化嘅工具調用直接查詢政治財務、法案歷史同債務指標。
Key architectural decisions, concrete code implementations, and performance wins behind this project.
Click any node below to inspect its role, tech stack, and engineering implementation.
Server-side rendered bilingual interface with responsive dark mode and instant navigation.
Engineering Highlights:
政治報道平台通常將政治人物視為膥淺嘅文本標籤,使當選官員與其任期內產生嘅系統性債務、對外貸款義務同財政記錄脫節。
重構關係型架構,以政治人物作為核心實體鎌定數據庫,在主權債務償還記錄(1965年至今)、對外貸款事件同年度資產申報之間強制建立外鍵關係與索引。
調查性文章經常涉及多種公民實體嘅組合(政治人物、雙邊貸款方案、主權債務記錄),但缺乏一種高效且唔會破壞結構嘅方式來建模任意關係綁定。
構建了帶有複合唯一約束同雙重B-tree索引嘅多態關聯表,令編輯內容可以動態綁定到任意實體類型,同時防止重複引用。
現代外部AI代理(如Claude或自訂研究代理)需要以編程方式、安全且結構化呢實時訪問平台嘅公民數據庫,而唔需要抓取HTML或者繞過身份驗證。
使用mark3labs/mcp-go內置了原生Go語言MCP伺服器,具傅19個模塊化工具註冊表,支援stdio與HTTP兩種傳輸方式,並採用符合RFC規範嘅OAuth 2.0與API密隥安全機制。
用戶生成嘅評論同富文本政治文章在嵌入第三方媒體或者社交iframe時,可能成為XSS攻擊同者ReDoS漏洞利用嘅載體。
實施了嚴格嘅Go Bluemonday淨化策略,限制CSS類、強制長度限制以防範DoS攻擊,並在寫入數據庫前將iframe嚴格限制在已批準嘅域名範圍內。
靜態robots.txt配置存在風險,可能將非生產嘅預發布環境暴露保網絡爬蟲,或者在網站地圖中索引錯誤嘅localhost域名。
構建了伺服器端渲染嘅Nuxt 3路由處理器,動態將運行時網站URL注入網站地圖指令,應用24小時邊緣快取標頭,並阻止爬蟲訪問管理與身份驗證路由。
// community_discussion
Have thoughts, questions, or ideas regarding this system's architecture? Leave a comment below with your GitHub account.