- 引入 DirectAnnouncementCallback 类型用于处理直连模式下的公告 - 在 DelegationManager 中添加 _direct_announcement_callback 属性和设置方法 - 实现 _notify_direct_announcement 方法用于在非总线模式下将公告回写到本地会话 - 在委托取消、完成和分组完成时添加对直连公告的通知逻辑 feat(web): 增加 WebSocket 广播器支持实时会话更新通知 - 创建 WebSocketBroadcaster 类用于跟踪认证的 WebSocket 连接并广播 JSON 事件 - 在应用启动时初始化 websocket_broadcaster 实例 - 实现连接注册、注销和消息广播功能 - 添加过期连接清理机制 feat(agent): 新增系统公告处理方法支持本地处理 - 在 AgentLoop 中添加 process_system_announcement 方法用于在无常驻 run() 场景下处理系统公告 - 创建 InboundMessage 并通过 _process_message 进行处理 feat(cron): 改进定时任务的会话路由解析和实时更新 - 添加 _resolve_cron_session_key 和 _infer_cron_route_from_session_key 辅助函数 - 在 cron 任务执行完成后通过 WebSocket 广播会话更新事件 - 在添加定时任务时自动推断目标会话的渠道和聊天 ID refactor: 项目名称从 Boardware Genius 统一改为 Boardware Agent Sandbox - 更新前端页面标题和描述文本中的产品名称 - 添加新的品牌 Logo 图片资源 - 在前端布局中使用新的 Logo 显示 - 更新授权门户中的品牌信息和 Logo 显示 feat(frontend): 添加会话更新事件监听实现消息自动刷新 - 定义 SessionUpdatedEvent 类型接口 - 在 ChatPage 中添加会话更新事件的处理逻辑 - 当收到会话更新事件时自动重新加载会话列表和当前会话消息 feat(api): 扩展定时任务 API 支持会话键参数 - 在 addCronJob API 参数中添加 session_key 字段 - 更新前端 Cron 页面的表单处理以传递当前会话键
router-proxy
独立的实例入口反向代理:
- 对外暴露一个统一端口
- 按
Host头把专属 URL 转发到对应app-instance容器 - 路由表从
app-instance/runtime/registry/instances.json动态生成
文件
nginx.conf- Nginx 主配置
render-routes.py- 从实例注册表生成
runtime/conf.d/instances.conf
- 从实例注册表生成
start-proxy.sh- 启动路由代理容器
reload-proxy.sh- 重载路由配置
默认约定
- 容器名:
nano-router-proxy - Docker network:
nano-instance-edge - 对外端口:
8088
建议直接参考:
REGISTRY_PATH 和 OUTPUT_PATH 一般不需要配。
这两个是主机侧脚本路径,默认值会按 start-proxy.sh 自己所在目录推导,比写死某台机器上的绝对路径更稳。
启动
cd /home/ivan/xuan/nano_project/router-proxy
./start-proxy.sh
重载
cd /home/ivan/xuan/nano_project/router-proxy
./reload-proxy.sh --start-if-missing
URL 约定
如果 deploy-control 侧使用默认配置,实例 URL 形如:
http://<instance-slug>.127.0.0.1.nip.io:8088
只要本机或 DNS 能把该域名解析到代理所在机器,就会由该代理转发到目标实例容器。