AI状态指示器

一个可视化的AI助手状态指示器MCP服务器,通过终端窗口颜色显示AI的工作状态(绿色表示工作中,红色表示完成)。

  • by bigph00t
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 bigph00t/greenlight

使用说明

绿灯

用于AI助手的视觉状态指示器MCP服务器。显示一个彩色终端窗口,显示您的AI是正在工作(绿色)还是已完成(红色)。

非常适合在人工智能处理任务时离开办公桌——只需瞥一眼屏幕,看看它是否已经完成。

特性

  • 绿灯:AI正在执行一项任务
  • 黄灯:AI正在等待用户批准(通过钩子)
  • 红灯:AI已完成任务
  • 灰色灯光:空闲/未设置状态
  • 通过文件查看进行实时更新
  • 干净的全屏终端显示器
  • 与Claude Code和其他MCP兼容的AI工具配合使用
  • 自动检测:仅在显示终端打开时激活

截图

工作(绿色) 等待(黄色) 完成(红色)

安装

# Clone the repository
git clone https://github.com/bigph00t/greenlight.git
cd greenlight

# Install dependencies
npm install

用法

1.启动显示窗口

打开终端并运行:

npm run display
# or
node src/display.js

让此终端可见-它将显示状态颜色。

2.配置您的AI助手

添加到您的Claude代码配置中(~/.claude.json):

{
  "mcpServers": {
    "greenlight": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/greenlight/src/server.js"]
    }
  }
}

3.在工作流程中使用

人工智能现在可以称这些工具为:

  • set_working -将灯光设置为绿色(带可选消息)
  • set_done -将灯光设置为红色(带可选消息)
  • get_status -返回当前状态

示例提示:

“使用绿灯显示您正在工作,然后构建我的项目,并在完成后将其设置为完成。”

运作原理

  1. MCP服务器将状态写入 ~/.greenlight/status.json
  2. 显示脚本监视此文件并更新终端颜色
  3. 状态变化实时显示(100ms轮询)
  4. 显示器检测:服务器会自动检测显示器是否正在运行。如果没有,工具会优雅地跳过(没有错误)

可选:批准提示黄灯(仅限克劳德代码)

注: 此步骤是可选的,仅适用于Claude Code。它需要手动设置-MCP服务器无法自动安装挂钩。

当Claude Code正在等待您对工具的批准时,黄色的“等待”状态会自动出现。这需要在Claude Code设置中添加挂钩。

将此添加到 ~/.claude/settings.json:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "permission_prompt",
        "hooks": [
          {
            "type": "command",
            "command": "node /FULL/PATH/TO/greenlight/src/cli.js waiting 'Waiting for approval...'"
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Bash|Edit|Write|Read|Glob|Grep|WebFetch|WebSearch|Task",
        "hooks": [
          {
            "type": "command",
            "command": "node /FULL/PATH/TO/greenlight/src/cli.js working"
          }
        ]
      }
    ]
  }
}

重要提示: 替换 /FULL/PATH/TO/greenlight 使用克隆仓库的实际路径。

这有什么作用:

  • Notification hook → Turns 黄色 当Claude请求工具许可时
  • PostToolUse hook → 返回到 绿色 在您批准并运行工具后

无挂钩: 绿色和红色仍然可以通过MCP服务器完美工作——只是在审批提示期间不会自动显示黄色。

工具

工具 说明
set_working 将状态设置为“正在工作”(绿色)。可选的 message 参数。
set_done 将状态设置为“完成”(红色)。在最终回复用户后呼叫。
get_status 以JSON格式获取当前状态。

状态文件

状态存储在 ~/.greenlight/status.json:

{
  "status": "working",
  "message": "Building project...",
  "timestamp": "2024-01-15T10:30:00.000Z"
}

许可证

麻省理工学院