Интеграции

Подключение PromptFlowEngine

Во всех интеграциях работает один и тот же движок. Выбирайте по тому, где находятся ваши промпты: в браузере или редакторе (расширения), внутри ИИ-ассистента или агента (MCP) либо в вашем собственном коде (HTTP API). Ни одна из них не вызывает языковую модель, и ни одной не нужны учётная запись или ключ API.

ВариантЛучше всего дляГде работаетНастройка
Расширение для ChromeПроверки промптов в ChatGPT, Claude, Gemini, Grok, Perplexity, DeepSeekВ вашем браузереСобрать из репозитория и загрузить распакованным (в Chrome Web Store пока нет)
Расширение для VS CodeКодовая база → промпт и защита приватности перед ИИ-чатомВ VS CodeУстановите расширение
Сервер MCPЧтобы режим агента Copilot, Claude, Cursor, Windsurf, Gemini CLI или ваш агент вызывали движок как инструментыЛокальный процесс, stdioСоберите один раз и добавьте в конфигурацию клиента
HTTP APIВаше приложение, скрипт или бэкендpromptflowengine.com/api/v1 или ваш собственный WorkerНичего не нужно: отправляйте JSON
Расширения — это приложения для людей. MCP и HTTP API открывают программам анализ, оптимизацию, реструктуризацию и проверку безопасности движка. Они не могут читать ни историю активности расширений, ни учётные записи, ни данные организаций.

Вариант 1: сервер MCP

PromptFlowEngine поставляет сервер MCP (v2.1.0); ваш ИИ-инструмент — клиент. Транспорт — только stdio: клиент запускает на вашей машине node packages/mcp-server/dist/bin.js. Размещённого эндпоинта MCP и аутентификации нет, потому что с ним может общаться только запущенный вами процесс.

Требования

  • Node.js 22 или новее (Windows, macOS или Linux) с Corepack.
  • Клон репозитория PromptFlowEngine (публикация в npm ещё впереди). Соберите его один раз:
сборка
corepack pnpm install --frozen-lockfile
corepack pnpm --filter @promptflow/engine build
corepack pnpm --filter @promptflow/mcp-server build

Замените <ABSOLUTE_PATH_TO_CHECKOUT> ниже путём к вашему клону. В Windows используйте в JSON прямые косые черты (C:/src/Prompt/…).

Настройте клиент

VS Code / режим агента Copilot: .vscode/mcp.json (расширение для VS Code записывает его за вас)
{
  "servers": {
    "promptflow": {
      "type": "stdio",
      "command": "node",
      "args": [
        "<ABSOLUTE_PATH_TO_CHECKOUT>/packages/mcp-server/dist/bin.js"
      ]
    }
  }
}
Claude Desktop (claude_desktop_config.json), Cursor (.cursor/mcp.json), Windsurf (~/.codeium/windsurf/mcp_config.json), Gemini CLI (~/.gemini/settings.json)
{
  "mcpServers": {
    "promptflow": {
      "command": "node",
      "args": [
        "<ABSOLUTE_PATH_TO_CHECKOUT>/packages/mcp-server/dist/bin.js"
      ]
    }
  }
}
Claude Code
claude mcp add promptflow -- node <ABSOLUTE_PATH_TO_CHECKOUT>/packages/mcp-server/dist/bin.js
claude mcp list

Расположение файлов определяется документацией каждого клиента; если клиент его меняет, приоритет у его документации. Серверу не нужны секреты, поэтому никогда не добавляйте в эти файлы учётные данные.

Проверка

вывести список инструментов без клиента
printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"check","version":"1"}}}' \
  '{"jsonrpc":"2.0","method":"notifications/initialized"}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
  | node packages/mcp-server/dist/bin.js

Или запустите пример на TypeScript: он запускает сервер, выводит список его инструментов, оценивает и реструктурирует промпт: node --experimental-strip-types packages/mcp-server/examples/mcp-client.ts. В своём клиенте попросите «List the promptflow tools».

Инструменты (19)

