Dashboard 使用¶
适用范围:独立 Python Runtime。 桌面端操作见 Desktop 使用指南。
Echo Agent Dashboard 是一个 Web 管理界面,用于监控系统状态、管理会话与资源、查看日志和分析数据。
Dashboard 由网关进程提供,不占用独立端口,访问地址与认证方式均取自 gateway 配置。
架构概览¶
Dashboard 采用前后端分离架构:
- 前端:单页应用(SPA),提供实时状态面板与操作界面
- 后端 API:位于
gateway/api/目录,负责数据聚合与权限校验 - WebSocket:用于日志流、会话状态等实时推送
访问方式¶
启动网关(echo-agent gateway)后,在浏览器中访问网关地址即可:
Dashboard 是挂在网关根路径上的单页应用,端口由 gateway.port 决定(默认 58123,设为 0 时动态分配,实际端口写入 workspace/.echo-agent/gateway.json)。前端产物未构建时,该地址降级为内置 playground 页面;用 echo-agent dashboard build 构建产物。
简化页也可通过 /playground 访问。它从 /meta 获取实际 API 前缀和交互 WebSocket 路径;启用令牌认证时,在页面的 API / Admin token 输入框填写已有令牌。令牌仅用于请求头或 WS 认证帧,不放入 URL,也不保存在该简化页的浏览器存储中。正式 wheel 已包含 Dashboard,运行时不需要 Node/pnpm;源码构建才需要前端工具链。
页面导航¶
Dashboard 左侧为主导航栏,包含以下页面:
| 页面 | 功能 |
|---|---|
| Overview | 系统总览与健康状态 |
| Sessions | 会话管理 |
| Memory | 记忆存储浏览 |
| Skills | 技能管理 |
| Knowledge | 知识库管理 |
| Cron | 定时任务 |
| Kanban | 任务看板 |
| Logs | 系统日志 |
| Analytics | 使用分析 |
| Config | 运行时配置 |
| Channels | 通道配置 |
各页面详细说明¶
Overview(系统总览)¶
显示系统整体运行状态的仪表盘。
关键功能:
- 当前活跃会话数量
- 记忆条目、运行任务和交互 WS 客户端数量
- 各通道连接状态
- 事件触发刷新,并以定时轮询补偿断线
Sessions(会话管理)¶
查看和管理所有活跃与历史会话。
关键功能:
- 查看活跃会话列表及详情
- 浏览历史会话记录
- 重置会话,分页浏览对话及执行状态记录
- 按会话标识搜索
Memory(记忆浏览)¶
浏览和搜索各层级记忆条目。
关键功能:
- 按四个层级筛选浏览:
working、episodic、semantic、archival - 检索记忆内容
- 查看记忆元数据
- 删除记忆条目(页面不提供手动创建入口)
该页面是跨主体视图:列表与搜索均需要 admin 令牌,普通 API 令牌只能读取自身作用域内的记忆。
Skills(技能管理)¶
管理已安装的技能及其配置。
关键功能:
- 查看已安装技能列表
- 启用/禁用单个技能
- 查看技能触发条件与描述
- 查看技能正文、文件列表和依赖状态,按需安装依赖
Knowledge(知识库管理)¶
管理文档和知识库内容。
关键功能:
- 上传文档并触发索引重建
- 浏览已索引文档(显示路径、大小、修改时间)
- 查看索引状态:文档数、分块数、是否陈旧、上次重建时间
上传、删除与重建索引在服务端均受 admin 守卫保护。页面不提供文档分类或标签功能。
Cron(定时任务)¶
配置和监控定时执行的任务。
关键功能:
- 创建/编辑/删除定时任务
- 查看 Cron 表达式与下次执行时间
- 手动触发任务执行
- 查看任务执行历史与结果
Kanban(任务看板)¶
以看板形式可视化管理任务。
关键功能:
- 拖拽任务卡片变更状态
- 切换是否显示归档列(
cancelled、suspended)
拖拽依赖写权限:只读令牌下看板以只读方式呈现,而不是提供每次拖拽都返回 403 的控件。
Logs(系统日志)¶
实时查看系统运行日志。
关键功能:
- 实时日志流(WebSocket 推送)
- 按级别筛选(DEBUG / INFO / WARN / ERROR)
- 按文本搜索、分页查看较早日志
- 暂停或恢复实时刷新
Analytics(使用分析)¶
统计使用数据与模型调用成本。
关键功能:
- Token 消耗与每日成本趋势
- 总成本及通道归因
- 按通道/技能维度的使用分布
- 今日、最近 7 天、最近 30 天视图
Config(运行时配置)¶
校验并保存可编辑的非敏感配置;普通保存不改变已构造的 Runtime。
关键功能:
- 编辑语言、日志/轨迹、记忆/知识开关和成本预算
- 高级详情查看已保存配置与
_meta.running中的运行配置,所有密钥均脱敏 - 服务器提供
_meta.pending_paths和_meta.restart_required,刷新或重新登录后仍可看到差异
模型凭据、网关认证等敏感字段在此页只读,应通过服务器配置文件或受支持的配置向导维护。嵌套 PATCH 按叶字段合并,不能用整段配置绕过敏感字段限制;未知字段会返回 400。保存使用原子替换;文件无效时返回 409,避免覆盖原始内容。
重启后按配置文件和环境变量优先级重新加载;若有环境变量覆盖,同一字段仍可能与文件不同。没有配置历史/自动回滚按钮:回滚时恢复备份配置文件,再校验并重启。通道启停属于下面独立的即时生命周期操作。
Channels(通道配置)¶
配置消息通道的连接参数。
关键功能:
- 查看保存的启用开关、实际连接状态和待应用配置差异
- 启用/停用、启动/停止/重启已有通道;显式生命周期操作加载该通道的保存配置
- 查看失败与结果未知的投递,先核对目标聊天再恢复发送或登记送达
通道凭据通过服务器配置文件维护,页面不提供新增账号或凭据编辑入口。
访问控制¶
Dashboard 沿用网关的认证机制,没有独立的认证配置。gateway.host 默认为 127.0.0.1,只监听本机。
管理 API 使用已有 API/admin 令牌层级;会话及回合全文只允许 admin,包括 Dashboard WS 的 sessions 订阅。普通 API 令牌可收到不含主体/条目 ID 的记忆刷新信号,用于更新汇总。用户白名单是消息入口的另一道校验,不替代令牌。正常同源浏览器及未发送 Sec-Fetch-Site 的同源 WebSocket 均可工作;跨站来源与非预期 Host 会被拒绝。反向代理需按部署配置 allowed_hosts,开发跨源前端再显式配置 allowed_origins。
监控与告警¶
通过 Overview 和 Analytics 页面,可实现:
- 系统健康状态实时监控
- 模型成本预算监控
- 通过会话/回合状态和日志定位异常;页面不配置通用资源告警