Skip to main content

托管代理不只是一个终端

一个托管代理组合了三种 identity:
  • provider conversation
  • Dure pane 与 agent record
  • Git worktree 与 branch
Hmux 持有 provider process 和 PTY,Dure 通过 versioned protocol 以客户端 身份连接。正是这个 process boundary,使关闭应用窗口不会终止托管的本地代理。

重新连接

Dure 重新连接时,host 会发送 canonical screen snapshot 以及之后的输出。 客户端不需要重放完整 terminal log 才能绘制当前画面。 带 generation fence 的 controller lease 决定哪个客户端可以输入。其他客户端 可以只读观察,而不会悄悄抢走当前 controller 的键盘控制权。

Worktree 所有权

每个 worktree 代理都有自己的工作目录和 branch。这样可以隔离 Git index 与文件修改,但不能隔离 port、process、credential 或 network 等操作系统资源。
Worktree 不是安全 sandbox。代理能够执行什么,仍由 provider 的批准设置和 当前用户账号的权限决定。

三种不同的恢复

托管 pane 与普通 pane

即使直接在普通 terminal 中运行 agent CLI,Dure 也会从真实 process tree 与 terminal 证据中自动识别 provider 及其活动。你可以像平时一样使用终端,无需先 添加或手动注册代理。 自动识别不等于托管转换。托管 provider session 可以通过添加代理流程启动, 也可以在已审查的 terminal 状态下使用显示的转换操作。由于转换必须保留准确的 provider conversation 与 pane identity,因此只会在安全边界执行。 在 SSH 项目中依赖同样的保证之前,请先阅读当前限制