워커 실행
워커는 이 머신에 이미 설치된 모델을 직접 정한 가격으로 공유하는 DeepSeek Harness 플러그인입니다. Ollama를 로컬에서 실행하며, 클라우드 API 키도 사용량 기반 추론 청구서도 없습니다.
요구 사항
- DeepSeek Harness
0.2.2-rc.1이상, Node 22+. - 모델을 하나 이상 내려받은 Ollama(예:
ollama pull qwen3:8b). - gas용 테스트 ETH를 조금 가진 Base Sepolia 지갑. 플러그인이 하나 만들어 줍니다.
GenKaKu 토큰도 스테이킹도 없습니다. USDC를 벌고, gas로 ETH를 씁니다.
설치
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 항목이 나타납니다.
첫 실행
플러그인은 http://127.0.0.1:11434에서 Ollama를 찾고, 설치되어 있지만 실행 중이 아니면
ollama serve를 직접 시작합니다. 패널 첫 섹션에는 Ollama가 실행 중인지, 모델을 몇 개
찾았는지 표시됩니다.
오퍼 보드가 비어 있으면 플러그인은 모든 로컬 모델을 defaultPricePerHour로 등록하며,
기본값은 0입니다. 이는 의도된 동작입니다. 가격을 정하지 않은 소유자의 머신에 가격이
붙어서는 안 되기 때문입니다.
가격 설정
패널의 Models offered를 열고 각 모델에 USDC 기준 시간당 가격을 정수로 입력합니다. 소수점
6자리 정밀도를 가지므로 250000은 0.25 USDC/hour입니다. 0으로 두면 해당 모델을 무료로
제공합니다.
- 유료 모델은 세션마다 USDC 에스크로를 열고 서명된 영수증으로 정산합니다.
- 무료 모델은 체인을 건드리지 않고 제공됩니다. 에스크로도, gas도, 트랜잭션도 없습니다.
과금은 세션의 시작된 분 단위로 누적되므로, 2분 작업은 1시간치가 아니라 시간당 요율로 2분치를 지불합니다.
온체인 게시(선택)
Directory 스위치는 peer ID와 locator를 WorkerRegistry에 기록하여, 사용자가 주소를 미리
알지 못해도 워커를 찾을 수 있게 합니다.
기본값은 꺼짐이며, 이 머신에 전 세계에서 다이얼 가능한 주소가 있을 때만 켜집니다. 아무도 다이얼할 수 없는 주소의 목록은 목록이 없는 것보다 나쁩니다. 게시에는 트랜잭션 하나가 들고, locator는 체인에 올라가면 영구적입니다. 거기에 기록된 호스트명이나 IP는 철회할 수 없고 교체만 할 수 있습니다.
같은 LAN의 피어는 사용자 플러그인에서 multiaddr을 직접 지정하면 레지스트리 항목 없이도 연결할 수 있습니다.
지갑과 인출
Wallet 섹션에는 다음이 표시됩니다.
- 워커 주소,
- ETH(gas)와 USDC(수익) 잔액,
- 에스크로에 미인출된 금액 — 이미 당신 것이지만 아직
JobEscrow안에 있는 정산 수익, - 그 잔액을 지갑으로 옮기는 Claim 버튼.
인출도 트랜잭션이므로 지갑에 ETH가 조금 필요합니다. USDC는 워커가 버는 것이지 쓰는 것이 아닙니다.
개인 키는 ~/.dsh/genkaku/genkaku.keys.json에 모드 0600으로 평문 저장됩니다. 이 키는
영수증에 서명하고 온체인 디렉터리 항목을 묶습니다. 머신을 새 디스크로 옮기기 전에
백업하고, 이 파일을 읽을 수 있는 사람은 누구든 지갑의 소유자로 취급하세요.
모델 등급
마켓플레이스는 Ollama가 보고한 기능과 파라미터 수를 바탕으로 각 모델에 라벨을 붙입니다.
| 등급 | 의미 |
|---|---|
agent | tools가 있고 파라미터가 9B 이상 — 에이전트 루프에 적합 |
light | tools가 있지만 작거나 크기를 알 수 없음 — 도구 호출이 불안정할 수 있음 |
chat | tools 기능 없음 — 에이전트에 부적합 |
등급은 라벨일 뿐 필터가 아닙니다. chat 모델을 목록에 올리는 것을 막는 것은 없으며,
사용자는 그 모델이 에이전트를 구동할 수 없다는 것만 보게 됩니다.
사고 모델은 기본적으로 think: false로 실행되어, 단일 요청이 숨은 추론에 예산을 쓰지 않게
합니다. Ollama의 기본 동작을 유지하려면 DeepSeek Harness를 시작하기 전에
GENKAKU_OLLAMA_THINK=1을 설정하세요.
포트와 네트워킹
- 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 스위치가 회색으로 표시됩니다. 이 머신에 전 세계에서 다이얼 가능한 주소가 없습니다. 같은 LAN의 피어는 여전히 multiaddr로 연결할 수 있고, 그렇지 않으면 세션은 시드 릴레이를 거쳐야 합니다.
세션이 제공되었는데 잔액이 움직이지 않았습니다. 정산은 컨트랙트 내부의 accrued에
기록됩니다. Claim을 누르면 그 금액이 지갑의 USDC 잔액으로 나타납니다.
npm에 패키지가 보이지 않나요? registry.npmjs.org에 있는지, 아직 동기화되지 않은 미러에
있지 않은지 확인하세요.