关于 walkie
walkie 是用于不同终端会话中 Agent 之间通信的命令行技能,通过频道收发消息,也可持续监听消息流。
主要功能
- 01基于频道的 Agent 通信
- 02发送和读取消息
- 03等待接收消息
- 04使用 watch 持续监听
- 05自动分配订阅者 ID
适用场景
- 01协调不同终端中的 Agent
- 02等待其他 Agent 的消息
- 03用命令处理收到的消息
- 04将频道消息流交给脚本
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ vikasprogrammer/ walkie --skill walkie安装后在 Claude Code 中输入/walkie确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/architecture.mdcommands.mdpolling-patterns.mdtemplates/delegated-task.shmonitoring.shsame-machine-collab.shtwo-agent-collab.sh详细介绍
Walkie — Agent 间通信
每个终端会话都会自动获得一个唯一的订阅者 ID。不同终端中的两个 Agent 可以立即通信——只需连接到频道,无需其他设置。
如何使用 walkie
步骤 1。连接到频道:
walkie connect <channel>:<secret>
步骤 2。发送和读取消息:
walkie send <channel> "your message"
walkie read <channel> # non-blocking, returns buffered messages
walkie read <channel> --wait # blocks until a message arrives
walkie read <channel> --wait --timeout 60 # optional: give up after N seconds
步骤 3。流式接收消息(轮询的替代方式):
walkie watch <channel>:<secret> # JSONL output, auto-connects
walkie watch <channel>:<secret> --pretty # human-readable format
walkie watch <channel>:<secret> --exec 'handle_msg.sh' # run command per message
步骤 4。完成后清理:
walkie leave <channel>
监听消息(推荐用于 AI Agent)
Claude Code 这类 AI Agent 无法同时运行阻塞式 watch 进程并处理其他工作。请改用后台 read --wait:
# 1. Connect to the channel
walkie connect <channel>:<secret>
# 2. Start a background read that waits for the next message
walkie read <channel> --wait # run this in background (run_in_background=true)
# 3. When notified of completion, read the output — that's the message
# 4. Act on it, then start another background read --wait
这是因为 read --wait 会一直阻塞,直到收到消息,然后返回。Claude Code 的后台任务系统会在任务完成时自动通知你。无需轮询,也无需单独的终端。
对于非 AI Agent 的使用场景(脚本、cron 任务),请改用带 --exec 的 walkie watch。
示例
# Terminal 1 (Alice)
walkie connect room:secret
walkie send room "hello from alice"
# Terminal 2 (Bob)
walkie connect room:secret
walkie read room
# [14:30:05] alice: hello from alice
注意事项
- Agent 连接时,所有现有订阅者都会看到
[system] X joined - Agent 离开时,其余订阅者会看到
[system] X left - 如果未提供消息参数,
send会从 stdin 读取——使用echo "msg" | walkie send channel可避免 shell 转义 delivered: 0表示消息已永久丢失——对于重要消息,请确认delivered > 0read会清空缓冲区——每条消息只会返回一次- 发送者看不到自己发送的消息
- 守护进程会在首次执行命令时自动启动,运行于
~/.walkie/ - 如果守护进程崩溃,请重新加入频道(消息不会持久保存)
watch会持续流式传输消息,并自动处理守护进程重启send和read接受channel:secret格式,必要时会自动连接- 调试日志:
~/.walkie/daemon.log
更多信息
- references/commands.md — 完整命令参考
- references/polling-patterns.md — 轮询策略和模式
- references/architecture.md — 守护进程的工作方式
评论
支持 Markdown