DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

antonbru /

antonbru/dsh-settings-sync

Verified

DeepSeek Harness: sync settings, MCP and installed plugins through a private GitHub repository (like VS Code Settings Sync)

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@5a8b6359

dsh-settings-sync

Синхронизация настроек DeepSeek Harness и установленных плагинов через приватный GitHub-репозиторий — по мотивам VS Code Settings Sync.

Плагин кладёт в репозиторий «конфигурационную поверхность» ~/.dsh, а на другой машине восстанавливает её: настройки профиля, MCP-серверы, список плагинов, lock-файл, локальные плагины, навыки и глобальные инструкции.

Что синхронизируется

Категория Пути (от DSH_HOME)
Настройки и MCP profiles/<profile>/cordis.patch.yml, settings.yaml
Плагины profiles/<profile>/package.json, pnpm-lock.yaml, pnpm-workspace.yaml
Локальные плагины исходники из link:/file: зависимостей — в <repo>/plugins/<name>/
Навыки skills/**
Инструкции AGENTS.md
Прочее agents/**, pet.json, skin-center-active.json — если есть

Никогда не синхронизируются: .credentials.yaml, .env, sessions/, storages/, cache/, attachments/, dsh-runtimes/, node_modules/, .git, .plugin-manager/.

Абсолютные пути дома при выгрузке заменяются на ${DSH_HOME} и ${HOME}, при применении — разворачиваются в пути текущей машины.

Установка

Публичный репозиторий плагина: https://github.com/antonbru/dsh-settings-sync

В DSH (профиль desktop):

plugin_manager install_bundle target=github:antonbru/dsh-settings-sync

Полный вариант: target=https://github.com/antonbru/dsh-settings-sync.git.

Для локальной разработки можно ставить из рабочей папки:

plugin_manager install_bundle target=/Users/antonb_ru/DSH/plugins/dsh-settings-sync

После установки: Settings → Синхронизация.

Репозиторий настроек — отдельный и приватный: в нём лежат ваши токены MCP. Публичный репозиторий плагина токенов не содержит.

На второй машине:

  1. поставить плагин из публичного репозитория (команда выше);
  2. Settings → Синхронизация → подключить GitHub → указать URL приватного репозитория настроек;
  3. «Получить» → «Применить» → перезапустить DSH.

Первая настройка

  1. Создайте приватный пустой репозиторий на GitHub (или нажмите «Создать» на странице плагина — он создаст приватный).
  2. Подключите GitHub:
    • если установлен и авторизован gh (gh auth login), токен подхватится автоматически;
    • иначе вставьте PAT со scope repo и нажмите «Подключить / проверить токен».
  3. Укажите URL репозитория, ветку, отметьте категории и сохраните.
  4. Нажмите «Захватить и отправить» — появится первый коммит.
  5. Проверьте «Проверить секреты»: плагин не вырезает токены (так выбрано при настройке), но показывает, где они лежат. Репозиторий обязан остаться приватным — push в публичный блокируется проверкой GitHub API.

Токен GitHub хранится только локально в ~/.dsh/settings-sync/settings.json (0600), не попадает ни в patch, ни в репозиторий, ни в ответы API.

Ежедневное использование

  • «Синхронизировать» — зафиксировать локальное, забрать удалённое, при изменениях применить, отправить.
  • «Захватить и отправить» — только выгрузка.
  • «Получить» — только git pull.
  • «Применить и установить плагины» — записать снапшот в ~/.dsh, восстановить локальные плагины, выполнить pnpm install. Перед записью делается бэкап; после — нужен перезапуск DSH.
  • «Откатить последний бэкап» и «История» с восстановлением из коммита — на случай неудачного применения.
  • «Проверить секреты» — отчёт по паттернам (Bearer, ghp_, sk-, token/password = …).

Автосинхронизация

  • «При старте DSH забирать и применять удалённое» — если в репозитории появились коммиты.
  • «Захватывать изменения каждые N минут» + «сразу отправлять» — фоновая выгрузка при изменениях. Держите авто-отправку включённой на одной «главной» машине.

Расхождение и откат

Если локальная копия репозитория и origin разошлись, pull остановится с кодом diverged. На странице появится блок «Расхождение»:

  • Взять удалённое — сбросить локальную копию репозитория на origin/<branch> (живые файлы не трогаются до «Применить»);
  • Отправить локальное — git push --force-with-lease.

Перед применением всегда создаётся бэкап в ~/.dsh/settings-sync/backups/<время>/.

Агент и команда

  • Инструмент settings_sync с действиями status, push, pull, apply, sync, history, restore, scan.
  • Команда /sync status|push|pull|apply|sync|history|scan.

Ограничения

  • Переносимость рассчитана на macOS/POSIX; на Windows симлинки заменяются копированием, путь к исходникам плагинов должен быть доступен для записи.
  • pnpm install выполняется тем же Node/pnpm, что лежит в DSH_HOME/dsh-runtimes; если их нет — используется системный node/pnpm.
  • Слияние конфликтов по строкам не делается: выбор стороны целиком.
  • Сессии и история чатов не синхронизируются.

Лицензия

MIT. Основано на dsh-config-sync (MIT, © liangfengqi); см. LICENSE и NOTICE.

—/ 5

No ratings yet

Verified DSH bundle

Commit 5a8b6359f644

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout