Gateway

什么是 Gateway?

Gateway 是 Neotask 的核心 -- 一个单一的长期运行服务,管理所有代理会话、消息频道、工具执行和设备连接。一切都通过 Gateway 流转。

它是一个 WebSocket 服务器,监听来自客户端(桌面应用、移动应用、Web 仪表盘)的连接,并管理整个 AI 助手的生命周期。

架构

组件

绑定模式

模式 描述
Loopback 默认。仅可从 localhost(127.0.0.1)访问
LAN 在本地网络上可访问。通过 Bonjour/mDNS 自动发现
Tailnet 通过 Tailscale VPN 使用 MagicDNS 访问
Custom 绑定到特定地址

认证

方法 描述
Token WebSocket bearer token(UUID 或自定义字符串)
Password 基于密码的认证(bcrypt 哈希)
Trusted Proxy 用于带预认证头的反向代理
Local Trust 回环连接自动信任

配置

Gateway 通过 neotask.json(JSON5 格式)配置。关键部分:

部分 控制内容
agents 代理列表、默认值、工作空间
gateway 端口、绑定模式、认证、重载行为
channels 按频道的配置和凭据
tools 工具权限、配置、安全
plugins 插件加载、启用、按插件配置
models 提供商认证、回退、提供商设置
skills 技能目录、按技能配置
browser 浏览器配置、端口、无头模式
cron 调度器配置
session 重置规则、压缩阈值
messages TTS 设置、媒体策略
memory 记忆索引配置
security 沙箱、提升模式、审批

热重载

配置更改可以在不重启的情况下应用:

模式 行为
Hybrid(默认) 热应用安全更改,其他需要重启
Hot 仅应用热安全更改,忽略其他
Restart 在任何需要重载的更改时重启
Off 不自动重载

远程访问

Tailscale(推荐)

Tailscale 提供安全的零配置远程访问:

SSH 隧道

通过 SSH 转发 Gateway 端口:

安全规则

健康监控

健康端点

/health HTTP 端点返回:

探针

发现

Bonjour/mDNS

绑定到 LAN 时,Gateway 通过多播 DNS 广播自己:

广域发现

使用可配置的超时跨网络发现 Gateway。支持本地 Bonjour 和 Tailscale DNS 发现。

多 Gateway

您可以使用配置文件在同一台机器上运行多个 Gateway 实例:

诊断

Doctor

内置诊断工具检查:

在获得许可后,它可以自动修复许多问题。

日志

Gateway 日志写入每日 JSONL 文件: