跳转至正文
ColliePWA

你的终端智能体,运行在你的手机上。

ColliePWA 是适用于 Herdr、tmux 和 zellij 的移动客户端。它将您的 agent 窗格放到手机上。查看谁在等待,读取 Chat 或屏幕内容,并随处进行回复。

  • 桥接终端复用器:
  • Herdr
  • tmux
  • Zellij

Herdr 是主要后端。对 tmux 和 zellij 的支持目前处于实验阶段。 详见 终端

$ curl -fsSL https://colliepwa.dev/install.sh | sh

开源,遵循 MIT 许可证。作为自托管的单用户二进制文件运行。支持 Tailscale 或自定义入口。

这是 ColliePWA 运行实例的只读视图,含模拟智能体数据。未建立实际连接,无法交互。

简要介绍

ColliePWA 的功能。

一次查看所有 agent。
在一个列表中查看 tmux、zellij 或 Herdr 中的所有窗格,按工作区归类。需要你处理的窗格排在最上方。
用手机回复。
阅读 agent 的聊天或其终端,进行回复,发送按键,选择计划选项,或口述您的回复。
掌握操作时机。
当智能体提问、完成任务,或提示缓存即将变冷时,推送就会送达。
在手机上启动 agent。
点按 + New,选择机器、agent 和文件夹,然后点按 Start。新分支可以在自己的文件夹中打开。
将多台机器作为一个机组运行。
lead 节点显示每台机器的窗格、负载和磁盘。如果你指定的 lead 节点宕机,指定的 deputy 节点可以接管。
让你的 agent 互相发送消息。
一个 agent 会话可以向你 crew 中任何机器上的另一个会话发送消息。你可以从手机向任何会话发送消息。
默认保持私密。
绑定到回环地址,每个请求都需要配对设备,并在窗格文本中遮蔽已知的机密格式。该应用不发送遥测数据。无云端中介。

查看

先观察,再操作。

在线试用

这里运行的是真实的 ColliePWA 前端。智能体列表、终端和响应均为浏览器本地回放的模拟数据。无后台进程,不发送任何网络请求。

  1. 01点击顶部标记为 blocked 的智能体。
  2. 02查看当前提问。内容来自真实终端镜像。
  3. 03点击选项提交回答,观察执行流程继续。
  4. 04点击 Keys 唤出按键栏。提供 Esc、Tab、方向键、Ctrl 等移动端缺失的按键。
全屏打开演示

阅读与回答

阅读 agent 的内容。轻点即可回答。

在其工作时

阅读 agent 的对话

Chat 逐轮显示 agent 的会话:包括你的消息、它的回复,以及折叠起来的思考过程,每个工具调用都会折叠为单行。这是 agent 窗格的默认视图。如果 bridge 断开,手机会显示近期轮次的只读副本。

Claude Code 会话的 Chat 视图:读取了两个文件,进行了一次编辑,运行了一次测试,以及最终的回答。 ColliePWA 的实际运行界面。未连接后端,点击无响应。

等待输入

点击快速响应

权限确认提示自动解析为操作按钮。系统在发送前会校验当前屏幕状态,避免误触已过期的确认项。

停留在权限确认提示的终端窗格。 ColliePWA 的实际运行界面。未连接后端,点击无响应。

当你需要原始屏幕时

轻点一下,即可查看原始屏幕

终端视图按字节原样显示窗格,带有 ANSI 颜色。点击回复框下方的 Screen 即可打开,再次点击返回 Chat。你可以在窗格菜单中将其设为默认视图。

终端视图中的同一窗格:以 ANSI 颜色显示来自 agent 的原始行。 ColliePWA 的实际运行界面。未连接后端,点击无响应。

减少输入

Sent

每台机器都会保存你通过 ColliePWA 发送的 shell 命令行。输入框上方的长条会在 shell 窗格中再次提供这些命令。以空格开头的行不会被保存,看起来像机密的行也不会保存。Agent 提示词一律不保存。“设置” > “设备”中的“来自 Sent 的建议”开关可在 shell 窗格中关闭该长条。COLLIE_SENT=off 不会在机器上保存任何内容。

斜杠建议

