﻿# AgentSeat 让 Agent 在 Hyprland 拥有自己的独立键鼠

> 给每个需要操作的 GUI 应用套上一层轻量微型合成器。Agent 有了自己的键鼠和焦点，人也能继续使用 Hyprland 电脑。

- Canonical: https://vimalinx.com/posts/agentseat%E8%AE%A9-agent-%E5%9C%A8-hyprland-%E6%8B%A5%E6%9C%89%E8%87%AA%E5%B7%B1%E7%9A%84%E7%8B%AC%E7%AB%8B%E9%94%AE%E9%BC%A0
- Published: 2026-08-31T20:00:00+08:00
- Updated: 2026-09-03T18:43:12+08:00
- Category: 开源项目
- Tags: AgentSeat, Hyprland, Wayland, 开源, VimalinxOS
- Reading time: 3 min read

---

Hyprland 好看又好用。我的日常是在主屏和副屏之间铺开一大堆工作区，再让一群 Agent 同时干活。

可一旦 Agent 需要操作 GUI，它就会抢鼠标、抢焦点，还会把人的工作区突然切走。谁懂刚准备起飞，眼前却被 Agent 切成满屏红色报错的感觉。

Hyprland 目前没有可以直接拿来用的多 seat 方案。既然等不到，那就换个思路。

> **多 seat 等不来，就不让 Agent 碰人的 seat。**

## 给每个应用一个独立工位

Wayland 的输入边界由合成器划定。每个需要被 Agent 操作的 GUI，都可以拥有一个自己的微型合成器。

- 外面仍是一个普通的 Hyprland 窗口，由人的桌面照常管理；
- 里面运行一个裁小的 Cage，只承载这一棵应用窗口；
- `agentseatd` 给 Agent 提供独立的虚拟鼠标、键盘、截图和控制接口；
- 人的真实指针、键盘、宿主焦点、工作区和剪贴板都不需要让路。

资本家终于给 AI 员工分配了独立工位。

Agent 在里面想怎么点就怎么点，不会跑来和我互相肘击。当我亲自点进 AgentSeat 窗口时，Agent 还会暂时让座。老板亲自下场，AI 自动暂停。

同一台电脑上终于有了一种自然的协作状态。我继续在 Codex 里写程序，另一个 Agent 在独立应用里完成 GUI 工作，双方都不需要控制整张桌面。

## 它具体隔离了什么

AgentSeat 围绕一款普通应用划出一条窄边界。它只管好这一席，不会再造一套桌面。

- Agent 的虚拟指针不会移动宿主桌面的真实指针；
- Agent 的应用内焦点不会切换人的 Hyprland 工作区；
- Unicode 输入通过私有的一次性剪贴板完成，不替换宿主剪贴板；
- 原生 Wayland 应用走默认通道，旧式 X11 软件可以进入私有 XWayland 通道；
- 控制端退出后，GUI 与私有 seat 仍可保持驻留，后续 Agent 能按稳定会话身份重新连接。

AgentSeat 隔离的范围很明确。它管的是**输入与焦点**。文件系统、进程和网络仍沿用本地用户的原有权限。应用必须由 AgentSeat 启动，已经存在的宿主窗口无法跨过 Wayland 合成器边界直接搬进去。

## 为什么要做得这么轻

每个 AgentSeat 外层都是普通 Hyprland 窗口，内部只放一个精简的单应用微型宿主和一个原生事件循环守护进程。没有嵌套 Hyprland、完整桌面环境、虚拟机，也不需要修改 Hyprland。

最初的实际测试里，每个 GUI 壳子的额外内存大约在 17 MB 左右。空闲应用不会为了“看起来一直活着”而持续轮询。只有场景确实请求下一帧时，按需帧时钟才继续推进。

应用保持原样，人继续使用熟悉的界面。Agent 只多了一个不会打扰人的操作席位。

朝着真正 AI Native 的操作系统进发。Linux 系统万岁。

项目源码 [GitHub · vimalinx/AgentSeat](https://github.com/vimalinx/AgentSeat)

本文原载于 [LINUX DO · AgentSeat 让 Agent 在 Hyprland 可以有自己的独立键鼠](https://linux.do/t/topic/2837374)
