Files
deepseek-harness/packages/client/ui-permission-presets/README.zh.md
T

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 载荷,由共享弹窗外壳渲染为页内风险门。


进一步探索

当权限面不够用时阅读以下页面。它们从浏览器表面进入宿主策略与命令外壳。


模型体验

间接影响。它的两个表面写入权限事实:设置行使未来会话带着全量值旋钮事件启动,而 /permission 选择器切换当前会话时追加相同的事实;这些事件决定后续工具调用解析到的沙箱模式与审批策略。

KV Cache 影响

无直接失效;请求前缀的变化由旋钮消费方自行承担。

已知限制与延期工作

这些限制界定了当前权限表面。它们是当前包约束,不是通用策略对比或任务积压。

  • 设置行仅限 Web——非 Web 客户端仍可经 /permission 切换当前会话,但不会获得这项浏览器贡献。
  • 预设描述来自宿主——本地化的内置标签旁边可能显示另一种语言编写的描述。

开发备注

维护者的工作上下文——点击展开

无。