Перейти к основному содержимому

Запустить воркер

Воркер — это плагин DeepSeek Harness, который отдаёт модели, уже установленные на этой машине, по цене, которую вы назначаете. Он запускает Ollama локально; облачного API-ключа и счёта за инференс нет.

Требования​

  • DeepSeek Harness 0.2.2-rc.1 или новее и Node 22+.
  • Ollama хотя бы с одной загруженной моделью (например, ollama pull qwen3:8b).
  • Кошелёк в Base Sepolia с небольшим количеством тестового ETH для gas. Плагин создаёт его сам.

Токена GenKaKu и стейкинга нет. Вы зарабатываете USDC и тратите ETH на gas.

Установка​

В DeepSeek Harness откройте Plugins → Add plugin и вставьте:

@genkaku/dsh-worker-plugin

Оставьте источник установки на Default registry (registry.npmjs.org), подтвердите и перезапустите DeepSeek Harness. То же самое из оболочки:

dsh plugin add @genkaku/dsh-worker-plugin

В боковой панели появится пункт GenKaKu worker.

Первый запуск​

Плагин ищет Ollama по адресу http://127.0.0.1:11434 и сам запускает ollama serve, если Ollama установлена, но не работает. Первый раздел панели показывает, работает ли Ollama и сколько моделей она нашла.

Когда доска офферов пуста, плагин публикует каждую локальную модель по цене defaultPricePerHour, которая по умолчанию равна 0. Это сделано намеренно: если владелец машины не назначил цену, плагин не должен назначать её за него.

Назначение цены​

Откройте Models offered в панели и задайте каждой модели цену за час в USDC — целое число с 6 знаками точности (так, 250000 — это 0.25 USDC/hour). Оставьте 0, чтобы отдавать модель бесплатно.

  • Платная модель открывает эскроу в USDC на каждую сессию и рассчитывается по подписанной квитанции.
  • Бесплатная модель обслуживается без обращения к блокчейну: ни эскроу, ни gas, ни транзакции.

Оплата начисляется за начатую минуту сессии, поэтому двухминутная задача оплачивает две минуты по часовой ставке, а не полный час.

Публикация в блокчейне (необязательно)​

Переключатель Directory записывает ваш peer ID и локатор в WorkerRegistry, чтобы пользователи могли вас найти, не зная адрес заранее.

Он выключен по умолчанию и включается, только если у машины есть глобально доступный адрес. Запись в каталоге, адрес которой никто не может набрать, хуже, чем отсутствие записи. Публикация стоит одной транзакции, а локатор после попадания в блокчейн постоянен: имя хоста или IP, записанные там, нельзя отозвать, только заменить.

Пиры в одной локальной сети могут подключаться без записи в реестре, вручную указав multiaddr в плагине пользователя.

Кошелёк и выплаты​

Раздел Wallet показывает:

  • адрес воркера,
  • балансы ETH (gas) и USDC (заработок),
  • unclaimed in escrow — рассчитанный доход, который уже ваш, но пока лежит в JobEscrow,
  • кнопку Claim, которая переносит этот баланс в кошелёк.

Вывод средств — это транзакция, поэтому кошельку нужно немного ETH. USDC — это то, что воркер зарабатывает, а не то, что он тратит.

Приватный ключ хранится в открытом виде с правами 0600 в ~/.dsh/genkaku/genkaku.keys.json. Он подписывает квитанции и привязывает запись в каталоге: сделайте резервную копию перед переносом машины на новый диск и считайте любого, кто может прочитать этот файл, владельцем кошелька.

Уровни моделей​

Маркетплейс помечает каждую модель по возможностям, которые сообщает Ollama, и числу параметров:

УровеньЗначение
agentЕсть tools и не менее 9B параметров — подходит для цикла агента
lightЕсть tools, но модель маленькая или её размер неизвестен — вызовы инструментов могут быть ненадёжными
chatНет возможности tools — не подходит для агентов

Уровень — это метка, а не фильтр. Ничто не мешает вам опубликовать модель chat; пользователь просто увидит, что она не может управлять агентом.

Thinking-модели по умолчанию работают с think: false, чтобы один запрос не тратил свой бюджет на скрытые рассуждения. Задайте GENKAKU_OLLAMA_THINK=1 перед запуском DeepSeek Harness, чтобы сохранить поведение Ollama по умолчанию.

Порты и сеть​

  • libp2p по умолчанию слушает /ip4/0.0.0.0/tcp/4001 и /ip6/::/tcp/4002. Откройте настроенные TCP-порты, если хотите прямые соединения.
  • Локальный сервер статуса занимает первый свободный порт в диапазоне 47821–47826. Двум профилям DSH на одной машине нужны собственные порты; если вы бесконечно видите «Loading worker status…», вероятно, диапазон занят другим профилем.
  • В Windows разрешите Node в брандмауэре при первом запуске воркера.

Устранение неполадок​

Ollama не обнаружена. Запустите ollama serve один раз или нажмите Start Ollama в панели. Если Ollama находится в другом месте, измените ollamaHost в настройках плагина.

Переключатель Directory неактивен. У машины нет глобально доступного адреса. Пиры в одной локальной сети всё ещё могут подключиться по multiaddr; иначе сессии придётся идти через seed-релей.

Сессия обслужена, но баланс не изменился. Расчёт начисляет accrued внутри контракта. Нажмите Claim; после этого сумма появится как баланс USDC кошелька.

Ничего нет на npm? Проверьте, что вы на registry.npmjs.org, а не на зеркале, которое ещё не синхронизировалось.