botmux CLI 在终端里管理 daemon 和会话。命令入口的源码在 src/cli.ts(见 cli),daemon / worker 生命周期见 daemon-worker。

管理命令

命令说明
botmux setup交互式配置(首次 / 添加 / 编辑 / 删除机器人),见 setup-flow
botmux start启动 daemon(PM2 管理)
botmux stop停止 daemon
botmux restart [--include-pm2]重启 daemon(自动恢复活跃会话);--include-pm2 同时重启 botmux 专用 PM2 God daemon
botmux logs [--lines N]查看日志
botmux status查看 daemon 状态
botmux upgrade升级到最新版本
botmux list (别名 ls)交互式列出活跃会话;选中受管 tmux / ZMX 会话后按 Enter 可 attach(脚本使用 --plain)
botmux delete <id> (别名 del / rm)关闭指定会话,支持 ID 前缀匹配
botmux delete all关闭所有活跃会话
botmux delete stopped清理进程已退出的僵尸会话
botmux dashboard [current|rotate]获取当前 Dashboard 登录 URL,尚无 token 时创建第一个;rotate 才显式替换已有 token(见 dashboard)

botmux delete 的收口语义:daemon 在线时,命令会先请求会话所属 daemon 执行与 /close 一致的生命周期收口——移除内存中的活跃会话、持久化关闭状态,并回收 worker、后端与订阅。仅当所属 daemon 确认不在线时才使用本地收口;在线 daemon 拒绝或 IPC 连接失败时命令返回失败,不会继续本地强杀。会话模型见 session-model。

开机自启

botmux autostart enable   # 注册(macOS launchd / Linux user systemd,无需 sudo)
botmux autostart disable  # 注销
botmux autostart status   # 查看状态
  • macOS:写 ~/Library/LaunchAgents/com.botmux.daemon.plist,launchctl bootstrap 加载。
  • Linux:写 ~/.config/systemd/user/botmux.service,systemctl --user enable --now。服务器 / 无桌面环境登出会停服务,需跨登出常驻请 sudo loginctl enable-linger <用户名>。
  • 单元文件里的 node / cli.js 路径来自当前 process.execPath,nvm / fnm 切版本后跑一次 enable 重写即可(start / restart 也会自动检测路径变化原地刷新)。
  • enable / disable 只管自启钩子,不动正在跑的 daemon——避免「只想关自启结果服务也被干掉」。

会话内子命令(给 CLI agent 用)

session 信息通过祖先进程标记自动推断,agent 在会话内直接调用即可(入口是自动写入的 ~/.botmux/bin/botmux wrapper,见 env):

命令说明
botmux send [content]向当前话题发消息(stdin / heredoc / --content-file;--images / --files / --videos / --card-file / --card-json / --mention)
botmux bots list列出当前群里的机器人(含 open_id)
botmux history [--limit N]拉会话历史(JSON)
botmux quoted <message_id>拉被引用的单条消息(JSON)
botmux schedule add/list/remove/pause/resume/run管理定时任务,见 schedule

这些子命令配合 skill 注入 CLI agent(botmux 侧 skill 系统的产物),是 agent 与飞书会话交互的主要通道;多机器人协作中的 @mention 路由见 multi-bot。