You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Думаю есть смысл переписать skiller что бы через него можно было скачивать агентов, софт, MCP, Plugins и другие инструменты #376
Scope установки: выбранный docker-git project/container, не host-global по умолчанию.
Режим установки: Skiller показывает install plan и запускает установку только после явного подтверждения пользователя.
Источники каталога: использовать уже существующие marketplace/registry, а не заводить собственный bundled marketplace как единственный источник.
Scope “софт”: AI/dev tools, релевантные агентным workflow, а не общий package manager для всего npm/pip/brew/winget.
Минимум v1: все агенты из уже существующего списка Skiller (44 entries на текущем скриншоте) должны устанавливаться “из коробки”, если для них есть install command/docs в agent TOML.
Целевая модель
Переписать Skiller с модели “skills manager” на нормализованный каталог MarketplaceTool:
Старые skill flows должны остаться совместимыми: skills.sh и ClawHub продолжают работать как источники skills, текущие install-to-agent/project сценарии не ломаем.
Agent install flow
Использовать существующие agents/*.toml как curated source для agent/dev-tool entries.
Для Linux/container использовать install_command_linux, если он задан; иначе safe fallback из install_command, только если команда кроссплатформенная/поддержанная.
Для небезопасных или OS-specific команд без Linux-варианта показывать manual state + docs URL.
После установки запускать refresh detection: detect_agents, плюс lightweight check по cli_command там, где он задан.
UI-кнопка Install на карточках агентов должна открывать confirmation modal, а не только installation guide.
MCP install flow
Источники:
Official MCP Registry REST API: https://registry.modelcontextprotocol.io/v0.1/servers.
Smithery CLI/API там, где он даёт готовую install/add команду.
npm stdio package: запуск через argv-форму вроде npx -y <package>@<version>;
entries с required secrets/auth/config показывать как manual/needs-config, пока пользователь не ввёл значения;
pypi/oci/custom transports в v1 не выполнять автоматически, если нет безопасного adapter.
Plugin install flow
Для Codex plugins использовать существующий CLI surface:
codex plugin marketplace add <source>
codex plugin add <plugin>@<marketplace>
Generic arbitrary plugin execution в v1 не делать.
Для неизвестных plugin marketplaces показывать manual install guidance.
Execution/security boundary
Browser/UI не должен передавать произвольный shell string для исполнения.
UI запрашивает prepare_tool_install, получает typed ToolInstallPlan, показывает его пользователю, затем вызывает execute_tool_install с id/selector плана.
Trusted side заново валидирует план перед запуском.
Команды выполнять как argv, без shell, кроме curated agent TOML команд после confirmation.
В docker-git scoped mode команды должны идти через selected project container:
container: SkillerContainerScope.containerName
user: SkillerContainerScope.sshUser
cwd: SkillerContainerScope.containerProjectPath
Хранить provenance/status в выбранном container home, например ~/.docker-git/skiller/tool-installs.json.
Не писать вне allowlisted roots: selected project, selected home, known agent config dirs, known MCP/plugin config files.
API/tRPC additions
Skiller tRPC:
list_tools
search_tools
prepare_tool_install
execute_tool_install
list_tool_installs
docker-git API:
scoped tool install execution endpoint рядом с текущими Skiller/project routes;
typed request/response schemas через @effect/schema;
docker-git now supports external Skiller Web launch links with backendUrl, projectKey, and sessionId.
docker-git allows the production Skiller Web origin https://skiller-web-henna.vercel.app by default for Skiller connection routes.
docker-git answers Chrome Private Network Access preflights with Access-Control-Allow-Private-Network: true when requested.
Skiller context endpoints now participate in the same Skiller CORS flow, so direct /launch?...&projectKey=... does not produce an early browser CORS failure.
Skiller Web now parses docker-git launch params from both normal query strings and hash-router query strings, including localhost URLs.
GitHub Actions on docker-git main commit aaa4f30: Checking Dependencies and Check both passed
Browser smoke on production with /#/?backendUrl=http%3A%2F%2F127.0.0.1%3A4181 auto-loaded projects
Browser smoke on production with /launch?backendUrl=http%3A%2F%2F127.0.0.1%3A4181&projectKey=project-proof auto-connected and stored the docker-git connection
Activity
skulidropek commentedon Jun 6, 2026
План по переписыванию Skiller в универсальный установщик инструментов
Сохраняю согласованный v1-plan по issue #376.
Зафиксированные решения
Целевая модель
Переписать Skiller с модели “skills manager” на нормализованный каталог
MarketplaceTool:Старые skill flows должны остаться совместимыми:
skills.shи ClawHub продолжают работать как источники skills, текущие install-to-agent/project сценарии не ломаем.Agent install flow
agents/*.tomlкак curated source для agent/dev-tool entries.install_command_linux, если он задан; иначе safe fallback изinstall_command, только если команда кроссплатформенная/поддержанная.detect_agents, плюс lightweight check поcli_commandтам, где он задан.Installна карточках агентов должна открывать confirmation modal, а не только installation guide.MCP install flow
Источники:
https://registry.modelcontextprotocol.io/v0.1/servers.Поддержать в v1 только детерминированные формы:
codex mcp add <name> --url <url>и совместимый opencode flow;npx -y <package>@<version>;Plugin install flow
codex plugin marketplace add <source>codex plugin add <plugin>@<marketplace>Execution/security boundary
prepare_tool_install, получает typedToolInstallPlan, показывает его пользователю, затем вызываетexecute_tool_installс id/selector плана.SkillerContainerScope.containerNameSkillerContainerScope.sshUserSkillerContainerScope.containerProjectPath~/.docker-git/skiller/tool-installs.json.API/tRPC additions
Skiller tRPC:
list_toolssearch_toolsprepare_tool_installexecute_tool_installlist_tool_installsdocker-git API:
@effect/schema;Legacy endpoints for project skills оставить без breaking changes.
UI changes
Installзапускает confirmation flow для installable agents.MarketplaceSkillwording на unifiedTools/MarketplaceToolwith kind filters: Skills, Agents, MCP, Plugins, Dev tools.Test plan
Skiller tests:
MarketplaceToolnormalization;docker-git API tests:
SkillerContainerScope;/projects/:projectId/skillsbehavior unchanged.Verification commands:
bun run typecheck bun run check bun run test bun run skiller:init bun run skiller:install bun run skiller:checkExternal source notes used while planning
GET /v0.1/servers, versions, pagination, and status metadata: https://modelcontextprotocol.io/registry/registry-aggregatorsskulidropek commentedon Jun 6, 2026
Implemented the Skiller Web docker-git connection flow.
Backend (docker-git):
Frontend (skiller-web):
Verification:
Commits:
skulidropek commentedon Jun 6, 2026
Implemented and merged.
What changed:
backendUrl,projectKey, andsessionId.https://skiller-web-henna.vercel.appby default for Skiller connection routes.Access-Control-Allow-Private-Network: truewhen requested./launch?...&projectKey=...does not produce an early browser CORS failure.Merged/deployed:
Verification:
bun run --filter @effect-template/api lintbun run --filter @effect-template/api typecheckbun run --filter @effect-template/api testbun run testandbun run buildin skiller-webaaa4f30:Checking DependenciesandCheckboth passed/#/?backendUrl=http%3A%2F%2F127.0.0.1%3A4181auto-loaded projects/launch?backendUrl=http%3A%2F%2F127.0.0.1%3A4181&projectKey=project-proofauto-connected and stored the docker-git connection