# 桌面操控 (Desktop Control) bundle layer: register the desktop tools. # # 这里写的是**部署默认值**。在插件页里改的值会落到本插件自己的状态文件 # ($DSH_HOME/state/dsh-bundle-screen-view/settings.json),作为稀疏覆盖层, # 立即生效、无需重启。想改部署默认值,就改这里,然后重启 DSH。 - insert: - id: screen-view name: 'dsh-bundle-screen-view' config: # 总开关:关闭后一个工具都不注册(面板仍可打开)。 enabled: true # 只读组:window_list(列窗口)+ screenshot(截图)。 # 它们不会移动鼠标或按键,但会把屏幕内容交给模型 —— 涉密屏幕上建议关掉。 allowCapture: true # 输入组:window_activate / mouse_click / type_text / key / scroll。 # 这五个会**真的**移动光标、按键、打字。只想让智能体「看」就设为 false。 allowInput: true # 操作前征求同意(默认关闭)。 # # 关闭时:权限允许就直接执行,不弹窗 —— 与加这个功能之前的行为完全一致。 # 打开时:上面五个输入工具每次调用都先停下来问你一次,三选一: # 允许本次操作 / 允许本次会话所有操作 / 不允许 # 拿不到同意就不执行(fail closed):问不到人、答案认不出来,一律视为拒绝。 # # 这是本插件自己的闸门,走 ctx.userQuestions,与 DSH 的审批策略(ask / never)无关, # 所以即使会话策略是 never(审批弹窗被禁用)它照样能用。 # 会话级授权只放内存,不落盘:进程重启即失效。 confirmInput: false # 等待多少秒没人回答就按下面的策略处理。0 = 不超时,一直等你回答。 # # 注意这不是「工具超时」而是**闸门自己的等待窗口**:开着闸门时工具超时会被 # 自动设成「等待窗口 + 60 秒」,好让闸门自己先按配置下结论 —— # 否则工具先被掐断,「超时后放行」这个策略永远轮不到执行机会。 confirmTimeoutSeconds: 300 # 等待超时后是否放行。默认 false = 拒绝。 # # 设成 true 就意味着:**你不回话,智能体就自己动你的键鼠。** # 这是明显的 fail-open(fail open = 出问题时倾向于放行), # 只适合「我可能不在,但信得过它」的场景。面板上会为此给红底警告, # 并在状态区显示「已经因为超时放行了 N 次」—— 那是唯一的事后痕迹。 # 它只在 confirmTimeoutSeconds > 0 时有意义。 confirmAllowOnTimeout: false # 截图默认最大宽度(像素,320–8192);超出等比缩小。 # 模型仍可在单次调用里用 maxWidth 参数临时覆盖。 captureMaxWidth: 2560 # 图片引用 LRU 上限(4–512):render() 靠它把像素回传给模型。 # 太小会导致较早的截图无法回传给模型。 imageCacheSize: 64 # 排除的窗口标题(YAML 列表或逗号分隔字符串,大小写不敏感)。 # 命中的窗口不会出现在 window_list 里,也不能被截图或操作 —— # 用来挡住密码管理器、网银这类窗口。留空则不排除。 excludeWindowTitles: []