lmong11/dsh-game-center--packages-client-game-runtime ↗★ 0

@deepseek-ai/dsh-client-game-runtime

React-independent Game Center client state, credential recovery, long polling, and conflict reconciliation 面向游戏中心客户端开发的底层状态服务包,普通用户一般不直接使用。

패키지
@deepseek-ai/dsh-client-game-runtime
호환성
미검증
Harness peer 범위
workspace:^
Cordis peer 범위
workspace:^
버전
0.1.0-rc.5
라이선스
MIT
최근 업데이트
2026. 8. 24.

설치

검증된 bundle이 없거나 호환성 검사에 실패했습니다. 먼저 저장소 설명을 읽어 주세요. 전체 README 읽기 ↗

@deepseek-ai/dsh-client-game-runtime

English | 中文

React-independent browser state for Game Center. One ctx.gameCenterClient service owns the local credential, game and Agent catalogs, semantic parameter schemas, durable Arena history, match snapshots, selected match, cancellable invalidation watch, reconnect full-refresh, and revision-conflict reconciliation. Components consume its getSnapshot/subscribe contract and never call Remotes directly.

The plugin first mounts the generated Game Center Remote contribution under its outer remote dependency, then creates the data service in a child fiber that explicitly injects remote.gameCenter. This keeps the Cordis dependency boundary truthful without making the plugin wait on a namespace it owns itself.

The raw credential is stored only in browser localStorage, with an in-memory fallback when storage is unavailable. It is sent in RPC bodies and never placed in routes or visible match state.

Human and Agent seat mutations share the same conflict reconciliation path. Legacy Agent joins send only the selected provider/model and optional bounded policy. Catalog joins send only an exact published version id; the Host resolves its decision and digest. API credentials and private strategy prose never enter browser Game Center state.

Action submission generates a fresh command id for the Host idempotency boundary. The service exposes catalog create/clone/branch/update/publish/retire mutations with Host revision checks. exportReplay() returns download-ready public or owner-authorized referee JSON. runArena() and stopArena() carry bounded local plans while arenaHistory refreshes from Host-persisted reports.

The optional friend-room methods keep the owner-safe Room/share projection in the same observable snapshot and refresh it from Host invalidations. A newly issued invitation URL is held only in live memory, cleared by lock/start/close, and never written to the credential store or reconstructed from public share state.

Model Experience

None, as this browser data service registers nothing model-facing; the Host Agent seat controller owns projections and model requests.

KV Cache effect

None; this package neither assembles nor sends a provider request.

Known Limitations and Deferred Work

  • The first client retains only the newest 100 lobby matches.
  • A carrier failure waits for connection reset or an explicit retry instead of running an unbounded retry timer.
  • The client accepts an explicit provider/model route; model catalog discovery belongs to the existing Harness model settings surfaces.
  • Agent identity is local to one Harness Home; account sync and remote marketplace trust are outside this client.
  • Room state and invitation plaintext are process/session local. A browser refresh requires invitation rotation; a Host restart ends the Room.