项目简介

Workstation 是一个强大的、本地优先的浏览器自动化平台,旨在为大型语言模型(如AI代理和GitHub Copilot)客户端提供标准化的上下文信息和功能。它基于 Model Context Protocol (MCP) 构建,能够托管和管理各种自动化资源和工具,支持网页抓取、表单填写、端到端测试、数据收集以及自动化代码部署等工作流。Workstation 强调本地优先、企业级JWT认证、工作流编排和数据持久化,确保数据安全和高度控制,无额外云成本。

主要功能点

  • 浏览器自动化工具: 提供导航、点击、输入、提取文本、截图等核心网页操作功能。这些功能可以通过AI代理或Copilot直接调用。
  • 工作流编排: 支持定义和执行多步骤自动化任务,具备重试逻辑和数据库存储(SQLite/PostgreSQL)功能。
  • AI集成 (MCP协议): 通过 Model Context Protocol (MCP) 标准,Workstation 与GitHub Copilot和AI代理无缝集成,允许LLM通过自然语言调用平台提供的工具执行复杂任务。
  • Agent 生态系统: Workstation 内部包含20多个专用Agent,每个Agent都可作为独立的MCP服务运行,提供如GitHub代码操作、数据处理、自动化部署等专业能力。
  • 安全与部署: 内置企业级JWT认证、速率限制和CORS保护,支持 Docker、Railway 和本地部署,提供灵活的部署选项。
  • 可视化界面: 提供Web仪表盘和可视化工作流构建器,方便用户直观地管理和创建自动化任务。

安装步骤

Workstation 推荐本地部署,可以快速启动:

  1. 克隆仓库: 打开终端,运行以下命令克隆 Workstation 仓库:
    git clone https://github.com/creditXcredit/workstation.git
    cd workstation
  2. 安装依赖: 安装项目所需的Node.js依赖:
    npm install
  3. 安装浏览器驱动: Workstation 使用 Playwright 进行浏览器自动化,需要安装其支持的浏览器驱动:
    npx playwright install --with-deps
  4. 配置环境变量: 复制 '.env.example' 文件为 '.env',然后编辑 '.env' 文件。重要提示: 必须生成一个安全的 'JWT_SECRET',服务器不会使用默认值或空值启动。
    cp .env.example .env
    # 生成一个安全的 JWT 密钥,并替换 .env 中的 JWT_SECRET 值
    node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
    请将上面生成的密钥复制到 '.env' 文件中,替换 'JWT_SECRET=your_generated_secure_secret_here' 这部分。
  5. 启动服务器: 编译并启动 Workstation 服务器:
    npm run build
    npm start
    服务器将在 'http://localhost:3000' 运行。

服务器配置 (用于MCP客户端,如GitHub Copilot)

Workstation 作为 MCP 服务器,可以通过 HTTP 协议与 MCP 客户端通信。要将其配置到支持 MCP 的客户端(例如 GitHub Copilot),你需要提供其启动命令和/或访问URL。

以下是配置 Workstation 服务器到 MCP 客户端的示例 JSON 格式配置。你需要将 '/path/to/your/workstation/' 替换为 Workstation 项目实际的完整路径。

{
  "mcpServers": {
    "workstation": {
      // 服务器在客户端中的唯一名称标识
      "name": "Workstation Automation Platform",
      // 启动 Workstation 服务器的命令行程序
      "command": "node",
      // 传递给 command 的参数列表,指定服务器的入口文件
      // 请将 "/path/to/your/workstation/" 替换为 Workstation 仓库的实际路径
      "args": ["/path/to/your/workstation/dist/index.js"],
      // Workstation 服务器监听的 HTTP 地址和端口
      "url": "http://localhost:3000",
      "auth": { 
        "type": "bearer", 
        // 存储认证令牌的环境变量名称。你需要在客户端运行环境中设置此环境变量。
        // 例如:export WORKSTATION_TOKEN="在此处粘贴你的JWT令牌"
        "token_env_var": "WORKSTATION_TOKEN" 
      },
      // 服务器的功能描述,有助于AI客户端理解其能力
      "description": "提供浏览器自动化、工作流管理和代码操作等能力。"
    }
  }
}

获取认证令牌: 在 Workstation 运行的机器上,你可以通过访问 'http://localhost:3000/auth/demo-token'(仅在开发模式下可用)获取一个临时的 JWT 认证令牌:

curl -s http://localhost:3000/auth/demo-token | jq -r '.token'

将获取到的令牌字符串(例如 'eyJ...')设置为你客户端运行环境中的 'WORKSTATION_TOKEN' 环境变量。

基本使用方法

Workstation 服务器启动并配置到你的 MCP 客户端后,你可以通过以下方式与其交互:

  1. 访问可视化界面:
    • Dashboard (仪表盘): 'http://localhost:3000/dashboard.html' 用于查看服务器状态和下载工具。
    • Workflow Builder (工作流构建器): 'http://localhost:3000/workflow-builder.html' 用于通过拖放方式创建和管理自动化工作流。
  2. 通过AI客户端使用: 如果你已将 Workstation 配置到 GitHub Copilot 或其他支持 MCP 的客户端,可以通过自然语言提示调用 Workstation 的工具来执行任务。例如:
    • "使用 Workstation 导航到 'https://example.com' 网站并截取一个全页屏幕截图。"
    • "通过 Workstation 找到 GitHub 上 'creditXcredit/workstation' 仓库的所有 Pull Request。"
    • "让 Workstation 填写 'https://some-form.com' 上的表单,在名为 'username' 的字段中输入 'myuser',在名为 'password' 的字段中输入 'mypassword',然后点击提交。"

信息

分类

开发者工具