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

@deepseek-ai/dsh-client-ui-game-center

游戏中心侧边栏入口、大厅、房间外壳与游戏桌渲染插槽。 适合需要在DSH Web中接入游戏中心界面的用户,需配合游戏中心运行时使用。

套件
@deepseek-ai/dsh-client-ui-game-center
相容性
待驗證
Harness 依賴範圍
workspace:^
Cordis 依賴範圍
workspace:^
版本
0.1.0-rc.5
授權
MIT
最近更新
2026年8月24日

安裝

此插件尚未提供可驗證的 bundle,或相容性檢查未通過。請先閱讀倉庫說明。 閱讀完整 README ↗

@deepseek-ai/dsh-client-ui-game-center

English | 中文

Optional Game Center shell for the Harness Web UI. It contributes one action to sidebar.footer.action, one center-column page keyed as game-center in main.view, and declares the game-center.table keyed slot plus the ordered game-center.lobby.extension list slot. A game UI registers its durable GameId as the table key; an unknown game receives a generic renderer over the caller-safe projection instead of breaking the page. Optional lobby modules such as friend rooms own their own state and disappear cleanly on unload.

The package owns only presentation state: the selected roster player, Agent-laboratory form values, Arena form values, legacy waiting-room recovery controls, pending controls, and visible mutation feedback. Navigation belongs to ctx.layout; games, Agent identities and versions, semantic schemas, Arena history, matches, browser identity, reconnect, and conflict reconciliation remain in ctx.gameCenterClient. Components receive explicit injected hooks and narrow action faces and never read Cordis Context directly.

The shell composes the zero-Cordis game UI base from ui-primitives: its scoped tokens supply the deep-neutral canvas, green felt, amber decisions, semantic states, text, lines, radii, shadows, and motion, while the shared disclosure owns outside-pointer and Escape dismissal plus focus restoration. Game Center retains lobby and room composition only; concrete table geometry, rules, and state remain in each renderer.

The default surface is the game lobby. Hold'em table setup can assign a different exact Agent to every opponent seat and previews that character's background before play. The secondary My Agents workspace uses an editorial roster-and-dossier layout for six original fictional table regulars, while compatibility-only identities remain resolvable but hidden from new selection. Selecting a player shows its background, stable identity, exact game version, style, and immutable digest. A published version can be challenged heads-up; the room is filled with that exact version id rather than reconstructed browser parameters.

Public or built-in players can be cloned into a new local identity, while owners branch a published version under the same identity. An owned draft opens the Agent Laboratory with six game-defined semantic sliders. Saving is revision checked; publishing requires confirmation and freezes the decision digest. The player-facing Agent Arena selects two to eight published versions, accepts deterministic seeds, and shows Host-persisted local reports. My Tables remains a separate workspace for owned and joined rooms.

For owned drafts, the name, biography, and portrait editor is shown before strategy controls instead of being hidden under technical details. A never-published identity also exposes a two-step delete action; identities with any published version cannot be deleted from the UI.

The six built-in Hold'em regulars carry original transparent character portraits supplied by the game plugin. The roster uses a close crop, the dossier reuses the same art as a restrained background figure, and the concrete table renderer reads it from the match-time identity snapshot. Owners can upload PNG, JPEG, or WebP art in the identity editor; the browser resizes it to bounded WebP before the existing revision-checked Catalog update, and identities without art retain the generated text badge fallback.

When a room is selected, the shell switches to a compact single-viewport layout. One toolbar keeps only Back to lobby and Back to chat on the left and a low-emphasis Room options disclosure on the right; game ids, long match ids, running badges, rule versions, decision-source labels, and a permanent danger button do not compete with the table. Closing an owned room requires opening Room options, choosing Close room, reading that the match ends and its Agents are released, and confirming; Keep room cancels the confirmation. Room options, replay downloads, and the table coach dismiss on outside click or Escape. The game renderer receives the remaining height, while live replay navigation is absent and bounded public/referee replay exports stay behind one download disclosure. If the person leaves an owned turn unattended, the Host folds that hand and pauses before the next deal; reopening the room resumes the same table and Agent sessions only after the person confirms Return to table.

A terminal Hold'em room delegates its final experience to the table: final standings provide rematch, replay download, and lobby actions, and the generic room footer does not duplicate them. The table, hole cards, action dock, and collapsed coach remain reachable without scrolling the whole page; panels that need more detail scroll internally.

Finished rooms download a redacted public replay, while only the owner sees the sensitive referee replay action. Catalog-origin seats add only their public identity/version/digest binding to either replay mode; private strategy prose stays on the Host.

Model Experience

None, as this browser surface renders human controls and contributes no Agent tool or prompt section.

KV Cache effect

None; the Host Agent seat controller owns every provider request.

Known Limitations and Deferred Work

  • The first Agent roster, semantic editor, and player-facing Arena support Hold'em only. The identity/version envelope is cross-game, but other games have not registered versions or editors yet.
  • Match chat, public account identity, and online matchmaking are deferred. Temporary invitation-only rooms are supplied by the separate ui-game-room composition.
  • Semantic controls are direct bounded values mapped by the Hold'em provider; arbitrary strategy prose is not exposed in this first player editor.
  • Arena reports are persistent but local descriptive evidence, not public rankings or cash-performance claims.
  • Replay downloads use one bounded JSON file. The referee action warns that the file contains all hidden information but does not encrypt it.
  • Main-page selection is transient and returns to conversation after a reload.
  • Audited-estimate and solver-experiment seats retain the current provider/model fields for the durable Agent-seat record even though those decision paths make no model request.