GitHub - dcouple/Pane: 终端优先的开源AI代理管理器,支持任意CLI代理
GitHub - dcouple/Pane: 终端优先的开源AI代理管理器,支持任意CLI代理
在桌面或手机上运行任何编码代理,支持任意操作系统。只有终端,没有抽象。

快速安装(推荐)
Mac / Linux
curl -fsSL https://runpane.com/install.sh | sh
Windows(PowerShell)
irm https://runpane.com/install.ps1 | iex
绕过macOS Gatekeeper / Windows SmartScreen对直接下载的提示。
或直接下载安装程序
其他安装方式:npx, pnpm, 和 pipx
# 通过npm引导式安装
npx --yes runpane@latest
# pnpm单次运行
pnpm dlx runpane@latest
# Python工具单次运行
pipx run runpane
# 持久化npm安装
npm i -g runpane
runpane setup
安装 · 飞一般的感觉 · Remote Pane · 代理可操作的CLI · 键盘快捷键 · 从源码构建
不是IDE,不是终端模拟器。Vim for agent management(代理管理的Vim)。
Pane管理AI编码代理(AI coding agents),而不替代它们。只要在终端中运行,就能在Pane中立即运行——零集成。Claude Code、Codex、Aider、Goose,或任何CLI工具。无需插件,无需SDK,无需等待支持。
AI编码代理非常出色。Claude Code可以自主工作数小时。Codex可以端到端交付功能。Aider可以重构整个模块。模型本身并非瓶颈。
与它们交互的方式才是。
目前管理AI代理的感觉就像用对讲机做空中交通管制。你疲于应付终端窗口。在标签页之间复制粘贴。搞不清哪个代理在哪个分支上。在差异查看器、终端、Git客户端和编辑器之间切换。代理很快——但你的工具让你变慢。
还有git工作树(git worktrees)。大家都同意工作树是运行并行代理的正确方式——隔离分支、无冲突、干净分离。但实际使用呢?苦不堪言。
git worktree add、git worktree remove、记住路径、追踪哪个工作树在哪个分支上、清理过时的、变基回主分支、合并前压缩提交。即使是经验丰富的开发者也会搞错工作流。基础设施很强大,但用户体验很糟糕。
Pane让工作树变得透明。你创建一个会话,Pane创建工作树。你删除一个会话,Pane清理它。你按下快捷键,Pane从主分支变基。你再也不用输入git worktree了。隔离的所有好处,毫无痛苦。
每一点都是小事情。加起来就迅速放大。
| 特性 | Remote Pane |
|---|---|
| 在自托管的远程机器上运行窗格(panes)、工作树、终端、文件、Git状态和批准提示,同时通过桌面Pane或浏览器应用(设置)进行控制。 |
runpane agent-context、runpane repos add、和runpane panes create——让编码代理能够发现Pane的命令模式、注册仓库、并为问题或任务打开后续窗格。契约
- 在任何终端中输入
@即可从另一个窗格的终端中拉取最近500行到你的上下文中,无需复制粘贴。

Ctrl+Alt+[键]立即粘贴任何已保存的文本片段,让你最常用的提示永远一键可达。






- 根项目中的
.env文件和密钥(secrets),让你的工作树在创建时即可运行。
Remote Pane
在虚拟机、WSL盒子、家庭服务器、桌面、Mac mini或云机器上运行代理,同时在笔记本或手机上保留Pane UI。Remote Pane是自托管且开源的:宿主机运行仓库、终端、Git状态、文件、代理凭证和计算;客户端只需用pane-remote://...代码连接。
最简单的设置路径在应用中:
- 在应托管项目和代理的机器上正常安装Pane。
- 在该宿主机上打开设置 > Remote Pane。
- 将其设置为远程主机,并复制生成的
pane-remote://...连接代码。 - 在另一台桌面上,打开Pane,进入设置 > Remote Pane,粘贴代码并连接。
- 在手机或平板上,打开runpane.com/app,粘贴相同代码并连接。
对于无头虚拟机或服务器,使用runpane:
npx:
npx --yes runpane@latest install daemon --label "My Server"
pnpm:
pnpm dlx runpane@latest install daemon --label "My Server"
Python工具:
pipx run runpane install daemon --label "My Server"
使用SSH而非Tailscale:
npx --yes runpane@latest install daemon --label "My Server" --prefer-tunnel ssh
托管的shell安装脚本仍然可用:
curl -fsSL https://runpane.com/install-remote.sh | sh -s -- --label "My Server"
Windows PowerShell:
& ([scriptblock]::Create((irm https://runpane.com/install-remote.ps1))) -Label "My Server"
CLI设置命令会打印相同的连接代码,以及在SSH模式下的转发命令。详见远程守护进程文档,了解完整的分步设置、手机安装说明、API密钥注意事项和安全模型。
代理可操作的CLI
Pane不仅是代理运行的地方。它暴露了一个稳定的runpane CLI契约,代理可以使用它来管理工作空间。
例如,你可以让代理为一组GitHub issues创建窗格,并在每个窗格中启动Codex、Claude Code或任何终端命令。代理可以检查可用的Pane命令,根据需要注册当前仓库,并创建带有初始指令的窗格:
runpane agent-context
runpane repos list --json
runpane repos add --path /path/to/repo --yes --json
runpane panes create --repo active --name issue-252 --agent codex --prompt "启动issue 252的讨论技能" --yes
runpane agent-context默认是令牌高效的(token-efficient),只打印命令名称、参数和安全使用说明。代理可以使用runpane agent-context --command "panes create" --json懒加载(lazy-load)特定命令的完整详情。
Pane还可以在已保存的仓库中管理一个简短的AGENTS.md块,这样代理CLI就知道开发者正在使用Pane,并且可以发现CLI契约,而不会膨胀其上下文。
参见Runpane CLI契约了解完整模式和自动化示例。
两个原语(primitives):窗格(panes)和标签(tabs)。每个功能一个窗格,每个窗格一个工作树。在每个窗格内部……(文章继续)