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。