Files
deepseek-harness/packages/client/ui-session
imccyu d5d43d931d fix(remote-access): 按评审修正访问门控边界,插件导航改为可选依赖
- ui-entry-customization、voice-input 不再把 pluginNavigation 当必需服务:服务不在时隐藏「浏览插件」与「打开 / 查看详情」按钮,插件照常启动
- plugin-manager 每次授权时刷新已加载的列表
- settings-account 账号设置分区与 sign-in 一并按 account/watch 门控,revision 恢复 master 原样
- schedule 会话头部提醒另按会话 useAccess('schedule/list') 渲染
- 导出 staticAccessPlugin;补 whenAccess 归属、撤权与读者页启动测试
- 同步 README、web-server 子系统文档、webserver 包描述与 Agent Note
2026-10-21 17:57:52 +08:00
..
2026-10-17 15:10:31 +08:00

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.