Show HN: Nenya——一個用Go編寫的輕量級、高安全性AI API網關/代理
Nenya是一個用Go編寫的輕量級、零依賴的AI API網關,位於AI編碼客户端和LLM提供商之間,提供秘密編輯、上下文管理、代理路由和MCP工具集成,支持透明SSE流。其安全特性包括非root執行、mlock保護秘密、seccomp和無新特權。
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許可證。