一句话让 Hermes 帮你把桌面工作区摆好:apply_layout 工具上手


每天开工,你都得手动做同一套动作:打开终端、拖到屏幕左边,打开编辑器、拖到右边,浏览器缩到角落……十分钟后终于摆好,你感叹“要是说句话就能摆好该多好”。现在,这句话真的能说了。

Hermes 桌面端新增了 apply_layout 工具:你直接说“给我一个写代码的专注视图”,agent 就会调用这个工具,把你的桌面窗口按预设布局重新排好。

它是怎么工作的

apply_layout 属于 desktop_ui 工具集(和之前的 focus_pane 同一套),只在桌面版会话中启用。agent 调用它时只传一个参数——布局预设的 id:

apply_layout(preset="focus")

桌面端收到后,会通过已有的 desktop_ui 通道发出 layout.apply 事件,渲染层在布局注册表里找到这个预设(内置预设、插件预设、你自己保存的预设都在同一张表里),然后走和布局选择器完全相同的代码路径把窗口排好。

内置四种预设

  • default:聊天 + 侧边栏的默认布局;
  • focus:只保留聊天窗口的专注视图;
  • terminal-deck:把终端放到最前面;
  • quad:四宫格布局,同时看多个面板。

插件和用户保存的自定义布局也可以用它们自己的 id 直接调用——不需要新的注册表或新的通道,一个字符串就够了。

怎么说,它才会照做

把它当成一个自然的指令就行,agent 会自己判断什么时候调用:

  • “set me up for a code review” → apply_layout("quad")
  • “给我一个写代码的专注视图” → apply_layout("focus")
  • “把终端放到前面来” → apply_layout("terminal-deck")

如果 agent 拿到了一个它不认识的预设 id,桌面端不会直接报错——它会返回当前可用的预设 id 列表,agent 自己修正后重试,不需要你再动手。

安全边界:后台不会乱动你的桌面

只有“当前激活会话”里的 agent 能调用 apply_layout。后台运行中的 turn 永远不会去重排你的窗口——你不会出现“我让它跑个定时任务,回来发现桌面被摆成了四宫格”的惊吓。

和 focus_pane 的区别

focus_pane 只把某一个面板提到前面(比如“把终端显示出来”),不改变整体布局;apply_layout 则是整个工作区的重排。想微调用 focus_pane,想切换工作模式用 apply_layout

小结

apply_layout 把“摆桌面”从一长串手动点击变成了一句话。目前该功能已合入主分支,尚未随正式版本发布(截至 2026-08-20,最新版本仍是 v0.20.4),使用 Hermes 桌面版的朋友可以等下一个版本,或者直接跟主分支体验。

对桌面端的其他玩法感兴趣?可以看看我们之前写的桌面端的文档预览与阅读体验桌面技能中心,以及 v0.20.4 玻璃质感界面的发布说明。想体验全部功能,先看安装指南