# userver **Repository Path**: uesoft/userver ## Basic Information - **Project Name**: userver - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-14 - **Last Updated**: 2026-07-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # userver — Universal Server userver 是一个通用服务器框架,采用微内核 + 插件(connector)架构。 核心极薄,只做三件事:加载 connector、事件循环、消息路由。 ## 架构 ``` userver (微内核) ├─ server.c — 事件循环 + 连接管理 ├─ main.c — 入口 └─ userver.h — 核心接口 / Connector 协议 connector (插件 .so) ├─ conn_http.so — HTTP REST API + 子进程管理 ├─ conn_irc.so — UnrealIRCd 管理 (启动/停止/RPC) └─ ... (可扩展) ``` ## Connector 接口 每个 connector 只需实现一个 `UvConnector` 结构体: ```c typedef struct { const char *name; int (*on_load)(UvServer*, void**); int (*on_start)(UvServer*, void*); int (*on_stop)(UvServer*, void*); int (*on_request)(UvServer*, void*, UvRequest*, UvResponse*); void (*on_tick)(UvServer*, void*); int (*on_unload)(UvServer*, void*); // ... } UvConnector; ``` 导出一行宏即可: ```c USERVER_CONNECTOR(g_my_connector); ``` ## 构建 ```bash cd userver make # 编译所有 make run # 运行 ``` ## API 运行后访问: | 方法 | 路径 | 说明 | |------|------|------| | GET | /status | 服务器状态 (版本、connector 列表、子进程) | | POST | /process/unrealircd/start | 启动 UnrealIRCd | | POST | /process/unrealircd/stop | 停止 UnrealIRCd | | POST | /process/llm-server/start | 启动 LLM Server |