Polter

面向多 Agent 时代的新一代 Vibe Studio

The Next-Gen Vibe Studio for Multi-Agent Orchestration

告别单兵写代码与人肉切终端。一个 AI 总管统领全屏小队,持续交付不卡死。

Built on Ghostty. A local agentic workspace where one AI Supervisor directs an entire squad of coding agents across your screen.

73 秒演示视频:给你的 AI 找个总管。

The 80-second film: give your AI agents a supervisor.

痛点。

The problem.

难以管理

Hard to manage

中途停摆

Stopping halfway

卡在提示前发呆

Stuck waiting for input

同时开好几个 Claude Code 或 Codex 窗口,非常难以管理。

Running multiple Claude Code or Codex windows at the same time is hard to manage.

这些 AI“打工人”经常在长任务中途停摆。

Sub-agents often stop working halfway through a long task.

通宵干活,往往两三个小时后就卡在某个需要确认的提示前发呆。

An overnight job gets stuck after a few hours, waiting for input.

指定其中一个作为“总管”。

One agent acts as the Supervisor.

它可以是 Claude Code、Codex、OpenCode 或任意 AI CLI,Polter 赋予了它统领其他标签页的全局视角与调度工具。

It can be Claude Code, Codex, OpenCode, or any AI CLI — Polter equips it with full orchestration tools to govern peer tabs.

聪明的总管。

Smart Supervisor.

读屏幕

It reads the screen

替它们敲键盘

It types

新建标签页

It opens new tabs

发呆检测

Idle Detection

安全权限

Safe Permissions

总管可以读取任何标签页屏幕上的纯文本——是真正的文字,不是截图识别。

The supervisor agent can read the text on any tab — real text, not screenshots.

能在任意标签页里输入指令。

It types commands into any tab.

还能新建标签页启动新的打工人。

And it opens new tabs to start new agents.

Polter 会计算每个屏幕有多久没动静了,一旦卡死,立刻通报给总管。

Polter tracks how long each screen has been inactive and tells the supervisor if a worker is stuck.

worker 停在权限确认上,由总管处理:能判断的自己回答,判断不了的提到你面前并发系统通知。不想让它答,可以在那个标签页关掉(Agent → 允许总管在此回答提示)、把标签页护起来,或者对全部关掉(poltergeist-may-authorise = false)。

A worker stopped on a permission prompt is the supervisor's to deal with: it answers the ones it can judge and brings the rest to you, with a system notification. To say no, switch it off on that tab (Agents → Let a Supervisor Answer Prompts Here), shield the tab, or switch it off for all of them (poltergeist-may-authorise = false).

拉一个群聊、分发任务、接收工作汇报。

A group chat, assigned tasks, and reports.

团队管理:这个任务面板就算你重启终端也依然在。

Team Management: this task panel survives a terminal restart.

打开总控台的「群聊」页签(或运行 polter +chat)看它们的聊天记录。按 tab 或 shift+tab 可切换对话、任务看板和统计视图。

Open the control room's chat tab (or run polter +chat) to see what they discussed. Press tab or shift+tab to cycle views: the conversation, the task panel, and the night's stats.

tabshift+tab

角色与项目。

Roles & Projects.

角色 (Role)

Roles

把常用的 AI 启动参数(技能、提示词、模型)保存为“角色”。

Save your favorite agent settings (skills, prompts, models) as Roles.

技能Skills
提示词Prompts
模型Models

项目

Projects

通过“项目”功能可以保存当前所有的标签页、目录和历史记录,下次一键恢复(支持 macOS 和 Windows)。

Save your workspace (tabs, directories, history) as Projects and load them later (macOS and Windows only).

标签页Tabs
目录Directories
历史记录History

消息钩子 (Hooks)

Hooks

由角色启动的智能体(Claude Code、Codex、OpenCode、Antigravity)在一轮对话结束时,会主动告诉 Polter 它说了什么。总管直接收到通知,不必等待屏幕静止。

An agent started from a Role (Claude Code, Codex, OpenCode, Antigravity) tells Polter when its turn ends and what it said. The supervisor is notified directly, without waiting for a still screen.

全量资源监控 (New)

Resource Telemetry (New)

内置 resource_overview 引擎,毫秒级常驻监控 Polter 自身、各 Worker 进程、MCP 边车、Swap 交换分区与磁盘余量。

