4.4 KiB
description, kind
| description | kind |
|---|---|
| Web GUI 的权限预设表面:通用设置中的默认行与切换当前会话的 /permission 选择器;供权限策略的用户与维护者阅读。 | package-reference |
@deepseek-ai/dsh-client-ui-permission-presets
English | 中文
概述
本包为 Web GUI 中两种生命周期提供权限预设表面:通用设置中的一行选择之后创建会话所用的默认值,但不会切换当前会话。挂在宿主 /permission 命令上的选择器通过一张扁平预设列表切换当前会话,并标记 active 值。Kebab-case 名称渲染为 Title Case 标签,danger-full-access 显示为 Full access。选择完全权限时,该行或选择器写入前必须先显式确认风险。两个表面读取同一份宿主计算的投影、经同一条路径写入,因此推送的投影帧是两者共同跟随的唯一确认。
目录
使用本包
与设置与命令包一起挂载本插件;权限行随即出现在通用设置中,/permission 选择器替换裸命令调用。当前会话选择器恰在投影 key 存在时可用;无权限组合既不显示选择器,也不显示设置行。
选择器
选中即提交 /permission <preset> 命令行。带参路径(直接键入 /permission <preset>)仍直接切换;装饰只替换裸调用。未知 kebab-case 预设名渲染为 Title Case 标签,custom 只是显示状态,绝非目标。
设置行
该行从宿主动态的 defaultPreset enum 推导选项,写入一条设置变更操作。该值只在之后创建会话时生效;改变它绝不会切换或改写当前会话。
理解实现
实现细节——点击展开
通用行经 ctx.settingsScope 读取显式暴露的 permission Settings 描述符,并携带描述符 revision 写入一条 settings.mutate 路径操作;其 observable 经槽位系统的 hooks 格传递,因此 React 钩子绑定归渲染器,推送失效通知会重新获取描述符。该值只在之后创建会话时读取。当前会话表面是挂在宿主 /permission 命令上的 popupSelect 装饰(ctx.commandUi.decorate):宿主命令保留斜杠菜单行、带参路径与持久生命周期记账,装饰只把裸调用替换为选择器。选项与 active 标记读取会话的 permissions 投影——与 composer chip 渲染的同一份宿主计算 select。完全权限选项携带 confirmation 载荷,由共享弹窗外壳渲染为页内风险门。
进一步探索
当权限面不够用时阅读以下页面。它们从浏览器表面进入宿主策略与命令外壳。
- dsh-permission-presets——这些表面写入的宿主侧权限预设策略。
- ui-commands——
/permission装饰注册进的 popupSelect 外壳。 - ui-conversation——渲染同一份权限投影的 composer chip。
- 客户端包映射——相邻的浏览器 UI 包。
模型体验
间接影响。它的两个表面写入权限事实:设置行使未来会话带着全量值旋钮事件启动,而 /permission 选择器切换当前会话时追加相同的事实;这些事件决定后续工具调用解析到的沙箱模式与审批策略。
KV Cache 影响
无直接失效;请求前缀的变化由旋钮消费方自行承担。
已知限制与延期工作
这些限制界定了当前权限表面。它们是当前包约束,不是通用策略对比或任务积压。
- 设置行仅限 Web——非 Web 客户端仍可经
/permission切换当前会话,但不会获得这项浏览器贡献。 - 预设描述来自宿主——本地化的内置标签旁边可能显示另一种语言编写的描述。
开发备注
维护者的工作上下文——点击展开
无。