后台任务管理工具

tmuxer是一个通过tmux会话管理后台任务的MCP服务器,支持实时查看LLM作业、交互式输入和自动清理功能,适用于开发服务器、构建和测试等场景。

  • by kolodny
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 kolodny/tmuxer

使用说明

tmuxer

MCP服务器,用于通过tmux会话管理后台作业,您可以在其中 实时查看法学硕士的工作。

为什么选择tmuxer?

当LLM客户端运行命令时,您通常需要一些交互才能看到完整的命令,并且输出通常会延迟或截断。tmuxer为您提供:

  • 观看工作直播 -附加以在LLM工作时实时查看命令输出
  • 浏览所有职位 -窗口选择器允许您在运行的进程之间切换
  • 全面的终端支持 -工具如 npm, docker,以及 htop 正确渲染
  • 交互式输入 -向正在运行的作业发送按键(例如,按Ctrl+C停止或响应提示)
  • 自动清理 -默认情况下,当进程退出或设置为 keepAlive 持续到mcp寿命结束

安装

npm install tmuxer

用法

添加到MCP配置中:

{
  "mcpServers": {
    "tmuxer": {
      "command": "npx",
      "args": ["tmuxer@latest"]
    }
  }
}

跑 npx tmuxer --help 查看可用的CLI标志。

MCP工具

工具 说明
createJob 在后台tmux窗口中启动命令。集 keepAlive: true 在进程退出后继续
listJobs 列出所有状态为(正在运行、pid、exitCode)的作业
getJobOutput 获取终端输出(支持 lastLines 仅适用于最近的输出)
sendInput 向作业发送按键或文本(使用 {C-c} 对于Ctrl+C, {Up} 对于向上箭头, {Enter} 进入等)
cleanupJobs 删除死作业窗口(跳过正在运行的作业)

工作流程示例

1. createJob({ command: "npm run dev", prefix: "dev", keepAlive: true })  // returns jobId: "dev1"
2. listJobs({})  // check status, pid, running state
3. getJobOutput({ jobId: "dev1", lastLines: 20 })  // see recent logs
4. sendInput({ jobId: "dev1", input: "{C-c}" })  // stop the server

程序化使用

您可以在MCP会话中以编程方式运行进程:

import { createJob } from 'tmuxer';

const { jobId } = await createJob({ command: 'npm run dev' });

旁观

在终端中运行此命令,将正在运行的作业列表附加到tmuxer会话:

tmux attach ';' choose-tree

您可以使用向上/向下箭头键浏览正在运行的作业,并在预览窗格中查看其实时输出。按 Enter 选择一个作业并全屏查看。

  • Ctrl+b 然后 d 与tmux断开连接
  • Ctrl+b 然后 w 返回选择器视图。

如果您看到“无会话”,则表示MCP服务器尚未连接。

如果您不熟悉tmux,那么复习一下基本的tmux命令可能会有所帮助。

演示

Observing memory changes in a node process
Claude controlling Claude interactively
Onboarding and demoing a new app

嵌套tmux支持

生成自己的tmux会话的命令可以无缝工作——tmuxer会取消设置 TMUX 环境变量,以便嵌套会话正常工作。

用例

  • 开发服务器 -开始 npm run dev 并在不阻塞的情况下检查日志
  • 建筑 -快跑 npm run build 并投票完成
  • 测试 -运行测试套件并在完成后检索结果
  • 交互式工具 -处理需要输入的工具(设置向导,如 npm init, create-vite, git rebase -i等等)
  • 监控 -检查具有复杂终端UI(docker、htop等)的进程

发展

npm test        # run tests
npm run build   # compile typescript

许可证

麻省理工学院