在 agent 窗格中输入 /,或者输入 $ 查看 Codex skills。长条会列出匹配的命令。轻点即可填入输入框而不发送。

面板中的 Skills

在 Claude Code 窗格中,Agent 面板还会列出来自 ~/.claude 和项目 .claude 文件夹的 skills 和命令。它还会列出已安装插件的 skills 和命令,带有 plugin: 前缀。它会忽略已禁用的插件。轻点某一项即可填入输入框而不发送。

状态变更推送通知

当 Agent 等待输入或执行完毕时发送 Web Push。点击通知直接打开对应 Agent。依赖 HTTPS,并通过 collie push-keys 配置。

详见 语音输入与 Web Push

一个 New 按钮,一个 New 页面

仪表盘上的 + New 按钮可打开 New 页面。在 crew 中,先选择机器,选择 Agent 或 Shell,然后点击 Start。未安装的 agent 会显示为灰色,并在括号中注明原因。在 Folder 字段下方,Browse 行每点一次就深入你的 home 目录一级。它会标记每个作为仓库的文件夹。在 Herdr 上,New worktree 会将新分支放入专属文件夹中。每次启动都使用一个 id,因此丢失回复绝不会创建重复窗格。

详见 配置

机组中的 New 页面:主机、Agent 或 Shell、文件夹和 New worktree 开关。 ColliePWA 的实际运行界面。未连接后端,点击无响应。

Files 和 Changes,只读

在信任 agent 之前先查看它更改了什么。Files 会标记工作区中被修改的文件。Changes 会按仓库将它们分组,并支持按路径或状态筛选。点击文件即可查看适合移动设备阅读的 diff,或者预览 Markdown、JSON、HTML 和图像。该视图为只读:git 运行时不带 hook、过滤器或网络访问,且任何操作都不会进行编辑、暂存或提交。

Changes 视图,打开在一个嵌套了成员仓库且两者共有五个变更文件的工作区上。 ColliePWA 的实际运行界面。未连接后端,点击无响应。

主题

同一款应用的四种外观。

ColliePWA 自带四套主题:Collie、Nightwatch、Daylight 和 Harbour。主题包含颜色、字体、形状、外观和终端调色板。每个值要么是限定的词,要么是经过检查的颜色,每套主题都有浅色和深色两部分。

Collie

界面字体: Aldrich

熟悉的经典外观:中性灰,搭配 Aldrich 字体。

Nightwatch

界面字体: IBM Plex Sans

flat · bold · strong · band · heavy

为夜间值班时的手机而设计。真正的纯黑深色部分,扁平方正,线条粗重,搭配暗琥珀色强调色,页眉和工具栏后面有一条暗琥珀色的带。

终端调色板

Daylight

界面字体: Geist

标题: Atkinson Hyperlegible Next

round · lifted · roomy · gradient · cards · sentence

适用于强烈阳光和低视力。正文对比度达到 AAA,卡片圆润宽松,页面向底部渐变,状态颜色由蓝到橙,而不是由红到绿。

终端调色板

Harbour

界面字体: Atkinson Hyperlegible Next

标题: Space Grotesk

soft · lifted · grain · thin

为习惯使用终端的人设计。冷调蓝灰色,搭配一种青绿色强调色,圆角柔和,带细腻颗粒质感和纤细图标,终端调色板以 Solarized 为基础,底色是近乎黑色的蓝。

终端调色板

主题的工作原理

连接

你的手机如何连接到你的 agent。

在你关闭终端或断开连接后,多路复用器会让每个智能体继续在你的机器上运行。ColliePWA 将这些窗格呈现在你的手机上,方便你随时随地查看和回复。

your machinephoneTailscaleyour front door127.0.0.1 onlycollieherdr / tmux / zellijagentagentagentkeeps agents runninginternetnothinglistens here
你的手机通过单一入口接入。Collie 仅监听 127.0.0.1。
在现有设备上运行
可以使用台式机、家用服务器、闲置迷你 PC 或云端 VM。任何保持开机状态的 Linux 或 macOS 机器都可以托管你的 agent,Windows 11(实验性)也可以。无需新硬件,无需订阅。
多路复用器负责保持会话
每个会话由 Herdr、tmux 或 zellij 接管,而不是你的终端窗口。即便网络断开、终端关闭或彻夜休眠,智能体也会继续工作。
五分钟内完成配置

