AI代理管理工具

一个支持热重载、多代理编排和TUI仪表盘的AI编码代理管理工具。

  • by Brainwires
  • Rust
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 Brainwires/rusty-restart-claude

使用说明

拉扎鲁斯mcp

一个通用的代理主管,具有热重载支持、多代理编排和用于AI编码代理的TUI仪表板。

特性

  • 热重新加载 -重新启动AI代理以在不丢失终端上下文的情况下获取MCP服务器更改
  • TUI仪表板 -显示代理状态和池的实时终端仪表板
  • 多代理池 -生成后台代理以自主完成任务
  • 安全注射MCP -自动注入 .mcp.json 退出时进行备份/还原
  • 特权安全 -在生成代理之前自动删除根权限
  • 多代理支持 -适用于Claude Code、Cursor、Aider等
  • 版本追踪 -嵌入式构建时间戳和git哈希

快速开始

# Clone and install
git clone https://github.com/Brainwires/lazarus-mcp.git
cd lazarus-mcp
cargo install --path .

# Run Claude Code through the wrapper
lazarus-mcp claude

就是这样!包装器自动执行以下操作:

  • 将自身作为MCP服务器注入 .mcp.json (退出时恢复)
  • 添加适用于代理的权限跳过标志
  • 用途 --continue 重新启动以保留会话上下文

建筑

Terminal
  └── lazarus-mcp claude (wrapper)
        │
        ├── Modifies .mcp.json (backup at .mcp.json.aegis-backup)
        ├── Shared State (/tmp/lazarus-mcp-state-{pid}.json)
        │
        └── claude --dangerously-skip-permissions
              │
              └── MCP servers (from .mcp.json)
                    └── lazarus-mcp --mcp-server
                          ├── restart_claude
                          └── agent_spawn/list/status/await/stop

On Exit (normal, signal, or crash):
  └── Restores .mcp.json from backup

Second Terminal (optional)
  └── lazarus-mcp --dashboard
        └── TUI showing real-time status

支持的代理

代理 继续支持 自动权限
克劳德代码 --continue --dangerously-skip-permissions
光标 - -
助手 自动(聊天记录) --yes

用法

基本用法

# Claude Code
lazarus-mcp claude
lazarus-mcp claude --continue
lazarus-mcp claude -p "Help me with..."

# Aider
lazarus-mcp aider
lazarus-mcp aider --model gpt-4

# Cursor
lazarus-mcp cursor

TUI仪表板

使用TUI仪表板监控正在运行的包装器:

# In terminal 1: Run the agent
lazarus-mcp claude

# In terminal 2: Open dashboard (auto-detects running wrapper)
lazarus-mcp --dashboard

# Or specify a wrapper PID
lazarus-mcp --dashboard 12345

仪表板面板:

  • 主要代理 -状态、PID、正常运行时间、重启
  • 代理池 -后台代理及其任务
  • 文件锁 -当前持有的锁
  • 日志 -带有时间戳的事件日志

密钥绑定:

  • q / Esc -退出仪表板
  • h / ? -显示帮助
  • Tab / Shift+Tab -开关面板
  • r -重新启动代理
  • j / k 或箭头-滚动日志

选项

选项 描述
--version, -V 显示版本信息
--dashboard [pid] 运行TUI仪表板(监控运行包装器)
--no-inject-mcp 不要将lazarus mcp自动注入mcp服务器

MCP工具

热重载工具

restart_claude

重新启动AI编码代理以重新连接所有MCP服务器。

Parameters:
- reason (optional): Reason for the restart (for logging)
- prompt (optional): A prompt to pass as a command-line argument on restart

Example:
restart_claude(reason: "MCP server updated", prompt: "Continue where we left off")

服务器状态

获取有关包装器、代理进程和配置的状态信息。

代理池工具

生成并管理在任务上自主工作的后台代理。

代理_典当

生成一个后台代理来处理任务。

Parameters:
- description: The task for the agent to work on
- agent_type (optional): "claude", "aider", or "cursor" (default: "claude")
- working_directory (optional): Directory for the agent to work in
- max_iterations (optional): Maximum iterations before stopping

Returns: agent_id

代理列表

列出所有活动的后台代理及其状态。

代理状态

获取特定代理的详细状态。

Parameters:
- agent_id: The ID of the agent to check

代理等待

等待后台代理完成并获取其结果。

Parameters:
- agent_id: The ID of the agent to wait for
- timeout_secs (optional): Maximum time to wait

代理_停止

停止正在运行的后台代理。

Parameters:
- agent_id: The ID of the agent to stop

agent_pool_stats

获取代理池的统计信息(最大代理数、活动、正在运行、已完成、失败)。

代理文件锁

列出代理当前持有的所有文件锁(用于协调)。

运作原理

热重新加载

  1. 用户通过启动代理 lazarus-mcp claude
  2. 包装物已备份 .mcp.json 到 .mcp.json.aegis-backup
  3. Wrapper将lazarus mcp注入 .mcp.json
  4. 代理生成并加载lazarus mcp作为mcp服务器
  5. 当 restart_claude 被称为:
    • MCP服务器将信号文件写入 /tmp/lazarus-mcp-{pid}
    • 包装器检测信号,发送信号情报→ 终止信号→ 西格尔
    • 代理通过以下方式重新启动 --continue 旗帜
    • 会话上下文被保留
  6. 在退出时(正常、信号或碰撞), .mcp.json 从备份中恢复

注: 这 restart_claude 该工具检测是否在包装器下运行。如果在没有包装器的情况下启动,它将返回一条错误消息,解释如何使用lazarus-mcp。

MCP服务器注入

lazarus mcp将自己注射到 .mcp.json 具有自动备份/还原功能:

  1. 启动时,检查 .mcp.json.aegis-backup (之前的碰撞恢复)
  2. 备份现有 .mcp.json 到 .mcp.json.aegis-backup
  3. 将lazarus mcp服务器条目添加到 .mcp.json
  4. 代理生成并看到注入的MCP服务器
  5. 退出时(正常、Ctrl+C或崩溃),恢复原始状态 .mcp.json

安全特性:

  • 备份文件充当崩溃恢复的“脏标志”
  • 紧急挂钩和信号处理器确保清理
  • 如果在没有包装的情况下启动, restart_claude 工具检测到这一点并返回有用的错误

建筑

# Build and install to ~/.cargo/bin
cargo install --path .

# Check version
lazarus-mcp --version

配置

手动MCP配置

如果您更喜欢手动配置MCP而不是自动注入:

{
  "mcpServers": {
    "lazarus-mcp": {
      "command": "lazarus-mcp",
      "args": ["--mcp-server"]
    }
  }
}

外壳别名

alias claude='lazarus-mcp claude'
alias aegis-dashboard='lazarus-mcp --dashboard'

平台支持

仅限Linux(使用 /proc 文件系统)。

许可证

麻省理工学院