核心用法
aic-dashboard 是 AI Commander 的统一管理控制台,定位于"Controller"角色。它通过读取同级技能的数据文件(email-webhook/inbox.jsonl、browser-auth/session.json)实现信息聚合,并能派生 Node.js 进程启动 browser-auth 的认证服务器脚本。运行时依赖 DASHBOARD_TOKEN 进行访问控制,默认监听本地 19195 端口。
启动方式:
DASHBOARD_TOKEN=<强密钥> node scripts/server.js
显著优点
1. 集中式管理:单一界面整合邮件收件箱与浏览器会话状态,减少多技能切换成本
2. 跨技能协调:打破技能目录隔离,实现 email-webhook 与 browser-auth 的数据联动
3. 输入净化机制:BROWSER_PROXY 变量经正则严格过滤(^([a-z0-9]+:\/\/)?([a-z0-9.-]+(:\d+)?)$),阻断注入攻击向量
4. 安全加固:强制 shell: false 执行子进程,限制环境变量继承范围(仅 PATH、HOME)
5. 令牌安全设计:UI 自动清除 URL 中的 token 参数,降低泄露风险
潜在缺点与局限性
1. 目录越界访问:明确设计为读取/写入兄弟目录文件,违反最小权限原则
2. 进程派生风险:动态执行外部技能脚本,若 browser-auth 被篡改将级联影响
3. 硬编码依赖路径:INBOX_PATH 和 SESSION_PATH 默认值使用相对路径 ../,部署灵活性受限
4. 网络暴露风险:虽默认绑定 127.0.0.1,但文档警告 19195/19196 端口需防火墙保护,暗示实际存在外置暴露场景
5. Node.js 供应链:依赖 express@4.21.2,需持续关注 CVE 披露
适合人群
- AI Commander 多技能本地运维管理员
- 需要统一视图监控邮件流与浏览器会话的开发者
- 具备 Node.js 环境配置能力的自托管用户
常规风险
| 风险类别 | 说明 |
|---------|------|
| 令牌泄露 | `DASHBOARD_TOKEN` 为唯一鉴权手段,一旦泄露攻击者可完全控制仪表盘 |
| 横向移动 | Controller 权限模型使本技能成为"关键节点",被攻破后可访问 `email-webhook` 与 `browser-auth` 的全部数据 |
| 代理配置注入 | 虽有过滤,但自定义代理场景下仍需人工核查 |
| 端口扫描暴露 | 非本地绑定场景下,默认端口易被探测 |