AI News HubLIVE
站内改写2 分鐘閱讀

Show HN: Nenya——一個用Go編寫的輕量級、高安全性AI API閘道器/代理

Nenya是一個用Go編寫的輕量級、零依賴的AI API閘道器,位於AI編碼客戶端和LLM提供商之間,提供秘密編輯、上下文管理、代理路由和MCP工具整合,支援透明SSE流。其安全特性包括非root執行、mlock保護秘密、seccomp和無新特權。

來源Hacker News AI作者: garou

Nenya是一個用Go編寫的輕量級AI API閘道器,旨在作為AI編碼客戶端(如Cursor、OpenCode、Aider等)與上游LLM提供商之間的透明中介軟體。它提供了安全編輯、上下文管理、代理路由和MCP工具整合等功能,所有操作均透過透明的SSE流進行。該專案遵循零依賴原則,僅使用Go標準庫,確保輕量和可靠。

Nenya支援任何實現OpenAI或Anthropic Chat Completions API的提供商,並內建了針對23個提供商的專用介面卡,處理它們之間的格式差異。它透過配置驅動的提供商登錄檔實現動態模型發現,支援三層次模型解析:配置覆蓋 > 發現模型 > 靜態登錄檔。此外,Nenya還提供了代理回退鏈,支援輪詢或順序回退,並帶有斷路器和自動故障轉移。其延遲感知路由可根據歷史中位響應時間自動排序目標,並新增±5%的抖動以防止驚群效應。

在安全和隱私方面,Nenya實施了多層次保護。它包含始終開啟的Tier-0正規表示式秘密過濾器,用於編輯AWS金鑰、GitHub令牌和密碼等敏感資訊。三層次內容管道包括可插拔攔截器鏈:正規表示式編輯、熵過濾、TF-IDF相關性評分和引擎摘要。此外,Nenya還支援上下文視窗壓縮、陳舊工具呼叫修剪和思考塊修剪。輸入驗證包括嚴格的請求體限制、JSON清理和頭部過濾。即使管道失敗,系統也會優雅降級,確保請求不會被阻止。

角色基礎訪問控制(RBAC)允許根據API金鑰角色(管理員、使用者、只讀)限制對特定代理和端點的訪問。安全記憶體使用mlock保護令牌儲存,並在初始化後將其設為只讀,防止核心轉儲。部署安全方面,Nenya預設以非root使用者執行(UID 65532),具有隻讀檔案系統、seccomp、無新特權,並透過systemd憑據或容器掛載載入秘密,從不寫入磁碟。

Nenya還整合了MCP(Model Context Protocol)工具,支援自動工具發現、多輪執行和自動儲存。它能夠從MCP伺服器預取相關內容,並持久化助手響應到MCP記憶體伺服器。

該專案提供了多種快速啟動方式,包括Podman、Homebrew、包管理器(Debian、Fedora、Arch、Nix)以及容器和Kubernetes部署。執行時配置透過環境變數進行,支援熱過載和零停機重啟。API端點包括標準的OpenAI和Anthropic相容介面,以及健康檢查、統計和Prometheus指標端點。

Nenya的架構文件、配置參考、部署指南等均可在GitHub倉庫中找到。該專案採用Apache 2.0許可證。