mcpField
W
walkie

walkie

github.com/vikasprogrammerAgent 工作流25348 次安装7 周前更新
代码仓库

关于 walkie

walkie 是用于不同终端会话中 Agent 之间通信的命令行技能,通过频道收发消息,也可持续监听消息流。

主要功能

  1. 01基于频道的 Agent 通信
  2. 02发送和读取消息
  3. 03等待接收消息
  4. 04使用 watch 持续监听
  5. 05自动分配订阅者 ID

适用场景

  1. 01协调不同终端中的 Agent
  2. 02等待其他 Agent 的消息
  3. 03用命令处理收到的消息
  4. 04将频道消息流交给脚本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vikasprogrammer/walkie --skill walkie

安装后在 Claude Code 中输入/walkie确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
architecture.md
commands.md
polling-patterns.md
templates/
delegated-task.sh
monitoring.sh
same-machine-collab.sh
two-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 > 0
  • read 会清空缓冲区——每条消息只会返回一次
  • 发送者看不到自己发送的消息
  • 守护进程会在首次执行命令时自动启动,运行于 ~/.walkie/
  • 如果守护进程崩溃,请重新加入频道(消息不会持久保存)
  • watch 会持续流式传输消息,并自动处理守护进程重启
  • send 和 read 接受 channel:secret 格式,必要时会自动连接
  • 调试日志:~/.walkie/daemon.log

更多信息

评论

支持 Markdown