Built-in resource_overview engine continuously monitors Polter, worker processes, MCP sidecars, swap usage, and free disk headroom.

群组工作目录与文件浏览 (New)

Group Workdirs & File Browser (New)

核心层支持按群组终端聚合工作目录,识别工作树归属并浏览项目文本文件,带过宽路径保护。

The core aggregates working directories per group, tracking worktree associations and project files with excessive-path guards.

智能角色与 CLI 适配

Roles & CLI Adapters

开箱支持按角色精准关联指定 AI CLI(包括 OpenCode v1/v2、Codex、Claude Code、Antigravity),启动菜单自适应裁剪。

Bind specific agent CLIs to roles (including OpenCode v1/v2, Codex, Claude Code, Antigravity) with adaptive launch filtering.

统一设置

One Settings Window

角色、项目、插件和配置文件全部在一个设置窗口中集中管理。

Roles, projects, plugins, and configs are managed in one place (Settings…).

中英双语

Multilingual

菜单和窗口会自动跟随系统语言,也可以在 Language 中手动切换。

UI supports English and Chinese (follows your system setting or the Language menu).

专为 AI 设计的截图工具。

A screenshot tool built for AI.

Polter 内置的截图工具,最大的特点是标注是可读的数据。

Polter comes with a built-in screenshot tool specifically designed for AI workflows.

标注是可读的数据

Your annotations are readable data

每张图旁边都有一个 .json 文件,记录了你写的字、框的位置和编号。粘给 AI 时,标注文字随图片一起以纯文本送达,AI 不需要再从图里“肉眼认字”。

The text you write and the boxes you draw are saved as readable data. A .json file is created next to every screenshot. When you paste the image to the AI, your annotations are sent alongside it as pure text, meaning the AI doesn't need to guess or use OCR to read your handwriting.

.json
编号
number
1
你写的字
your text
这个按钮没对齐This button is misaligned
框的位置
box position
▭
示意图。标注文字随图片一起以纯文本送达。 Illustration. Your annotations are sent alongside the image as pure text.

全局触发

Trigger Anywhere

⌘⇧0Ctrl+Shift+0

快捷键(Mac ⌘⇧0,Windows Ctrl+Shift+0)。

Press ⌘⇧0 (Mac) or Ctrl+Shift+0 (Windows). Works globally.

注意:在 Windows 上,该热键极易与系统的“切换输入语言”快捷键冲突,特别是安装了多个中文输入法时。

Note: on Windows, if you have multiple Chinese input methods, this shortcut might be occupied by the system's “switch input language” hotkey.

鼠标触发

Mouse Trigger

⌘⇧ + clickCtrl+Shift + click

按住 ⌘⇧ (Mac) 或 Ctrl+Shift (Windows) 单击鼠标。

Hold ⌘⇧ (Mac) or Ctrl+Shift (Windows) and click your mouse.

注意:这是系统级拦截。在 Windows 上该点击会被 Polter 吞掉;但在 Mac 上点击会穿透到底层应用,比如在浏览器里可能会误点开链接。你可以在设置里通过 screenshot-mouse-trigger 修改或设为 none。

Note: this is a system-wide hook. On Windows, Polter swallows the click. On macOS, the click passes through to the app below, which might open links. You can change this behavior or disable it via the screenshot-mouse-trigger setting.

智能选区与长截图

Smart Select & Scrolling Pages

自动吸附窗口或自由框选。点击“长截图”,程序会自动向下滚动拼接长网页或代码。

Auto-selects windows or free-drags. Click “Long Screenshot” to automatically scroll and stitch a long webpage or code file.

丰富的标注

Rich Editable Annotations

矩形、箭头、文字、编号,以及不可还原的马赛克(原图只留在内存,绝不写进硬盘或剪贴板)。

Add text, arrows, numbers, or boxes. Includes an irreversible mosaic blur (the unblurred original is only in memory, never written to disk or clipboard).

总管也能自行截图

Agent-Controlled Captures

总管可以通过 MCP 工具列出窗口、静默截图、截长图或自行画标注。

Your Supervisor agent can use MCP tools to list windows, take screenshots, capture long pages, or draw annotations.

如果你注重隐私,可以通过 screenshot-agent-access 设置关闭它,默认是允许的。

If you want strict privacy, you can disable this via the screenshot-agent-access setting; it is allowed by default.

