项目简介

Snow-Flow 是一个创新的ServiceNow开发平台,旨在通过自然语言对话简化开发流程。它通过部署两个强大的MCP(Model Context Protocol)服务器,提供400多个ServiceNow专属工具,让开发者可以使用任何大型语言模型(LLM)驱动的AI编码助手进行高效的ServiceNow应用程序、流程和自动化开发。无需复杂的ServiceNow UI操作,即可实现对话式开发、本地文件同步、ML模型训练和部署。

主要功能点

  • 对话式ServiceNow开发: 使用自然语言与AI助手交流,完成ServiceNow的各项开发任务,如创建仪表板、自动化业务规则、执行SOX合规审计等。
  • 400+ ServiceNow工具: 两个统一的MCP服务器提供了ServiceNow API的全面覆盖,包括部署、数据操作、自动化、平台开发、集成、安全合规、报告分析、机器学习和本地开发桥接等。
  • 多LLM支持: 可与超过75种LLM提供商(如Claude, GPT-4o, Gemini, Llama, Ollama, Groq, Mistral, DeepSeek等)无缝协作,支持云端和本地模型。
  • 本地开发桥接: 允许将ServiceNow组件(如小部件、脚本)拉取到本地文件进行编辑,并自动同步回ServiceNow,支持与本地IDE和版本控制工具集成。
  • 本地机器学习训练: 无需ServiceNow Predictive Intelligence (PI) 许可,即可在本地(您的机器上)训练TensorFlow.js机器学习模型,用于ServiceNow数据的分类、预测和异常检测。
  • 原生ServiceNow PI解决方案构建器: 支持通过对话创建、训练和激活ServiceNow平台内置的Predictive Intelligence生产级机器学习模型,这些模型在ServiceNow内部运行。
  • 广泛兼容性: 可与SnowCode、Cursor、Windsurf、Continue.dev、Cline等多种MCP兼容的AI编码助手配合使用。

安装步骤

  1. 全局安装Snow-Flow CLI: 打开您的终端或命令行工具,运行以下命令:
    npm install -g snow-flow
  2. 初始化项目: 在一个空目录中运行此命令。Snow-Flow将自动完成以下设置:
    • 检测并安装SnowCode(推荐的AI编码平台)。
    • 生成项目配置文件('.env', '.snow-code/config.json'),其中包含MCP服务器的配置信息。
    • 设置两个MCP服务器,并加载411个ServiceNow工具。
    • 创建相关文档文件。
    snow-flow init
  3. 配置环境变量: 使用文本编辑器打开在项目初始化时生成的 '.env' 文件。您需要填入您的ServiceNow实例信息和LLM提供商的API密钥。
    • 'SNOW_INSTANCE': 您的ServiceNow实例域名,例如:'your-instance.service-now.com'。
    • 'SNOW_CLIENT_ID': 从ServiceNow OAuth应用程序注册获得的客户端ID。
    • 'SNOW_CLIENT_SECRET': 从ServiceNow OAuth应用程序注册获得的客户端密钥。
    • 'DEFAULT_LLM_PROVIDER': 选择您偏好的LLM提供商(例如:'anthropic', 'openai', 'ollama')。
    • 根据您选择的LLM提供商,配置相应的API密钥(例如 'ANTHROPIC_API_KEY', 'OPENAI_API_KEY')或本地模型的URL。
  4. 认证: 运行以下认证命令。它会引导您完成ServiceNow OAuth认证(通常会打开浏览器进行授权)以及LLM提供商的API密钥验证流程,确保MCP服务器能够访问ServiceNow和LLM服务。
    snow-flow auth login

服务器配置

Snow-Flow的MCP服务器作为本地服务运行。您的MCP客户端(如SnowCode, Cursor等)需要一个配置来启动并连接到这些本地服务。这个配置通常由 'snow-flow init' 命令自动生成,位于项目根目录的 '.snow-code/config.json' 或您的用户主目录下的 '~/.snowcode/snowcode.json' 文件中。

MCP客户端需要以下关键配置信息来连接到Snow-Flow的MCP服务器:

  • 服务器名称: Snow-Flow主要配置两个MCP服务器,例如 'servicenow-unified' (统一ServiceNow服务器) 和 'snow-flow-orchestration' (Snow-Flow编排服务器)。
  • 服务器类型: 这些服务器的类型都设定为 'local',表示MCP客户端会通过运行一个本地脚本来启动它们。
  • 启动命令 (command): 每个服务器的配置中都包含一个 'command' 数组,指定了如何启动该服务器。通常,这会是一个Node.js可执行文件路径和MCP服务器核心脚本的路径。
    • 对于 'servicenow-unified' 服务器,启动命令大致会是 'node <Snow-Flow安装路径>/dist/mcp/servicenow-mcp-unified.js'。
    • 对于 'snow-flow-orchestration' 服务器,启动命令大致会是 'node <Snow-Flow安装路径>/dist/mcp/snow-flow-orchestration-mcp.js'。
  • 环境变量 (environment): 客户端会向这些本地服务器传递一系列环境变量。这些变量包括您的ServiceNow实例URL、客户端ID、客户端密钥,以及您在 '.env' 文件中配置的默认LLM提供商设置。这些环境变量是MCP服务器正确认证和运行ServiceNow操作所必需的。

重要提示: 您通常无需手动编写或修改此JSON配置。'snow-flow init' 会根据您的环境和 '.env' 文件为您正确设置。如果您使用非SnowCode的AI编码助手,请查阅该助手的文档,了解如何导入或引用 '.snow-code/config.json' 文件,以便它能发现并连接到Snow-Flow的MCP服务器。

基本使用方法

  1. 启动AI编码助手: 启动您偏好的MCP兼容AI编码助手(如SnowCode, Cursor等)。Snow-Flow的MCP服务器会在助手启动时自动加载。
  2. 开始对话式开发: 在您的AI编码助手中,直接使用自然语言描述您想要完成的ServiceNow任务。AI助手将利用Snow-Flow提供的MCP工具来执行这些任务。例如:
    • 创建事件仪表盘:'snow-flow swarm "create incident dashboard widget with real-time charts"'
    • 自动化业务规则:'snow-flow swarm "create business rule to auto-assign incidents based on category and priority"'
    • 训练ML模型:'snow-flow swarm "train incident classifier on last 6 months of data"'
  3. 本地拉取/推送工件: 您可以使用特定的Snow-Flow工具在ServiceNow和本地文件系统之间同步代码和配置。例如,使用 'snow_pull_artifact' 将ServiceNow组件拉取到本地文件进行编辑,完成后使用 'snow_push_artifact' 推送回ServiceNow。

信息

分类

开发者工具