Skip to main content
Glama
gdgfd22

dsh-lab-ssh

by gdgfd22

dsh-lab-ssh

Английский | 简体中文

SSH-инструменты разработки с защитными ограничениями для DeepSeek Harness и стандартных MCP-клиентов.

Плагин позволяет агенту, работающему на подключённой рабочей станции, использовать GPU, среду выполнения и явно настроенное рабочее пространство с исходным кодом лабораторного сервера, при этом сервер остаётся изолированным от публичного интернета.

Версия 0.3.0 — экспериментальный предварительный выпуск. Перед лабораторным развёртыванием зафиксируйте проверенную версию DeepSeek Harness.

Это независимый плагин сообщества, а не официальный пакет DeepSeek AI.

Зачем это нужно

Предоставление агенту обычного SSH-терминала открывает доступ к произвольным адресам, командам и путям файловой системы. Этот проект добавляет уровень политики, запрещающей всё по умолчанию:

  • фиксированные, видимые для модели псевдонимы хостов;

  • закреплённые SHA256-отпечатки ключей хостов OpenSSH;

  • ссылки на учётные данные через переменные окружения, локальные файлы ключей или SSH Agent;

  • для каждого хоста — списки разрешённых команд, правила автоматического одобрения и правила запрета;

  • ограниченный объём вывода команд и таймауты;

  • корневые каталоги на удалённом сервере, задаваемые через псевдонимы, с каноническими проверками ограничения (containment);

  • ограниченное чтение UTF-8 и атомарная запись с защитой по хэшу;

  • опциональные рабочие каталоги команд на основе псевдонимов;

  • отключённый по умолчанию HTTPS-мост артефактов для офлайн-серверов;

  • единая JSON-политика, общая для DeepSeek Harness и Codex MCP.

Плагин не предоставляет доступа к произвольным хостам, интерактивным оболочкам, встроенным секретам, неограниченной передаче файлов, операциям delete/move/chmod, фоновым командам, пробросу портов, обратным туннелям или пробросу агента.

Статус

Плагин DeepSeek Harness, stdio MCP-сервер, политика команд, ограниченный доступ по SFTP, псевдонимы рабочих каталогов и первый слой моста артефактов реализованы. Тестовый набор содержит 25 тестов в 9 файлах и никогда не обращается к реальной лабораторной инфраструктуре или публичному интернету.

Визуальные сеансы кратковременных учётных данных, постоянный аудит, политика на основе ролей, синхронизация каталогов, замыкание зависимостей, кэширование и возобновляемая передача остаются задачами на будущее.

Быстрый старт

Требования:

  • Node.js ^22.19 или >=24;

  • DeepSeek Harness 0.1.0-rc.7 или совместимая предварительная версия 0.1.x;

  • pnpm в PATH для dsh plugin.

Сборка и установка:

Set-Location <PLUGIN_DIR>
npm install
npm run build
npx -y @deepseek-ai/dsh@0.1.0-rc.7 plugin --profile web add <PLUGIN_DIR>

Скопируйте пример конфигурации за пределы репозитория, замените все заполнители и укажите пользовательский патч DSH на этот файл:

- id: lab-ssh
  config:
    configFile: C:/Users/<USER>/.dsh/lab-ssh.private.json

Задайте переменные окружения для учётных данных в том же процессе, который запускает DSH:

$env:LAB_SSH_GPU01_PASSWORD = '<enter locally>'
npx -y @deepseek-ai/dsh@0.1.0-rc.7 web

См. руководство оператора на китайском языке и краткое руководство на китайском языке по настройке, политике одобрений, офлайн-подготовке артефактов и устранению неполадок.

Инструменты

  • ssh_list_hosts: выводит список настроенных псевдонимов хостов с удалёнными конфиденциальными данными.

  • ssh_list_file_roots: выводит псевдонимы каталогов и политику доступа.

  • ssh_list_directory: выводит записи, ограниченные рамками разрешённого корневого каталога.

  • ssh_read_file: читает текст UTF-8 ограниченного размера и возвращает его SHA256.

  • ssh_write_file: создаёт или атомарно заменяет текст UTF-8 ограниченного размера.

  • ssh_exec: выполняет команду из списка разрешённых на фиксированном хосте и, опционально, в каталоге, указанном через псевдоним.

  • ssh_stage_artifact: скачивание, проверка и атомарная загрузка одного артефакта с обязательным одобрением.

Офлайн-серверы

Мост артефактов — не прозрачный прокси. Рабочая станция принимает HTTPS-URL без учётных данных и токенов в строке запроса, проверяет каждый редирект по административному списку разрешённых доменов, применяет ограничение размера и обязательный доверенный SHA256, а затем атомарно создаёт файл в корневом каталоге, явно разрешающем артефакты. Существующие файлы не заменяются.

Общее проксирование SOCKS/HTTP, проброс SSH и обратные туннели остаются вне рамок проекта, чтобы сохранить сетевую изоляцию сервера.

Codex MCP

Репозиторий содержит безопасный пустой файл config/lab-ssh.empty.json и проектный файл .codex/config.toml. Соберите пакет и перезагрузите Codex в доверенном проекте, чтобы обнаружить MCP-сервер. Для реального развёртывания укажите в приватной конфигурации Codex на JSON-файл вне репозитория.

Сервер также можно запустить напрямую:

node <PLUGIN_DIR>/lib/mcp-server.js --config <PRIVATE_CONFIG_PATH>

Разработка и проверка

npm install
npm run typecheck
npm test
npm run build
npm run pack:check

В Windows запустите приёмочный тест в чистом окружении (clean-room), который заново клонирует публичный репозиторий в системную временную папку и не переиспользует ни текущие зависимости, ни результаты сборки, ни профиль DSH, ни приватную SSH-конфигурацию:

powershell -ExecutionPolicy Bypass -File scripts/clean-room-test.ps1

Он выполняет npm ci, проверку типов, тесты, сборку, проверку пакета, установку плагина в изолированный профиль и HTTP-смоук-тест DSH Web с hosts: []. По умолчанию используется порт 3180, а временное окружение затем удаляется.

Перед публикацией ознакомьтесь с SECURITY.md. Реальная SSH-конфигурация, учётные данные, журналы, локальные профили, результаты сборки и архивы не должны попадать в коммиты или включаться в релиз.

Лицензия

MIT

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • An MCP server for Arcjet - the runtime security platform that ships with your AI code.

  • Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.

  • An MCP server for deep research or task groups

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gdgfd22/deepseek-harness-ssh'

If you have feedback or need assistance with the MCP directory API, please join our Discord server