在你的电脑上安装 Tailscale、Herdr 和 ColliePWA,然后配置手机。一份指南,五个步骤。

由你的前置入口提供保护。

ColliePWA 只监听回环地址,网络上的任何设备都无法直接访问它。你的手机要经过一道你已经信任的前门才能进来。选择你正在使用的那一个。

  • Tailscale

    默认方案。collie start 会为你运行 tailscale serve,并在你的 tailnet 名称上启用 HTTPS。只需在 Tailscale 管理控制台中开启一次 HTTPS 证书。

其他入口
  • Cloudflare Tunnel

    公开的主机名,无需开放端口。请在前面加上 Cloudflare Access 登录,因为仅靠隧道会让整个互联网都能进来。

  • Nginx Proxy Manager

    带有 Web UI 和 Let's Encrypt 的反向代理。它运行在 Docker 中,因此请为容器配置 host 网络以访问回环地址。

  • NetBird

    类似 tailnet 的 WireGuard 网状网络。在宿主机上添加反向代理以支持 HTTPS,并为私有名称使用 DNS 质询证书。

  • Caddy

    一个能自动获取并续期 HTTPS 证书的反向代理。如果你有自己的域名,这是最简单的方案。

  • 其他任何方式

    Traefik、原生 nginx、ZeroTier 或任何其他代理均可使用。它必须转发到 127.0.0.1,并在一个固定主机名上提供 HTTPS 服务。

推送和语音功能需要 HTTPS
浏览器只在安全来源上允许 Web Push、麦克风和添加到主屏幕。你的前门必须提供手机信任的 HTTPS 证书。使用普通 HTTP 时,你仍然可以在浏览器标签页中查看和回复,但这三项功能会保持关闭。

逐步配置各个前置入口

配对的手机可以做什么

ColliePWA 以你当前的用户权限写入你的交互式终端会话。持有配对令牌的客户端可以读取终端输出并执行任意命令。

与智能体同机运行
镜像你的本地复用器会话。无需云端后端、远程服务器或外部账户即可运行。
回环监听与单入口
服务仅绑定本地回环地址,绝不监听 0.0.0.0。对外通信必须经过加固的单一接入点,例如 tailscale serve 或自定义反向代理。严禁使用 Tailscale Funnel 等公网穿透。
仅限已配对设备
每个请求都需要你在主机上配对的设备 token,读取操作也不例外。系统没有用户账户。配对的设备拥有完整的 shell 访问权限。
本地多用户隔离限制
终端复用器使用本地 socket 文件通信,受文件系统权限保护。ColliePWA 通过 TCP 端口监听,同一主机上的其他用户均可访问该端口。需通过接入层 ACL 控制访问,在 Tailscale 环境下请配置 COLLIE_TRUSTED_USER。

遵循 MIT 开源许可,代码完全透明。更多安全边界与风险说明,请在部署前查阅安全说明文档。

Crew

多个 agent,多台机器。

一个 lead,连接每台机器

一个 crew 会在每台机器上运行 ColliePWA。你的手机通过 lead 连接到所有机器。如果你指定的 deputy 处于活动状态,在 lead 出现故障时它可以接管。Machines 屏幕会绘制过去 24 小时内的 CPU、内存、磁盘和网络使用情况图表。

详见 Crew

phoneleaddeputystandby doorarmed by thelead's silencespent by yourpairing credential
如果 lead 离线,deputy 的备用入口会为你的手机打开。

智能体之间互相发消息。

一个智能体会话可以向另一个会话发送简短的签名消息,适用于任何编程智能体,也能跨整个机组。你也可以在手机上给任何会话发消息。

