Skip to main content
Glama
useorgx

OrgX for DeepSeek Harness Plugin

by useorgx

OrgX для DeepSeek Harness

@useorgx/deepseek-harness-plugin добавляет инструменты MCP OrgX в профиль DeepSeek Harness и может запускать привязанный к рабочей области шлюз OrgX через headless-режим Harness.

Этот пакет является предварительной версией для разработчиков. Установка пакета доказывает только его наличие; она не подтверждает аутентификацию OrgX, допуск к шлюзу, успешную отправку, развёртывание или использование в production.

Установка с помощью мастера OrgX

Поддерживаемый пользовательский поток — мастер OrgX. Он обнаруживает совместимую установку DeepSeek Harness, устанавливает этот пакет в профиль headless и связывает OrgX в браузере:

npx @useorgx/wizard@latest setup

Затем запустите задачу через мастер, чтобы он мог обновить токен OAuth до запуска DSH:

npx @useorgx/wizard@latest deepseek "List the OrgX tools available in this workspace."

Пакет DSH не запускается, если его MCP-соединение или начальная синхронизация инструментов завершаются ошибкой. Не рассматривайте наличие пакета как доказательство аутентификации поверхности инструментов OrgX.

Related MCP server: dsh-harness-mcp-server

Установка пакета напрямую

DeepSeek Harness привязан к версии 0.1.0-rc.6. Опытные пользователи могут установить пакет напрямую с помощью Node ^22.19.0 или >=24.0.0:

npm install --global @deepseek-ai/dsh@0.1.0-rc.6
export ORGX_MCP_ACCESS_TOKEN='your_orgx_oauth_access_token'
export DEEPSEEK_API_KEY='your_deepseek_key'
dsh plugin --profile headless add @useorgx/deepseek-harness-plugin@0.1.0
dsh --profile headless --dump-config
dsh --profile headless "List the OrgX tools available in this workspace."

Для разработки исходного кода выполните npm pack --ignore-scripts и установите полученный tarball по URL file:. Простая локальная ссылка не даёт такой же гарантии чистой установки.

Пакет включает точную копию клиента шлюза OrgX, лицензированного по MIT, из @useorgx/orgx-gateway-sdk@0.1.0-alpha.9 коммит 49f3cad612954c448878dc62d0f9c6bc87fa0f79. DSH блокирует Git и другие экзотические подзависимости при установке плагинов, поэтому встраивание этого проверенного клиента — это то, что позволяет установить свежий профиль. См. THIRD_PARTY_NOTICES.md.

Пакет монтирует один экземпляр @deepseek-ai/dsh-mcp-client с именем orgx. Он подключается к https://mcp.useorgx.com/mcp по Streamable HTTP и отправляет Authorization: Bearer $ORGX_MCP_ACCESS_TOKEN. Это значение должно быть токеном доступа OAuth 2.1, управляемым клиентом; ключ шлюза oxk_ недействителен для размещённого MCP. Установите ORGX_MCP_URL, чтобы использовать другую конечную точку MCP OrgX. Запуск завершается ошибкой, если токен OAuth отсутствует или начальное MCP-соединение и синхронизация инструментов не удались. Эта предварительная версия не выполняет PKCE-поток в браузере и не обновляет токены; заменяйте управляемый клиентом токен доступа по истечении его срока действия.

DeepSeek Harness 0.1.0-rc.6 предоставляет только инструменты MCP. Ресурсы и подсказки MCP через этот клиент недоступны. Не текстовые блоки MCP также имеют неточное представление для модели, даже если локальный результат выполнения сохраняет их JSON-блоки.

Запуск однорангового узла OrgX

Одноранговый узел устанавливает рабочую директорию выполнения внутри ORGX_WORKSPACE_ROOT; запрошенный репозиторий, который разрешается за пределами этой директории, завершается ошибкой до запуска Harness. Это граница пути и изменений, а не изоляция хоста. Harness workspace-write не ограничивает чтение файлов тем же пользователем, видимость процессов или сетевой доступ, поэтому модель или инструмент могут наблюдать другие данные хоста или отправлять данные по сети. Установите ORGX_DEEPSEEK_HOST_ACCESS_ACK=1 только после принятия этого риска; запуск и готовность учётных данных завершаются ошибкой без подтверждения.

Используйте ключ API с областью действия gateway:drive и plugin:heartbeat. Ответ шлюза OrgX возвращает installation_id; сохраняйте это стабильное значение вместе с ключом и передавайте оба без изменений при каждом запуске.

export ORGX_API_KEY='oxk_your_workspace_key'
export ORGX_MCP_ACCESS_TOKEN='your_orgx_oauth_access_token'
export DEEPSEEK_API_KEY='your_deepseek_key'
export ORGX_WORKSPACE_ID='your-workspace-uuid'
export ORGX_INSTALLATION_ID='install.your-stable-installation-id'
export ORGX_WORKSPACE_ROOT='/absolute/path/to/the/workspace'
export ORGX_DEEPSEEK_HOST_ACCESS_ACK='1'
dsh plugin --profile headless exec orgx-deepseek-harness-peer

Эта предварительная версия является неуправляемым одноранговым узлом протокола шлюза v1. Она не реализует жизненный цикл активации и продвижения кандидата/канонического. Указание ORGX_RUNNER_INSTANCE_ID, ORGX_ACTIVATION_ATTEMPT_ID или ORGX_RUNNER_ROLE приводит к чёткой ошибке запуска; эти поля никогда не отправляются в его heartbeat или URL сокета.