ИнструментОбязательноЧто делает
optimize_promptpromptOptimize prompt
optimize_prompt_pipelinepromptOptimize prompt (staged pipeline)
compress_promptpromptCompress prompt
validate_promptpromptValidate prompt
estimate_tokenspromptEstimate tokens
analyze_promptpromptAnalyze prompt
extract_entitiespromptExtract entities
summarize_contextcontextSummarize context
score_promptpromptScore prompt
evaluate_promptpromptEvaluate prompt
compare_promptsa, bCompare prompts
scan_prompt_securitypromptScan prompt security
scan_sensitive_datatextScan sensitive data
sanitize_prompttextSanitize prompt
restructure_promptpromptRestructure prompt
convert_structured_payloadjsonConvert JSON to TOON
simulate_costpromptSimulate cost
analyze_context_budgetsourcesAnalyze context budget
run_prompt_testsprompt, casesRun prompt tests

Аргументы, результаты и ошибки каждого инструмента: справочник MCP. Пример запроса в чате с агентом:

вы
Use promptflow to restructure this, then scan it for secrets:
"fix login issue and make google login work and don't break anything"

Устранение неполадок

  • Сервер отображается как сбойный: путь неверен или dist/ не собран. Пересоберите и используйте абсолютный путь.
  • node не найден: у клиента нет Node.js в PATH. Укажите в command абсолютный путь к node.
  • Invalid arguments: сообщение называет поле. Длинный ввод: задайте PROMPTFLOW_MCP_MAX_PROMPT_CHARS в env клиента.
  • Нужны журналы: задайте PROMPTFLOW_MCP_LOG=debug; они идут в stderr и никогда не содержат текста промптов.

Вариант 2: HTTP API

Базовый URL https://promptflowengine.com/api/v1. JSON на входе, JSON на выходе, без аутентификации, ничего не хранится, 60 POST-запросов в минуту с одного IP. Не отправляйте промпты с секретами ни на какой удалённый сервис; сначала замаскируйте их через POST /sanitize, CLI или расширения.

проверить подключение
curl -s https://promptflowengine.com/api/v1/health
проанализировать промпт
curl -s https://promptflowengine.com/api/v1/analyze \
  -H 'content-type: application/json' \
  -d '{"prompt":"Write something about our product and stuff. Keep it short but also be detailed."}' \
  | jq '{quality: .quality.overall, findings: [.findings[] | {severity, message}]}'
оптимизировать промпт
curl -s https://promptflowengine.com/api/v1/optimize \
  -H 'content-type: application/json' \
  -d '{"prompt":"Please summarize the notes. Please summarize the notes.","mode":"balanced"}' \
  | jq '{text: .selected.text, tokenDelta, changes: [.changes[].title]}'
TypeScript (apps/web/examples/api-client.ts, проверен на реальном API)
import { createClient, PromptFlowApiError } from './api-client';

const api = createClient({ baseUrl: process.env.PROMPTFLOW_API ?? 'https://promptflowengine.com' });
try {
  const analysis = await api.analyze(userPrompt);
  const critical = analysis.findings.filter((f) => f.severity === 'critical');
  const { selected, tokenDelta } = await api.optimize(userPrompt, 'balanced');
  console.log(critical.length, selected.text, tokenDelta);
} catch (err) {
  // Typed errors carry status, type, message, and the request id for support.
  if (err instanceof PromptFlowApiError) console.error(err.status, err.type, err.message, err.requestId);
  else throw err;
}

Каждый эндпоинт, поле и код статуса: справочник HTTP API.

Запуск локально

shell
corepack pnpm --filter @promptflow/web build
cd apps/web && corepack pnpm exec wrangler dev --local --env="" --port 8787
curl -s http://localhost:8787/api/v1/health

Устранение неполадок

  • 400: отправьте content-type: application/json; сообщение называет поле.
  • 404 «Unknown API version»: используйте префикс /api/v1/.
  • 405: health, models и rules — GET; остальные — POST.
  • 413: тело больше 256 КБ или поле длиннее 100 000 символов.
  • 429: подождите retry-after (60 секунд) или запустите движок локально через CLI.