- remote-access 新增 whenAccess / whenResourceAccess,ui-session、ui-workspace 各自提供 whenAccess - schedule、plugin-manager、settings-general、settings-account、directory-picker-native 的入口包进 global whenAccess;消息反馈按钮按会话 useAccess 渲染 - webserver/index-inject 带 Peer,renderIndex / collectIndexInjections 需要 Peer,remote-access 注入 snapshotFor(peer.principal) - client-test-runtime 新增 StaticRemoteAccess、staticAccessPlugin 与 TestClientOptions.access - implemented Agent Note 2026-10-21-when-access 与升级指南 webserver-index-peer Refs #2940
2.6 KiB
description, kind
| description | kind |
|---|---|
| React and Slot adapters for Session Controller lists, interaction state, and per-session context. | package-reference |
@deepseek-ai/dsh-client-ui-session
English | 中文
Summary
Use this package to expose Session catalog, retain information, and unified UI status through standard Slot hooks. It materializes per-SessionBinding hooks and props, while SessionProvider can inherit an outer binding or bind an explicit SessionReference. It owns process-local pending-interaction and completion-reminder policy without owning Controller transport, history, or references.
Running status comes from Host list baselines or status events. Subagent catalog rows and retained subagent fallback rows do not establish running status; main view references still acknowledge completions.
Table of Contents
Access Hooks
The package injects the Client remoteAccess service and publishes Session access Hooks over its source(): the root useSessionAccess(sessionId, action) answers on one Session resource, and the Session-scope useAccess(action) answers on the bound Session's resource; the global resource's answer is a different Hook, useRemoteAccess(action), so neither shadows the other. ctx.uiSession.whenAccess(sessionId, action, callback) is the JS counterpart of useSessionAccess: it keeps the callback's effects installed while the current Peer may call action on that Session, with the semantics of ctx.remoteAccess.whenAccess. The SessionMaybe-scope useAccess(action) returns undefined while no Session is bound, which callers treat as not allowed; a decision on the global resource reads useRemoteAccess instead. Snapshot semantics belong to dsh-api-remote-access.
Model Experience
None, as this package adapts browser-side Session state and registers nothing model-facing.
KV Cache effect
None; Session selectors and Slot scopes do not assemble model requests.
Known Limitations and Deferred Work
- Pending interactions are process-local projections — the owning Remote waterfall must replay an outstanding request after a browser reconnect.
Dev Note
Working context for maintainers — click to expand
None.