Перед открытием WebSocket одноранговый узел записывает heartbeat шлюза с готовностью транспорта и отправки, равной false. Он объявляет готовность к отправке только после успешного выполнения всех следующих проверок:

  • dsh --version доказывает, что закреплённый процесс выполнения жив;

  • закреплённый официальный эндпоинт https://api.deepseek.com/user/balance принимает DEEPSEEK_API_KEY и сообщает is_available: true без выполнения запроса на вывод;

  • обмен MCP Streamable HTTP initialize и tools/list принимает ORGX_MCP_ACCESS_TOKEN.

Наличие секретов и команда версии без учётных данных никогда не рассматриваются как аутентификация. Сбои проверки, отклонённые или истёкшие учётные данные, а также отсутствие доказательств остаются закрытыми при сбое. Успешные доказательства кэшируются на 45 секунд; одноранговый узел обновляет присутствие шлюза каждые 15 секунд и записывает heartbeat в режиме best-effort при закрытии сокета.

Дочерний процесс DSH получает ключ провайдера и отдельно ограниченный токен доступа MCP, но не ключ шлюза. Окружающие переменные DSH_* не передаются, за исключением DSH_HOME; дочернему процессу принудительно устанавливается разрешение workspace-write, а телеметрия отключается, чтобы окружающие настройки полного доступа или экспорта OTLP не могли переопределить эти две политики. Эти настройки по-прежнему не изолируют чтение хоста, процессы или сетевой доступ.

Необязательные настройки времени выполнения:

  • ORGX_BASE_URL изменяет базовый URL шлюза OrgX.

  • ORGX_RECEIPT_OUTBOX_PATH задаёт абсолютный каталог для долговечных квитанций. По умолчанию — в каталоге состояния OrgX текущего пользователя.

  • ORGX_DEEPSEEK_HARNESS_BIN изменяет путь к исполняемому файлу с dsh.

  • ORGX_DEEPSEEK_HARNESS_PROFILE изменяет профиль с headless.

  • ORGX_DEEPSEEK_HARNESS_MODEL активирует встроенный патч модели для провайдера deepseek-official. Он изменяет композицию по умолчанию; модель, уже сохранённая в настройках DSH, всё ещё может иметь приоритет.

Stdout headless-режима Harness содержит финальный текст ассистента и код выхода, но не учёт токенов или затрат. Поэтому сообщение драйвера по проводам должно содержать числовые значения tokens_used: 0 и cost_estimate_cents: 0; оба означают «неизвестно в этом источнике», а не «бесплатно». OrgX канонизирует сохранённую стоимость DeepSeek до своей консервативной оценки отправки, записывает качество измерения и накапливает эту оценку в бюджетных лимитах. Нулевой код выхода процесса сообщает outcome_kind: awaiting_review: процесс завершён, но работа ещё не принята, не объединена, не развёрнута и не подтверждена в production.

Отправка через WebSocket в SDK не имеет подтверждения сервера, поэтому приложение отвечает за долговечность. Перед выдачей task.started одноранговый узел атомарно записывает маркер резервирования до запуска. Если эта запись не удаётся, он закрывает внутренний итератор до того, как Harness сможет запустить, и отправляет в режиме best-effort POST заблокированной квитанции. Перед выдачей каждого кадра task.completed после запуска он атомарно записывает точную квитанцию HTTP v1 в исходящий каталог с режимом 0700, используя файл с режимом 0600, а затем отправляет её POST на идемпотентный эндпоинт квитанций выполнения. Ни ключ, ни токен не записываются ни в один из этих файлов.

Только ответ 2xx удаляет конечную квитанцию. Если окончательное сохранение не удаётся после завершения Harness, одноранговый узел немедленно пытается отправить связанную квитанцию HTTP напрямую и всё равно выдаёт исходное завершение. Ответ 2xx очищает резервирование; если HTTP также не удаётся, завершение остаётся в очереди повторных попыток в памяти, и его маркер резервирования остаётся. Ожидающие квитанции повторяются при запуске, переподключении и каждом такте heartbeat в 15 секунд. Перезапуск с неразрешённым резервированием завершается ошибкой с сообщением о восстановлении, а не риском повторного выполнения.

Закреплённый SDK не может долговечно восстановить task.failed только через сокет. После начала выполнения этот одноранговый узел поэтому записывает причину сбоя как шаг и выдаёт outcome_kind: blocked; отмена выдаёт outcome_kind: abandoned. Оба используют исходящий канал приложения. Дубликат, отклонённый до task.started, остаётся task.failed и не может завершить отправку, которая уже владеет этим идентификатором выполнения.

Проверка

Для разработки пакета установите закреплённые зависимости без скриптов жизненного цикла, затем выполните детерминированные проверки:

npm install --ignore-scripts --no-package-lock
npm run validate

Скрипт тестирования пакета запускает node:test явно для файлов test/*.node-test.mjs. Суффикс, специфичный для Node, сохраняет эти наборы вне обнаружения корневого Vitest репозитория, сохраняя их в npm run validate.

Проверка включает тестирование пакета и манифеста, готовности на основе доказательств, границ рабочей области и окружения дочернего процесса, состояний гонки при отмене и дублировании, heartbeat неуправляемого протокола v1, а также восстановления после сбоев HTTP при отключении закреплённого SDK. Она не связывается с OrgX или DeepSeek.

A
license - permissive license
-
quality - not tested
C
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 Servers

View all related MCP servers

Related MCP Connectors

  • Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.

  • Turn a GitHub repo or docs site into agent-ready context: pack it or search it, over MCP.

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

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/useorgx/orgx-deepseek-harness-plugin'

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