DatI Ops — скилл

Скилл настраивает шлюз DatI через его HTTP API: источники данных, бизнес-термины и MCP-сервисы без ручной работы в веб-интерфейсе.

  • 77 ★ репозитория
  • Последний коммит
Скилл

Широкий доступ

Почему такой уровень

  • Ключ доступа открывает настройку источников данных и создание, публикацию и удаление MCP-сервисов.
  • Через скилл агент работает с учетными данными баз и определяет, какие данные увидят другие агенты.
Все причины и проверки

yimindev/dati

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/dati-ops

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Ключ доступа открывает настройку источников данных и создание, публикацию и удаление MCP-сервисов.
  • Через скилл агент работает с учетными данными баз и определяет, какие данные увидят другие агенты.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

DatI — шлюз между базами данных и ИИ-агентами: он публикует таблицы MySQL, PostgreSQL, ClickHouse и Doris как MCP-сервис со встроенными инструментами и параметризованными SQL-запросами. Скилл dati-ops заменяет веб-интерфейс этого шлюза. Агент заводит источник данных, подтягивает таблицы и колонки, описывает темы и термины, затем собирает и публикует MCP-сервис. Спецификация API лежит в самом скилле, в файле openapi.json. Читать ее целиком не нужно: скрипт `openapi.py` выдает нужный путь и метод по запросу. Адрес сервера и ключ скилл берет из переменных `DATI_BASE_URL` и `DATI_API_KEY`, а при их отсутствии спрашивает у пользователя.

Для кого. Администраторам, которые развернули DatI и хотят настраивать его диалогом с агентом.

Подходит, если

  • Нужно подключить новую базу и описать таблицы, колонки и словари значений.
  • Бизнес-термины связывают с полями, чтобы модель находила нужные таблицы.
  • Готовые данные публикуют как MCP-сервис с набором параметризованных запросов.
  • Версию сервиса сравнивают со снимком и откатывают.

Не подходит, если

  • DatI не развернут: скилл работает только с готовым сервером.
  • Нужны регистрация пользователей или системное администрирование: их скилл не покрывает.
  • База содержит данные, которые нельзя открывать агенту даже через ограниченный сервис.

Пример запроса к агенту

Заведи в DatI источник данных по этим параметрам, подтяни таблицы и опубликуй MCP-сервис с инструментом просмотра схемы.

Ограничения

Сервер DatI поднимают отдельно через `docker compose up -d`, для него нужны Docker и Elasticsearch для семантического поиска. Скилл требует ключ доступа вида `sk_...`: он уходит в заголовке запросов, поэтому его выдают с минимумом прав. Спецификация API генерируется автоматически и может отставать от кода, при расхождении верят ответу сервера. Тексты скилла написаны по-китайски, агент переведет их по ходу работы. Демо-стенд автора сбрасывается по расписанию, подключать к нему рабочие базы не стоит.

Как отключить. Удалите папку скилла из каталога навыков агента. Ключ доступа отзовите в DatI, переменные окружения очистите.

Частые вопросы

Какие переменные нужны скиллу?

`DATI_BASE_URL` указывает адрес сервера, по умолчанию `http://localhost:8085`. `DATI_API_KEY` хранит ключ `sk_...`, он идет в заголовке `Authorization: Bearer`.

Что скилл не умеет?

Регистрация, вход и системное администрирование в его зону не входят. Проверкой поведения API занимается отдельный навык e2e-tester, он нужен разработчикам DatI.

Откуда агент берет описание API?

Из файла openapi.json внутри скилла. Скрипт `openapi.py` с флагами `--list` и `--search` находит нужные методы без чтения всего файла.

Какие базы поддерживает DatI?

MySQL, PostgreSQL, ClickHouse и Doris. Для хранения собственных данных платформа использует H2 при разработке, MySQL или PostgreSQL в продакшене.

Нужно ли запускать скилл из корня репозитория?

Предпочтителен запуск из корня: путь `skills/dati-ops/scripts/openapi.py` указан относительно него. Если путь недоступен, скилл ищет скрипт через `find`.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы
Официальный

Открытый агент для дата-инженеров: SQL-клиент в терминале с контекстом хранилища, семантическим слоем, REST API и MCP-сервером.

CLIШирокий доступ1,9 тыс.Звезды репозитория

Официальные скиллы Databricks направляют агента при работе с данными, заданиями Lakeflow и развертыванием ресурсов платформы.

