Skip to content

v0.3.27

Choose a tag to compare

@smixs smixs released this 17 Aug 18:47
· 19 commits to main since this release
  • 🔌 MCP-серверы плагина, оба транспорта - streamable-http и sse из mcp.json превращаются в сгенерированный connection eve mcp-<имя>--<server>, а заголовки ${VAR} подставляются в момент вызова из data/custom/plugins/<имя>.env, так что токен в сборку не попадает. stdio поднимается юнитом iva-mcp-<имя>-<server>.service, а перед ним стоит свой MCP proxy Ивы (services/mcp-proxy/, @modelcontextprotocol/sdk): агент ходит на 127.0.0.1:<порт>/mcp с bearer, токен лежит в data/plugin-data/<имя>/mcp-<server>.token с режимом 0600. Сервер видит только PATH, HOME, PLUGIN_ROOT, PLUGIN_DATA, свой env из mcp.json и <имя>.env - из окружения агента ему не достаётся ничего. Появился второй тумблер trusted: iva plugin trust | untrust, а add печатает процессы и спрашивает «Запускать эти процессы на этой машине? [y/N]» (--trust отвечает «да» сразу, запуск без терминала - «нет»). Порты выдаются от 8730, один раз и до удаления плагина. Проверено насквозь на настоящем stdio-сервере и настоящем клиенте из SDK, а не на заглушках.
  • 🧩 Сервисы плагина - sh.iva/services/<svc>/service.json с {command,args,port} становится юнитом iva-plugin-<имя>-<svc>.service: env IVA_SERVICE_PORT, IVA_DATA_DIR, PLUGIN_ROOT и PLUGIN_DATA, рабочий каталог - папка сервиса, старт только при enabled и trusted. iva plugin update перезапускает юниты плагина, у которого поменялась начинка; iva update поднимает их сразу после переключения версии; iva doctor перечисляет юниты, показывает is-active и стучится GET /health в каждый MCP proxy. sh.iva/ теперь двух видов: eve Extension (sh.iva/package.json, собирается в версию) и сервисы (версию не пересобирают никогда).
  • 🛒 Marketplace по умолчанию заработал: smixs/iva-plugins - список живёт на github.com/smixs/iva-plugins, в нём два плагина. trace - вьюер журнала: схема Ивы с подсвеченным путём хода, лента ходов, повтор хода на скоростях ×1, ×2 и ×4, плитки за сегодня, 7 и 14 дней; слушает только loopback, а iva trace open печатает готовую команду ssh-туннеля. hello - демо-плагин с кодом для авторов: один скилл, один тул. Ставится в три шага: iva plugin add trace, iva plugin trust trace, iva trace open. Проверено вживую по публичному списку: list --available, add trace с пином на sha, update, remove.
  • 📖 Дока про плагины - docs/plugins.md (по-русски docs/ru/plugins.md): что такое плагин, как поставить (папка, owner/repo[/subdir][@ref], git-URL или имя из Marketplace), чем enabled отличается от trusted, что делает с плагинами iva update, как написать свой (скиллы, Extension в sh.iva/, mcp.json, сервисы) и чем вы при этом рискуете; в SECURITY.md появился раздел Plugins. Заодно: CLI iva plugin разложен по модулям, ни одна команда не изменилась, а на dev-чекауте add и remove кодового плагина больше не обещают сборку, которой там не было, и честно говорят, что версию тут никто не собрал.