权限要求

Permissions Required

macOS 需要同时授予「屏幕录制」和「辅助功能」权限。辅助功能用于自动滚动和 agent 的 screenshot_long 工具;不授权的话,长截图会自动退化为手动滚动,且 agent 请求长截图会直接报错。Windows 版不需要任何权限。

macOS requires both “Screen Recording” and “Accessibility” permissions. Accessibility is needed for auto-scrolling and the agent's screenshot_long tool. Without it, scrolling falls back to manual, and agent long captures will fail. Windows requires no permissions.

自动清理

Auto-Cleanup

每次启动时,截图目录里超过 7 天且符合截图命名规则的文件(包含粘贴进来的剪贴板图片)会被自动清理。

Every time Polter starts, screenshots older than 7 days that match the naming convention (including pasted clipboard images) are automatically deleted from the screenshot folder.

Polter 绝对不做的事。

What Polter won't do.

  • 不会成为绕过权限的后门。

    Won't bypass your permissions.

    terminal_send 只通过粘贴通道发送纯文本,控制字节会被转成空格。它无法强迫 AI 去做被禁止的操作。

    terminal_send sends text only, down the paste path, with control bytes turned into spaces. It cannot force an agent to bypass its own permissions.

  • 只在你允许的地方回答提示。

    Answers prompts only where you let it.

    默认是所有没被护住的标签页,包括「以后不再询问」。在标签页上关掉开关、把它护起来,或者设 poltergeist-may-authorise = false,那些确认就等你来答;这三样没有任何工具能撤销。

    By default that is every tab that is not shielded, "don't ask again" included. Switch it off on a tab, shield it, or set poltergeist-may-authorise = false, and those prompts wait for you; no tool can undo any of the three.

  • 不会破解终端锁定。

    Won't undo your locks.

    终端画面的锁定 (hold) 和防护 (shield) 只能由你设置和解除,AI 无法解锁。

    The terminal UI hold and shield are yours to set and yours to lift. An agent cannot unlock them.

  • 不会变成复杂的任务系统。

    Won't grow into a task system.

    任务面板仅仅记录谁在干什么,以及干完了没有。

    The panel merely holds who is on what, and whether it's done.

所有数据留在本地。

All data stays on your computer.

Polter 不会自动发送任何信息到云端。你可以把它当成普通的 shell 历史记录对待。所有文件都在 $XDG_STATE_HOME/polter/ 目录下:

Nothing is redacted or sent to the cloud by Polter. Think of it like your normal shell history. Files land in $XDG_STATE_HOME/polter/:

chat/
智能体之间的对话。What the agents said to each other.
terminals/
每个终端里的事件记录。Transcripts of what happened in each terminal.
tasks/
任务面板的每一次变更。Every change to the task panel.
stats/
每个群组每小时的统计。One line per group per hour.

几个值得了解的核心设置

You can change settings in the Settings… menu. Some useful ones:

poltergeist-watch

是否允许屏幕采样。默认关闭;总管可针对单个终端打开。

Allows screen sampling (off by default; supervisor turns it on with set_watch).

poltergeist-quiescence-after

屏幕发呆多久后才会通知总管(这是一个时长配置,例如默认 3 分钟)。

A duration (e.g., 3 minutes by default) for how long a screen stays still before notifying the supervisor.

poltergeist-register-mcp

是否在启动时注册 MCP 服务(默认开启)。

Whether to register the MCP server at startup (on by default).

screenshot-directory

截图的保存目录。如果你的 agent 被限制只能读取工作区内的文件,可以把截图路径指向你的项目目录。

Where screenshots are saved. Extremely useful to point into your project directory if your agent cannot read files outside its workspace.

screenshot-agent-access

是否允许 agent 使用 MCP 截图工具。

Whether agents are allowed to use screenshot MCP tools.

clipboard-paste-image

粘贴图片时,是否将其转换为文件路径交由 CLI 读取。

Whether pasting an image into the terminal turns it into a file path for the CLI to read.

快速上手。

Quick Start.

前置条件:你需要有一个智能体 CLI(命令行工具)在你的系统 PATH 环境变量中,且在 Polter 启动的那一刻就存在。目前仅针对 Claude Code 进行了深度测试。

