@agentauto/agent-gateway
v1.0.7
Published
Standalone Agent Gateway for AionUI remote ACP sessions (OpenCode, Claude Code, Flowise, LangGraph)
Readme
@aionui/agent-gateway
独立部署的 Agent Gateway,负责把不同执行后端转换为统一 WebSocket 服务,供 AionUI 或其他客户端远程接入。
功能
- WebSocket 命令入口:
/ws - 健康检查接口:
/healthz - 运行时可切换:
opencode/flowise/langgraph/claude-code - 支持远程运行目录
workspace指定 - 支持目录白名单限制(
allowedRoots) - 支持 token 鉴权
快速启动
本地开发
pnpm install
pnpm dev -- --port 18790 --token your-token --allowed-roots /srv/projects,/data/workspaces构建后运行
pnpm build
pnpm start -- --runtime opencode --port 18790 --token your-token --allowed-roots /srv/projects发布后服务器一条命令运行
pnpm dlx @aionui/agent-gateway --runtime opencode --port 18790 --token your-token --allowed-roots /srv/projectsCLI 参数
--host监听地址,默认0.0.0.0--port监听端口,默认18790--runtime运行时类型,opencode|flowise|langgraph|claude-code,默认opencode--token连接 token(客户端需带?token=...)--allowed-roots远程目录白名单,逗号分隔绝对路径--max-sessions最大会话数,默认30--idle-timeout-ms空闲回收毫秒数,默认1800000--request-timeout-msRPC 超时毫秒数,默认20000--opencode-commandopencode 可执行命令,默认opencode--opencode-argsopencode 参数,逗号分隔,默认acp--claude-code-commandclaude code 可执行命令,默认claude--claude-code-argsclaude code 参数,逗号分隔,默认--experimental-acp--flowise-base-urlFlowise 服务地址(flowise runtime 可选默认)--flowise-workflow-idFlowise 默认 workflowId(flowise runtime 可选默认)--flowise-authorizationFlowise 默认 Authorization(flowise runtime 可选默认)
环境变量
CLI 参数会覆盖同名环境变量。
AGENT_GATEWAY_HOSTAGENT_GATEWAY_PORTAGENT_GATEWAY_RUNTIMEAGENT_GATEWAY_TOKENAGENT_GATEWAY_ALLOWED_ROOTSAGENT_GATEWAY_MAX_SESSIONSAGENT_GATEWAY_IDLE_TIMEOUT_MSAGENT_GATEWAY_REQUEST_TIMEOUT_MSAGENT_GATEWAY_OPENCODE_COMMANDAGENT_GATEWAY_OPENCODE_ARGSAGENT_GATEWAY_CLAUDE_CODE_COMMANDAGENT_GATEWAY_CLAUDE_CODE_ARGSAGENT_GATEWAY_FLOWISE_BASE_URLAGENT_GATEWAY_FLOWISE_WORKFLOW_IDAGENT_GATEWAY_FLOWISE_AUTHORIZATION
WebSocket 协议
连接地址:
ws://host:port/ws?token=your-token客户端请求格式:
{
"action": "create_session",
"requestId": "req-1",
"payload": {
"workspace": "/srv/projects/demo-repo"
}
}action 支持:
create_sessionsend_messageset_modelset_config_optionconfirm_permissionstop_sessionlist_sessionslist_workspaceread_filewrite_filecreate_entryrename_entrydelete_entry
服务端响应格式:
{
"type": "response",
"requestId": "req-1",
"success": true,
"data": {
"sessionId": "gateway-session-id"
}
}服务端事件格式:
{
"type": "event",
"sessionId": "gateway-session-id",
"event": {
"type": "acp_message",
"payload": {}
}
}