概览
dsh-computer-use
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **文本模型看不见像素。** 它只能靠 `uiSummary` 大纲、`ui_element` path 和窗口元数据工作。凡是画在画布上的东西(游戏、图像编辑器、自绘界面),对它基本等于不可见。 - **DPI 与多显示器。** 宿主是 per-monitor DPI aware 的,坐标一律走虚拟屏幕物理像素,所以映射是对的;但:overlay 是围着整个虚拟屏幕画一圈,而不是每个显示器各一圈;`screenshot` 一次只抓一个显示器或一个矩形;把窗口在不同缩放比的显示器之间搬动后,上一次的 `lastView` 就失效了 —— 重新截图。 - **提权。** 普通完整性级别的 agent 驱动不了提权窗口,表现是"点穿了"或者点了没反应。同理,overlay 在 UAC 安全桌面上不可见。 - **独占全屏内容**(DirectX exclusive fullscreen、部分带反作弊的游戏)会盖住 overlay,也可能吞掉注入输入;Esc 急停是用户态轮询,同样可能被饿死。窗口化/无边框全屏正常。 - **每张截图都有往返成本与费用。** 一次抓屏 = 真 GDI 抓取 + JPEG 编码 + 附件落盘 + 上 wire 的 image token。本来就打算验证的动作请用 `observe: true`;控件有名字就优先 `ui_element`。 - **一个桌面,一个模型。** 每个插件实例一个 runtime、一个宿主进程;同 profile 里的并发会话共享它(也共享 `lastView`)。 - **剪贴板只支持纯文本。** 图片和文件列表既不读也不写。 - **`actionDelayMs` 只覆盖"落定等待"这一段。** 它是动作与 `observe` 截图之间的停顿,并不会让一个慢程序变快。 - **`resume` 是模型可以调用的动作。** Esc 之后,模型必须等人类明确要求才能 resume;实现里的 5 秒冷却只是减速带,不是保证 —— 它挡不住一个不听话的模型。要硬停就直接关掉 DSH 会话,或者停用插件(`- id: computer-use` 加 `disabled: true`)/卸载插件。 - **技能就是你磁盘上的纯 markdown,而模型可以自己写。** 这正是设计意图(一次成功的操作沉淀成配方),但也意味着错误或过度泛化的经验会被写进去、然后在之后的活儿里被默默套用。用户层只是 `$DSH_HOME\computer-use-skills` 下的文件:删掉某个文件,或者调 `app_skill` 的 `remove`,内置技能(或之前的行为)就回来了。