Prerequisites: an agent CLI, on your PATH, and on it at the moment Polter starts. Only tested deeply with Claude Code.

  1. 启动 Claude Code

    Start Claude Code

    打开一个 Polter 标签页,cd 到你的代码目录,启动 Claude Code。

    Open a tab in Polter, cd to your project folder, and start Claude Code.

  2. 任命总管

    Set the Supervisor

    点击菜单栏:Agent → 设当前终端为总管。

    Go to the menu: Agents → Make This Terminal a Supervisor.

  3. 测试连接

    Test the Connection

    对它说:“调用 me 工具,告诉我它说了什么。”如果它回复给你一串终端 ID,说明连接成功!(如果它说没有这个工具,请停下来并查看 FAQ。)

    Ask the agent: “Call the me tool and tell me what it says.” If it replies with a terminal ID, you are ready! (If it says it has no such tool, stop here and check the FAQ.)

  4. 下发任务

    Give the Command

    直接告诉总管你想做什么项目。接下来它会自己建群、开标签页、分配任务。

    Tell the supervisor what you want to build. It will handle opening tabs and assigning tasks on its own.

  5. 查阅进度

    Review Later

    把它挂在后台。之后你可以打开总控台的「群聊」页签(或运行 polter +chat)看它们的聊天记录。按 tab 或 shift+tab 可切换对话、任务看板和统计视图。

    Let it work. Later, open the control room's chat tab (or run polter +chat) to see what they discussed. Press tab or shift+tab to cycle views: the conversation, the task panel, and the night's stats.

竞品对比。

Compared to alternatives.

以下其他列的数据来源于对应项目官方文档,读于 2026-10-04。

Data read on 2026-10-04, based on each project's official docs.

对比项Feature Polter tmux Claude Code (子智能体)(Sub-agents) Claude Squad cmux
它是啥?What is it? Polter面向多 Agent 的 Vibe Studio (基于 Ghostty)Agentic Vibe Studio (built on Ghostty) tmux终端复用器Terminal multiplexer Claude CodeClaude Code 会话内部功能Feature inside one Claude Code session Claude Squad基于 tmux 和 git 工作区的 TUITUI using tmux and git worktrees cmux基于 Ghostty 的 macOS 终端Ghostty-based macOS terminal
谁来监督 AI?Who watches agents? Polter另一个 AI (总管)Another AI (Supervisor) tmux你自己You Claude Code父级会话The parent AI session Claude Squad你,在同一个窗口里You, in one window cmux你 (通过通知提示音)You (via notifications)
工作节点是啥?What is a worker? Polter终端里的独立会话Independent session in a terminal tab tmux你在窗格里启动的任何东西Whatever runs in a pane Claude Code父会话的子智能体A sub-agent of the parent session Claude Squad自己工作区里的独立会话Independent session in a git worktree cmux你在窗格里启动的任何东西Whatever runs in a pane
画面不动时?If it stops moving? Polter总管会被告知它发呆了多久Supervisor is told how long it’s been idle tmux状态栏高亮并响铃 (需配置)Bell rings (if configured) Claude Code— Claude Squad— cmux响铃 (当 agent 发信号时)Notification rings
文件隔离?File isolation? Polter无 (共享当前代码库)None (they share your checkout) tmux无None Claude Code父目录 (或按要求新建工作区)Parent directory (or worktree if asked) Claude Squad每个智能体有独立的 git 工作区Separate git worktree and branch each cmux无None
支持平台Platforms PoltermacOS, Windows tmux类 Unix 系统Unix-like systems Claude Code能跑 Claude Code 的地方Wherever Claude Code runs Claude Squad需要 tmux 和 ghRequires tmux and gh cmuxmacOS

Polter 没有的功能:它不会为工作节点提供独立的 worktree,也没有 cmux 那样的浏览器面板。如果你非常需要基于任务的文件隔离,Claude Squad 的架构是专门为你打造的。

What Polter does not have: it gives workers no worktree of their own, and it has no browser pane (which cmux has). If isolation per task is what you need, Claude Squad's model is the one built for it.

macOS 13+

Polter-*-macos-universal.zip

原生支持 Apple 芯片和 Intel。

Apple Silicon and Intel supported.

Windows 10+

Polter-*-windows-x64.zip

x64。解压即用,无需安装,也不需要任何权限。

x64. Unzip and run, no installer and no permissions needed.

Linux

