远程工作区 — 从浏览器在你的机器上运行 AI 代理
你在 Web 界面写好任务描述,点击一个按钮。三十秒后,你笔记本上的 AI 代理已经在读取任务、编写代码、运行测试,并把进度备注实时回传到同一个任务页面——而你只需要在浏览器里看着就好。
这就是远程工作区。它在云端任务管理器和本地开发环境之间架起了一座桥梁,让 UnDercontrol 成为 AI 编程代理的远程控制器。
问题所在
大多数任务管理工具完全运行在浏览器里,而你的代码在本地机器上。当你想让 AI 代理帮忙处理某件事时,你得切换到终端、粘贴上下文、盯着过程、最后手动更新任务状态。任务追踪器和执行环境是两个完全割裂的世界。
远程工作区消除了这个距离。你的任务描述变成了可执行指令,你的浏览器变成了控制面板,你的机器负责执行。
工作原理
架构由四个部分组成:

1. Electron 桌面应用 — 运行在你的机器上,充当守护进程。当你在工作区页面注册设备时,应用通过 Server-Sent Events(SSE)连接到 UnDercontrol 服务器,等待接收指令。
2. 服务器 — 在 Web 界面和守护进程之间中转命令,持久化会话状态、备注和状态更新。
3. 守护进程核心 — Electron 渲染进程中的"大脑"。它持有认证令牌,管理 SSE 连接,驱动所有 API 调用。当工作区会话启动时,它将初始化事件转发给 Electron 主进程。
4. AI 代理 — 由 Electron 主进程在伪终端中生成的编程工具(如 Claude Code)。它读取任务、完成工作,并通过任务备注报告进度。
设置步骤
打开 UnDercontrol 桌面应用,导航到工作区页面,点击注册此设备——应用会自动检测你的机器名称和平台。就这么简单。你的机器现在是一个守护进程,已连接并准备就绪。
Electron 应用在后台处理一切:守护进程注册、SSE 连接、心跳和重连。不需要任何终端命令。
要让 AI 代理工作,你需要在机器上安装 Claude Code:
npm install -g @anthropic-ai/claude-code
触发会话
设备注册并上线后,在 Web 界面(或桌面应用本身)打开任意任务,点击操作栏中的地球图标。你会看到已连接的守护进程列表——选择一个,会话即刻开始。

守护进程收到初始化事件后,Electron 主进程在 PTY 窗口中生成 AI 代理。接下来一切自动进行:
- 代理读取任务描述和备注
- 规划并执行工作
- 进度备注实时出现在任务页面上
- 完成后更新任务状态
实时观察
这是最让人满足的部分。当代理在你的机器上运行时,你在浏览器里实时看到它的进度。

备注随着代理的工作不断涌入:它在读什么、改了什么、提交了哪些文件。你得到了整个会话的运行日志,而完全不需要碰终端。
会话面板显示:
- 状态 — 运行中、规划中、等待输入、空闲或已停止
- 持续时间 — 会话已运行多长时间
- 守护进程信息 — 哪台机器在执行
- 备注流 — 代理的实时更新
交互控制
远程工作区不是「发射后不管」的模式。你可以在代理运行时与它交互:

- 发送指令 — 输入额外的上下文或在任务中途调整代理的方向
- 截图 — 捕获工作区的当前状态
- 中断 — 发送 Ctrl+C 信号暂停执行
- 停止 — 完全结束会话
还有一个提示词系统。把常用的指令保存为模板,一键应用。如果你在 UnDercontrol 中设置了技能(Skills),也可以引用它们——把技能内容直接传递给代理。
工作区仪表盘
工作区页面提供所有活动会话和已连接守护进程的全局视图。

每个会话卡片显示它正在处理的任务、哪个守护进程在运行、已运行多长时间以及最新的备注。守护进程列出了在线/离线状态、机器名称、平台和共享权限。
你可以直接在这个页面注册设备——一键上线。
安全机制
远程运行 AI 代理自然会引发安全顾虑。远程工作区通过分层黑名单系统来应对:
内置保护:
bash、sh、zsh等工具被禁止作为实现工具——代理通过受控接口运行,而不是原始 shell- 破坏性命令(
rm -rf、mkfs、dd)在守护进程层被阻止
自定义配置: 在 ~/.config/ud/workspace-blacklist.yml 放置 YAML 文件来定义你自己的规则:
blocked_tools:
- bash
- sh
allowed_tools:
- claude
blocked_commands:
- "rm -rf"
- "mkfs"
守护进程还需要正确的身份验证——Electron 应用使用你已登录的会话令牌,没有你的凭据就无法进行未授权访问。
共享守护进程
在团队场景中,你可以将守护进程共享给你的组。设置共享权限后,团队成员可以在你的机器上触发工作区会话——这对共享构建服务器或专用 CI 机器很有用。
共享通过守护进程的权限控制:只读权限让其他人查看守护进程状态,读写权限则允许他们发起会话。
为什么这很重要
大多数开发者工具将任务管理和代码执行视为独立的事情。你在一个应用里计划,在另一个应用里执行,然后通过复制粘贴和上下文切换来手动弥合差距。
远程工作区将它们合并。你的任务描述就是指令。你的浏览器就是控制面板。工作在你的机器上发生,使用你的工具,在你的环境中——你只是不需要在终端里才能启动它。

对于个人开发者,这意味着更少的上下文切换。写任务、触发代理、审查输出——全在同一个界面。对于团队,这意味着一个共享的工作队列,机器可以接手并执行,同时对正在发生的事情具有完全的可见性。
架构还意味着你不会被锁定在任何特定的 AI 工具上。今天它与 Claude Code 配合使用;明天它可以与任何在终端中运行的代理配合。协议很简单:接收任务、完成工作、报告进度。
开始使用
- 下载 UnDercontrol 桌面应用
- 安装 Claude Code:
npm install -g @anthropic-ai/claude-code - 打开工作区页面,点击注册此设备
- 打开任意任务,点击地球图标,选择你的守护进程
查看文档了解完整的设置指南,包括安全配置和故障排查。