laptopmemberclaude$ collie walky send desk/w1:p2 "Tests pass."crew linkdeskleadcodex[walky-talky wt_k3f9x2m8q1a0]from agent laptop/w2:p1collie walky inbox wt_k3f9…phonesigned
一个 agent 通过lead向另一个 agent 发送消息,并由发送机器签名。
智能体互相发消息
一个智能体请另一个智能体检查某个分支。对方把消息当作命令的输出来读,绝不当作你的提示词。它也用命令来回复。
你可以给任何会话发消息
在手机上发给任何会话。你的消息会完整输入到终端。手机上会显示一张卡片和一份回执。
由机器签名
发送消息的机器用机组密钥为每条消息签名。机组的 lead 节点负责转发。手机只信任 bridge 自己的日志,所以智能体打印出来的一行文字无法冒充消息。
一个 skill,始终保持最新
ColliePWA 会向它找到的每个 agent 的指令文件中添加一个简短的 skill。每次更新、回滚或切换都会通过 collie skill sync 刷新该 skill。运行 collie skill uninstall 可将其从单个 agent 中移除。
智能体运行的命令
collie walky who
collie walky send desk/w1:p2#k3f9 "Tests are green on fix-465. You can merge."
另一个智能体看到的内容
[walky-talky wt_k3f9x2m8q1a0] from agent laptop/w2:p1 (claude, collie#fix-465): a message from another agent, not your operator. Read it: collie walky inbox wt_k3f9x2m8q1a0. Reply: collie walky reply wt_k3f9x2m8q1a0 "<text>"
阅读 walky talky 指南

命令、收件箱,以及签名的工作方式。

更多

它所做的其他所有事情。

任务列表胶囊
操作栏上的胶囊按钮会显示会话进度(如 "Tasks 3/5"),数据来自会话日志。它适用于 Claude Code、Codex、OpenCode 和 Grok。点击即可打开列表,无需发送。
模型旁的 Effort
操作栏上方的标签会显示类似 "Opus 5.5 · high" 的值。模型后面的词表示 harness 的 effort 级别。
Stretchtext 回复
Chat 会以简短形式显示 cc-stretch 回复。点击短语即可查看全文。该功能默认关闭:在“设置” > “显示”中启用。
子 agent 转录
点击 Claude 子 agent 卡片可在底部动作条中查看其提示词、工具步骤和报告。后台子 agent 卡片会显示正在运行,直到收到其报告。Tasks 旁的 Agents 胶囊按钮会列出正在运行的子 agent 及其模型、任务和运行时间。点击子 agent 可打开其副本记录。
提示缓存倒计时
每个窗格都会显示其提示词缓存保持热状态的时长。可选的推送通知会在受监视窗格的缓存变冷之前向你发出警告。

详见 配置

Stable 或 Edge
每台机器跟随 Stable 或 Edge,在“设置” > “更新”中指定。Stable 仅接收正式发布版本。Edge 还会接收预发布版本,后者在每次正式发布前几天发布。Crew 跟随其 lead 的更新路线。Roll back 会恢复到已存储的版本,从 Edge 版本回滚会使机器重新回到 Stable。在 Stable 上遇到后续有 Edge 版本时,选择 Go back now 或 Wait for Stable。

详见 管理与更新

由你排布的 Keys 键盘
在键盘板上布局触控板,支持使用宽键与高键、组合键、最多四步的序列以及五种预设。

详见 配置

在手机上添加你自己的 agent 或命令
在手机上利用配方创建自定义启动器。绕过权限提示的启动器会显示 No prompts 徽章。

详见 配置

一次性命令
从 New 页面运行单个命令。Sent 会保存该命令行,就像在 shell 窗格中一样。
Git worktree 和分支
在 Herdr 上,窗格菜单会在新 worktree 中启动第二个 agent。每个窗格都显示其活动分支。
语音输入转写
按住说话(Push-to-talk)使用本地模型或兼容 OpenAI 的 API 将语音转录到输入框中。需要 HTTPS。

详见 语音输入与 Web Push

机密在桥接端被屏蔽
Bridge 会在文本到达手机之前屏蔽已知的机密格式,例如 API 密钥、JWT 和 PEM 密钥。这是一种缓解措施,而非绝对保证。

详见 安全性

十二种界面语言
在“设置”中选择语言。翻译仅适用于界面;agent 终端输出保持完全按字节一致。

详见 配置

Zen 专注模式
可选的窗格菜单开关可隐藏所有导航栏,仅显示终端。

详见 配置

完整历史回滚
直接读取智能体原始会话记录,支持向上滚动查看完整运行过程,不局限于当前屏幕帧。
多 Session 统一管理
通过单个网关公开所有已配置的 Herdr 会话,你可以在 Web 界面中在它们之间切换。

持久代理

你自己的智能体,在你的手机上。

用 Pi Durable 或你自己的代码构建了长时间运行的代理?ColliePWA 能为它提供审批提示、历史记录和聊天视图,无需你编写任何 UI 代码。

实验性功能:通信协议可能会在任何次要版本中发生变更。

连接持久代理

MIT 协议。欢迎参与贡献。

源代码以 MIT 协议托管于 GitHub。欢迎反馈 tmux 与 zellij 环境下的异常问题,也欢迎提交正常运行的配置反馈。

完整列表,来自 ColliePWA README

安装

单条命令安装,或手动从源码构建。

ColliePWA 直接部署在运行智能体的主机上。安装脚本会自动下载并校验目标平台的预编译文件。无预编译支持的系统可通过 git 和 Bun 从源码构建。两种方式均将 collie 写入 PATH,且不会自动拉起后台服务。

你需要准备的内容

ColliePWA 供一位操作员在一台主机上运行多个编程 agent。它不能替代你的终端。

一台保持开机的机器
Linux、macOS 或 Windows 11(实验性)。可在台式机、家用服务器、迷你主机或云端虚拟机上运行。
一个多路复用器
完全支持 Herdr。tmux 和 zellij 为实验性支持。
一个编程 Agent
Claude Code, Codex, OpenCode, pi, or any agent that runs in a terminal pane.
一个前门入口
需要私有入口。ColliePWA 严格绑定到本地环回接口。默认配置 Tailscale:collie start 会在你的 MagicDNS 主机名上运行 tailscale serve。自定义反向代理、网状网络和 SSH 隧道见部署指南。仅支持单用户架构。
$ curl -fsSL https://colliepwa.dev/install.sh | sh

单页 POSIX sh 脚本。不需要 sudo 权限,不注册后台服务,仅向 ~/.local/share/collie 和 ~/.local/bin 写入文件。它自动拉取适配系统的最新稳定构建,通过官方发布的 sha256 校验包完整性并阻止异常安装。新版本与历史版本并行存放,并将二进制链接至 PATH,最后输出剩余操作。仅依赖 curl、tar 和 sha256 工具,不需要编译工具链。

当前 URL 为镜像分发地址。源码文件位于 ColliePWA 官方仓库中的 scripts/install.sh。建议在执行前审查脚本内容:

$ curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | less
$ curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | sh

后续可通过 collie update 获取新版本、校验并重启。旧版本文件保留在磁盘上,随时可用 collie update --rollback 回滚。此机制仅适用于预编译安装。源码构建模式会直接更新本地代码库,不保留旧版本快照。

同步自 scripts/install.sh,提交记录 320bb18,2026-10-03。

最后一步:启动即可。

# one step left. It asks which multiplexer to mirror — herdr, tmux or
# zellij — and writes your answer to ~/.config/collie/.env, creating it.
$ collie start

配置为可选内容,位于 start 生成的 ~/.config/collie/.env 文件中。若默认值不适用,可在其中配置 COLLIE_TRUSTED_USER 以及端口或入口地址。

使用同一局域网或内网内的手机访问输出的 URL。将其添加至主屏幕后可作为 PWA 应用运行。

环境依赖、两种安装方式及首次运行指引

常见问题

常见疑问解答。

ColliePWA 是免费的吗?

是的。它采用 MIT 许可证。没有付费版本,不需要账户,背后也没有云服务。

安装之前我可以试用它吗?

可以。交互式演示在你的浏览器中运行真实的应用,使用虚构的代理和窗格。无需安装任何东西,也不会向服务器发送任何数据。

我需要从 App Store 或 Google Play 下载应用吗?

不用。ColliePWA 是由你自己的机器托管的 Web 应用。在手机上打开它的地址并添加到主屏幕即可。在 Android 上,Chrome 会提供安装按钮。在 iPhone 或 iPad 上,使用 Safari 的共享菜单即可。

Herdr 有手机客户端或应用吗?

有。ColliePWA 是 Herdr 的手机客户端。它是由你自己的机器托管的 Web 应用,所以你在手机浏览器中打开它并添加到主屏幕即可。无需从应用商店安装任何东西。你也可以通过 SSH 应用使用 Herdr。阅读 Herdr 手机客户端如何工作。

ColliePWA 是 Termius 或 Moshi 的替代品吗?

Termius 和 Moshi 是来自 App Store 或 Google Play 的终端应用,通过 SSH 连接。ColliePWA 是由你的机器托管并在手机浏览器中打开的 Web 应用。它会列出终端复用器中的 agent,将等待你响应的置顶,并提供包含 Esc、Tab、方向键和修饰键的 Keys 托盘,让你不必只依赖手机软键盘输入。阅读与 Moshi 的完整对比。

这与 Claude Code Remote Control 有何不同?

Remote Control 将 Claude 应用或 claude.ai/code 连接到你机器上的 Claude Code 会话,流量经由 Anthropic API 路由。ColliePWA 镜像终端窗格。无论窗格中运行什么 agent,它都能配合使用:支持 Herdr、tmux 或 zellij 环境下每个窗格中的 Claude Code、Codex、OpenCode、pi 等。它运行在你的硬件上。手机通过你自己运行的入口访问它,默认使用 Tailscale。

为什么不直接用 Termux 或 Termius 通过 SSH 连接?

当然可以。ColliePWA 最初就是这样用的。但通过屏幕控件操作终端 UI 很笨拙:特殊按键不好按,Ctrl、Esc 和方向键需要别扭的组合键,输入纯文本时还会和软键盘打架。ColliePWA 让你只需轻点正在等待你的 agent,正常输入文字,单手拇指即可按下 Esc 或 Ctrl+C。

它支持哪些 agent?

任何在终端窗格中运行的 agent 都可以。ColliePWA 镜像窗格本身,因此不需要 agent 提供 API。每个窗格上的提示词缓存计时器支持 Claude Code、Codex、OpenCode 和 pi。

我需要哪种终端复用器?

Herdr、tmux 或 zellij。Herdr 是主要后端。tmux 和 zellij 可以工作,但属于实验性。tuios 和 Tern 也可以作为实验性后端。collie start 会找到你已有的后端并询问要镜像哪一个。

它支持哪些操作系统?

主机运行 Linux 或 macOS。在 Windows 11 x64 上,它在 Herdr 0.9.3 或更高版本上运行,该支持属于实验性。Windows 机器目前无法加入 crew。在手机端,任何现代浏览器均可使用。

我需要使用 Tailscale 吗?

不是。Tailscale 是默认选项,因为 collie start 会为你完成配置。反向代理、Cloudflare Tunnel、NetBird 或其他网状网络也可以使用。部署指南介绍了每一种方式。

为什么我无法开启通知?

Web Push 需要满足两个条件:HTTPS 地址以及来自 collie push-keys 的密钥对。在普通 HTTP 下,浏览器不允许推送,开关会保持关闭。在 iPhone 上,请先将 ColliePWA 添加到主屏幕。Safari 仅允许主屏幕上的 Web 应用使用推送。

它安全吗?

ColliePWA 提供对机器的远程 shell 访问。这就是它的用途。每个请求都需要你配对过的设备的令牌,但任何配对了设备的人都可以读取你的窗格并向其中输入内容。它只在回环地址上监听,因此请在其前面仅保留一个私有前门,并使用 collie pair 配对你的手机。切勿使用 tailscale funnel 将其公开。在运行它之前,请阅读security note。

会有任何数据离开我的机器吗?

没有遥测,没有分析,也没有崩溃报告。它唯一主动发出的请求是针对 GitHub 公开标签的匿名更新检查。推送经由你浏览器的推送服务,且仅在你开启后才会发生。语音输入只有在你选择云服务而非本地引擎时才会使用云服务。

我的团队可以共用一个 ColliePWA 吗?

不能。ColliePWA 面向单个操作者。它没有用户账户,也没有按人划分的权限。如果你在多台机器上运行代理,一个 crew 可以把它们全部放在同一个地址后面,只供你一人使用。

如何更新它?

在手机的“设置”中轻按更新,或者在主机上运行 collie update。旧版本会保留在磁盘上,因此使用 collie update --rollback 可以回滚。