详细分析 ▾
运行时依赖
版本
- OpenClaw Dynamic Island macOS 桌面小组件首次发布 - 支持多 Agent 实时状态监控,采用毛玻璃药丸 UI - 支持五种 Agent 状态:idle、alert、thinking、done、error - 悬停展开查看 Agent 列表及最近消息;点击 Agent 跳转至 Lark 聊天 - 内置 emolog 图标、任务完成动效,可通过 config.json 灵活配置
安装命令
点击复制技能文档
macOS Dynamic Island 风格的多 Agent 状态监控桌面小组件。
功能
- 毛玻璃药丸窗口,悬浮在屏幕顶部
- 5 种状态自动切换:待命、收到消息、思考中、搞定了、出错了
- emolog 可爱图标
- 多 Agent 同时管理,鼠标悬停展开查看
- 每个 Agent 显示最近 2 条对话消息
- 光标跟随高亮 Agent
- 点击 Agent 跳转飞书聊天
- 任务完成晃动 + 音效提示
安装
``bash
pip3 install websockets
` 启动
`bash
cd ~/.openclaw/skills/dynamic-island
./start.sh
` 停止
`bash
./start.sh stop
` 配置
复制 config.example.json 为 config.json:
`bash
cp config.example.json config.json
` 编辑 config.json:
`json
{
"agents_dir": "~/.openclaw/agents",
"http_port": 7788,
"ws_port": 7789,
"agent_names": {
"my-agent-id": "My Bot"
},
"agent_links": {
"my-agent-id": "lark://applink.feishu.cn/client/chat/open?openId=xxx"
}
}
`
| 字段 | 说明 | 默认值 |
|------|------|--------|
| agents_dir | OpenClaw agents 目录路径 | ~/.openclaw/agents |
| http_port | HTTP 服务端口 | 7788 |
| ws_port | WebSocket 端口 | 7789 |
| agent_names | Agent ID → 显示名映射 | {} |
| agent_links | Agent ID → 飞书聊天链接(可点击跳转) | {} |
架构
`
server.py — 监控 agent 会话 JSONL 文件,通过 WebSocket 推送事件
index.html — 渲染 emolog 图标 + 多 Agent UI
widget.swift — macOS 原生药丸窗口(NSPanel + 毛玻璃 + hover 检测)
start.sh — 启动/停止脚本
emolog/ — emolog 自定义图标
config.json — 本地配置(git-ignored)
`` 使用场景
当你需要:- 同时监控多个 OpenClaw Agent 的工作状态
- 在桌面上实时看到 Agent 的思考、执行、完成过程
- 通过飞书聊天链接快速跳转到对应 Agent
就说“启动灵动岛”或“打开 dynamic island”来激活此技能。