无现成安装包。需从源码编译。(截图功能此版本暂未实现)。

No pre-built binary. You must build from source. (Screenshot feature not yet available).

macOS 用户必看

For macOS users

目前的安装包没有签名,会被苹果 Gatekeeper 拦截。请打开终端,输入以下命令解除隔离:

The builds are currently unsigned, so Apple's Gatekeeper will block it. Run this in your terminal to allow it:

unzip Polter-*-macos-universal.zip
xattr -dr com.apple.quarantine Polter.app
mv Polter.app /Applications/

重要提示:请从“访达 (Finder)”或“程序坞 (Dock)”中双击打开 Polter,不要通过终端命令启动,以确保它能正确读取你 PATH 中的 AI 工具环境变量。

Important: open Polter from your Finder or Dock, not from the terminal, so it can correctly find your agent tools on your PATH.

Windows 用户必看

For Windows users

解压后直接运行 polter-host.exe,请把其他文件(DLL 和 share 文件夹)跟它放在同一个目录下。

Unzip the folder and run polter-host.exe. Keep all other files (like DLLs and share/) in the same folder.

如果遇到 Windows SmartScreen 拦截,点击“详细信息 → 仍要运行”即可。

If Windows SmartScreen warns you, click “Run anyway”.

常见问题。

FAQ.

AI 说它没有 “polter 工具” 怎么办?The agent says it has no “polter tools”. What's wrong?

三种可能:插件被禁用了;Polter 启动时 claude 命令不在 PATH 中;或者你在设置里把 poltergeist-register-mcp 关了。注册表指向的是最后一次启动的构建版本。

Three causes: the plugin is off, claude wasn't on your PATH when Polter started, or poltergeist-register-mcp is off. The registration points at whichever build started last.

除了 Claude Code 还能用别的 AI 工具吗?Does it work with other AI tools besides Claude Code?

服务端用的是标准 MCP 协议,任何 MCP 客户端都能接进来,自带了 7 个配置插件。但目前只针对 Claude Code 做了深度测试,其它工具请当作未测试对待。

The server uses standard MCP, so any MCP client can run it, and 7 provisioning plugins ship with it. However, we have only tested it deeply with Claude Code. Treat the rest as untested.

这不就是 tmux 吗?Isn't this just tmux?

不是。tmux 只是帮你分屏,盯着屏幕的活儿还得你干。Polter 的作用是把其它节点的发呆时间汇报给某一个智能体,并允许它读取别的屏幕和敲键盘。

No. tmux arranges panes and leaves the watching to you. Polter tells one agent how long each of the others has been still and lets it read their screens and type into them.

Claude Code 已经有子智能体了,我还需要这个吗?Claude Code already has sub-agents. Do I need this?

如果你只是想在一个会话内拆分任务,确实不需要。子智能体从属于父会话;但 Polter 的工作节点是完全独立的终端会话,总管可以跨终端管理它们。

Not if all you want is to split one job up inside one session. A sub-agent belongs to its parent session. A Polter worker is an independent session in its own terminal, and the supervisor can read its screen and is told how long it has been still.

它怎么知道 agent 卡住了?How does it know an agent is stuck?

它并不知道。它只测量一件事——屏幕有多久没有发生变化——且不解析任何 CLI 的输出。到底是卡住了还是在思考,由总管自己来判断。

It doesn't. It measures one thing—how long a screen has been unchanged—and parses no CLI's output. Whether that means it's stuck or just thinking is the supervisor's call.

这个项目和 Poltergeist 有关系吗?Is this related to Poltergeist?

没有。steipete/poltergeist 是一个文件监视器和构建工具,它的命令也叫 polter。这两个项目除了共用“幽灵”主题外毫无关联,这里的 poltergeist-* 仅仅是本项目的设置项前缀。

No. steipete/poltergeist is a file watcher and build tool, and its wrapper command is also called polter. The two projects share a ghost theme and nothing else; poltergeist-* here is only the prefix of this project's settings.

我该怎么写插件?How do I write a plugin?

一个目录、一个 plugin.json,外加一个可执行文件。20 行 shell 脚本就能写一个完整的插件。

A directory, a plugin.json, and an executable. Twenty lines of shell is a complete plugin.

给你的 AI 找个总管。

Give your AI agents a supervisor.

邮箱:Email: xugf@bestfunc.com