DatI Ops — скилл
Скилл настраивает шлюз DatI через его HTTP API: источники данных, бизнес-термины и MCP-сервисы без ручной работы в веб-интерфейсе.
- 77 ★ репозитория
- Последний коммит
Широкий доступ
Почему такой уровень
- Ключ доступа открывает настройку источников данных и создание, публикацию и удаление MCP-сервисов.
- Через скилл агент работает с учетными данными баз и определяет, какие данные увидят другие агенты.
Установка
- Работает в
В терминале, через 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-сервером.
Официальные скиллы Databricks направляют агента при работе с данными, заданиями Lakeflow и развертыванием ресурсов платформы.
Скилл учит агента искать таблицы, смотреть lineage и словарь терминов в вашем каталоге данных Marmot через CLI, REST и MCP.
Плагин Microsoft с девятью скиллами для Dataverse и Dynamics 365: запросы, импорт данных, модель, решения и администрирование
Живые данные с 78 площадок в виде JSON через один ключ: скиллы учат агента вызывать API Scavio по Amazon, Airbnb, Booking и другим
Скилл и CLI для анализа таблиц: чистка с записанными решениями, статистика на нужном уровне, PDF-отчет и отдельный аудит.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| 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 合理);异常即使接口成功也要指出