mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-07 04:50:57 +08:00
- Fix thinkAndActStream: emit delta event for non-tool responses (was silent) - Add fallback to streaming on first LLM call failure - Add batch ticker endpoint /api/agent/tickers (3 API calls → 1) - Update MarketTicker to use batch endpoint, remove unused state - Warn loudly when JWT_SECRET uses default value - Fix 华为 mapping (was incorrectly mapped to Tencent) - Replace ioutil.ReadAll with safe.ReadAllLimited in nofxos client - Remove unused variable in hyperliquid trader_account - Wrap CoinAnk WS readers with safe.GoNamed for panic recovery - Use 100dvh for mobile viewport in AgentChatPage - console.log → console.warn for auth events
21 lines
822 B
Go
21 lines
822 B
Go
package api
|
|
|
|
import (
|
|
"nofx/agent"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// RegisterAgentHandler registers NOFXi agent API routes on the main router.
|
|
// Chat endpoint requires authentication; market data endpoints are public.
|
|
func (s *Server) RegisterAgentHandler(h *agent.WebHandler) {
|
|
// Chat requires auth — can trigger trades and access account data
|
|
s.router.POST("/api/agent/chat", s.authMiddleware(), gin.WrapF(h.HandleChat))
|
|
s.router.POST("/api/agent/chat/stream", s.authMiddleware(), gin.WrapF(h.HandleChatStream))
|
|
// Public endpoints — read-only market data
|
|
s.router.GET("/api/agent/health", gin.WrapF(h.HandleHealth))
|
|
s.router.GET("/api/agent/klines", gin.WrapF(h.HandleKlines))
|
|
s.router.GET("/api/agent/ticker", gin.WrapF(h.HandleTicker))
|
|
s.router.GET("/api/agent/tickers", gin.WrapF(h.HandleTickers))
|
|
}
|