СкиллРасширенный доступ397Звезды репозитория
Официальный

Скилл учит агента искать таблицы, смотреть lineage и словарь терминов в вашем каталоге данных Marmot через CLI, REST и MCP.

СкиллШирокий доступ635Звезды репозитория
Официальный

Плагин Microsoft с девятью скиллами для Dataverse и Dynamics 365: запросы, импорт данных, модель, решения и администрирование

ПлагинШирокий доступ257Звезды репозитория

Живые данные с 78 площадок в виде JSON через один ключ: скиллы учат агента вызывать API Scavio по Amazon, Airbnb, Booking и другим

СкиллРасширенный доступ61Звезды репозитория

Скилл и CLI для анализа таблиц: чистка с записанными решениями, статистика на нужном уровне, PDF-отчет и отдельный аудит.

СкиллРасширенный доступ96Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
DatI Ops (эта карточка)нет77
DBHubнетне нужна3 839подключает агента к базе напрямую; DatI Ops настраивает отдельный шлюз со словарем терминов и правами
Database MCPдане нужна33дает MCP-доступ к базам; DatI Ops управляет платформой, которая публикует такие сервисы

Коротко о README

В репозитории два навыка. dati-ops предназначен для пользователей платформы и поставляется независимо, e2e-tester служит разработчикам. Платформа работает на Spring Boot и Vue, а быстрый старт занимает три команды: клонирование, копирование `.env.example` и запуск контейнеров.

Бейдж для README

Исходный SKILL.md

---
name: dati-ops
description: Use when performing configuration or operations on the DatI platform via its HTTP API — managing data sources, MCP services, subjects, terms, users, or running admin operations.
---

# Dati Ops

## 核心原则

**技能即前端。** 本技能让 agent 通过 HTTP API 完成前端界面上普通用户能做的全部配置与操作,作为 DatI 界面的替代品。

- 站在用户视角审视每一步:返回是否合理、字段是否自洽、操作顺序是否符合业务
- 本技能是**操作指南**,不是测试工具;验证 API 行为正确性用 `e2e-tester` 技能

## 前置要求与认证配置

优先从环境变量中读取连接信息,未配置时由用户在对话中提供:

| 项 | 对应环境变量 | 默认值 / 格式 | 说明 |
|---|---|---|---|
| `baseUrl` | `DATI_BASE_URL` | `http://localhost:8085` | 后端服务地址 |
| `apiKey` | `DATI_API_KEY` | `sk_...` | 访问凭据,所有 HTTP 请求带 `Authorization: Bearer <apiKey>` |

- **推荐方式**:在环境变量中设置 `export DATI_BASE_URL=...` 与 `export DATI_API_KEY=...`,Agent 执行时直接引用环境变量(如 `curl -H "Authorization: Bearer $DATI_API_KEY" $DATI_BASE_URL/v1/...`)。
- **兜底交互**:若环境变量未设置且当前对话上下文未提供,**必须先主动询问用户**获取,禁止自行臆测。认证失败表现为 401。

## 接口事实来源

本技能自包含: 接口定义以**技能目录下的 `openapi.json`** 为准(随技能分发,仓库内由项目脚本 `scripts/fetch-openapi.sh` 同步)。**不要整文件读取**(48KB ≈ 15K token),用查询工具按需取(统一加 `python3` 前缀调用,不依赖执行权限):

```bash
# 首选: 从仓库根调用
python3 skills/dati-ops/scripts/openapi.py /v1/data-sources POST
python3 skills/dati-ops/scripts/openapi.py --list
python3 skills/dati-ops/scripts/openapi.py --search password

# 若上述路径不可用(Git Bash / 目录变动): 先定位再调用
PY=$(find . -path "*dati-ops/scripts/openapi.py" | head -1)
python3 "$PY" /v1/data-sources POST
```

openapi.json 是自动生成物,可能滞后于代码;与后端实际行为不一致时,以实际请求结果为准。

## 使用流程

1. **确认环境**:baseUrl、apiKey 是否已知;未知先问用户
2. **查询接口**:`./scripts/openapi.py <path> <method>`,确认参数、请求体、响应
3. **构造请求**:body 用 snake_case;分离状态码与响应体,如 `curl -w "\n__HTTP__%{http_code}"`
4. **语义检查**:返回是否符合业务预期(ID 有效、状态流转正确、分页 total 合理);异常即使接口成功也要指出

Сообщить о проблеме