Hotline

在你自己机器上为 AI 智能体团队搭一个房间:任一模型、自带 harness、各有独立电脑。

Star 数
★ 12
最近更新
今天
License
Apache-2.0
主语言
Rust

30 秒速览

可在哪里用
通用 · 跨平台Codex · Claude Code · OpenAI API · Claude API
开始前需要
Docker、Podman 或 Apple containerRust 工具链(源码构建时)Shell / 命令行网络访问本地文件系统
典型场景
独立开发者希望一个 agent 写代码、另一个 agent 做 review,并在同一聊天窗口中同时看到两者的进展。
主要局限
模型费用与密钥需自备,实际使用成本取决于所接入的供应商与用量。

这个 Agent 能做什么,适合哪些场景?

Hotline 是一个开源、自托管的 AI 智能体协作房间,用 Rust 编写并以 Tauri 外壳承载 Web 界面,提供 macOS、Windows、Linux 桌面应用以及面向任意 Linux 机器的无头服务器模式。它把多名具名“队友”放在同一个房间里,每个队友拥有自己的项目目录和持续对话,可以互相查看状态、直接发消息、请求审查或交接任务。队友既可以是 Hotline 内置智能体(接 Anthropic、OpenAI、Google、OpenRouter 或 Ollama,使用你自己的密钥或订阅),也可以是 Claude Code、Codex、opencode 等通过 ACP 接入的外部 harness。一个开关即可为队友在容器中分配完整 Linux 桌面(Docker、Podman 或 Apple container),提供屏幕、浏览器与 shell。对话记录与文件保存在本机磁盘,无账户、无云端中转;手机应用处于 beta,可与桌面端配对,并支持将多台 desk 互联。

Hotline 运行一个本地的“desk”,在其中维护一份具名队友名册;每个队友绑定独立的工作目录和一条不会因你离开而中断的会话。内置智能体可调用 Anthropic、OpenAI、Google、OpenRouter 或 Ollama 的模型;外部 harness 通过 ACP 协议作为队友接入,包括 Claude Code、Codex 与 opencode。队友之间可以感知房间成员与其当前任务,并直接互发消息以提问、请求 review 或移交任务。开启“电脑”开关后,Hotline 通过 Docker、Podman 或 Apple container 为队友启动 Linux 桌面容器,内含屏幕、浏览器和 shell,你可旁观或在被请求时接管。交互支持文本、图片粘贴与语音。桌面端与无头服务器模式提供同一套房间能力,手机应用可与 desk 配对,多台 desk 可链接后让各自的队友像在同一房间内协作,但权限仍按各自 desk 的授权执行。

  1. 独立开发者希望一个 agent 写代码、另一个 agent 做 review,并在同一聊天窗口中同时看到两者的进展。
  2. 小团队想把 agent 运行在自有服务器上,通过无头 desk 长期运行,不依赖任何云端账户。
  3. 需要在隔离容器里让 agent 操作浏览器或 shell 完成任务,并在关键时刻人工接管的安全敏感场景。
  4. 已习惯 Claude Code 或 Codex 的用户,想把这些 harness 与其他模型放进同一个房间并行协作。
  5. 经常离开工位、希望用手机查看或继续与桌面端 agent 对话的开发者。
  6. 有多台机器(如笔记本与服务器)的团队,希望通过链接 desk 让两边的 agent 共享一个房间。

如何安装或部署这个 Agent?

macOS 或 Linux 桌面应用,一条命令安装:

curl -fsSL https://hotline.dev/install | sh

在服务器上安装无头 desk:

curl -fsSL https://hotline.dev/install | sh -s -- --server

Windows 用户,或需要 .deb、.rpm 与 Intel Mac 构建时,从 GitHub Releases 下载最新版本:

# 在浏览器打开 https://github.com/1broseidon/hotline/releases/latest

若要让队友拥有独立 Linux 桌面,宿主机需要可用的 Docker、Podman 或 Apple container 运行时;模型侧需自备 Anthropic、OpenAI、Google、OpenRouter 或 Ollama 的密钥或订阅。

如何使用这个 Agent?

安装后启动桌面应用,或在服务器上启动无头 desk,即可进入房间。随后为每名队友命名并指定其项目目录,选择模型:可直接使用内置智能体,也可将 Claude Code、Codex、opencode 等 ACP harness 作为队友接入。

给需要操作系统的队友打开“电脑”开关,Hotline 会在容器中为其分配 Linux 桌面:

# 需宿主机已安装 Docker、Podman 或 Apple container
# 在 Hotline 界面中为队友开启 computer 开关

之后在房间中与队友对话,可粘贴截图、使用语音或在需要时接管其桌面;队友之间可直接互发消息。手机端可按文档说明与桌面 desk 配对:

# 参考 https://hotline.dev/docs/phone/ 完成手机配对

进一步配置、协议与设计细节见 docs/design.md、docs/wire.md 与 docs/computer.md。

这个 Agent 有哪些优点和局限?

优点
  • 同一房间内可混用多家模型(Anthropic、OpenAI、Google、OpenRouter、Ollama),避免单一供应商锁定。
  • 通过 ACP 支持 Claude Code、Codex、opencode 等外部 harness 作为队友,保留既有工作流。
  • 可为单个队友分配容器化 Linux 桌面(屏幕、浏览器、shell),适合需要图形界面或真实环境操作的任务。
  • 对话记录与文件保存在本机,无账户、无云端中转,自托管与数据边界清晰。
  • 同时提供桌面应用、面向 Linux 的无头服务器模式与 beta 手机应用,并支持多 desk 互联。
局限
  • 模型费用与密钥需自备,实际使用成本取决于所接入的供应商与用量。
  • 为队友提供 Linux 桌面依赖宿主机的 Docker、Podman 或 Apple container,容器运行时成为额外运维负担。
  • 手机应用仍处于 beta,移动端功能与稳定性可能受限。
  • 产品在 0.13.0 前名为 Toad,0.14.0 起改名,且 README 说明该项目在 2026-09-08 以全新构建替换了此仓库上的 Electrobun 版本,早期资料与现有版本可能不一致。
  • 从源码构建需 Rust 工具链与 Tauri 相关环境,非桌面安装路径的配置步骤在 README 中未展开。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Hotline 当前 63 · 存在缺口 — ★ 12 今天 Rust Codex · Claude Code · OpenAI API · Claude API
Vicoa 52 · 缺口较多 桌面应用免费 + 模型费 ★ 523 3 天前 Python Codex · Claude Code
OpenTeams 56 · 缺口较多 桌面应用免费 + 模型费 ★ 581 14 天前 TypeScript Codex · Claude Code
OtoDock 77 · 表现良好 自托管服务免费版 + 付费版 ★ 193 1 天前 Python Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
63/ 100 五分制 3.2 / 5
信任安全 19/29
可靠稳定 9/14
适用触发 12/18
规范维护 11/18
有效结果 7/13
证据核验 5/8
查看各维度的扣分理由
信任安全19 / 29 · 3.3/5

docs/security.md 对最小权限做了少见的细致处理:reach、mcpPolicy、allowedSenders、backgroundWork、computer、folders 各自独立、默认拒绝、旧记录有迁移,且明确说明模型输出不是执行点,强制在核心层完成(least_privilege=3)。但同一文档明确写着“调用时不询问用户、没有审批卡、没有按路径 ACL”,确认只在设置里一次性给出,属于有意的常设同意而非逐次确认(user_confirmation=2)。数据流方面说明了网络在所有 reach 下都开启、workspace 内容可外发、语音/图像请求发往哪些厂商域名,透明度尚可,但没有面向用户的统一数据流清单(data_flow_transparency=2)。敏感数据处理有 0600/0700 文件存储、密钥脱敏、图像结果不含密钥,但文档自己承认无自有加密层、root 或磁盘副本可读全部密钥(sensitive_data_handling=2)。依赖安全证据最强:CI 跑 cargo-deny advisories/licenses、cargo machete、bun audit,Cargo.toml 对 sherpa-onnx-sys 的 RUSTSEC-2026-0367/0368/0369 做了带理由的 patch,语音引擎与模型按 SHA-256 固定(dependency_security=3)。外部副作用方面文档承认“已派发的副作用在撤销后仍会存活”,且无撤销/回滚机制(external_effects=1)。回滚同样薄弱:只有撤销 lease 与重建 computer,没有版本回滚或状态恢复说明(rollback=1)。来源归属有 LICENSE-MIT/LICENSE-APACHE、发布流程与更新签名,但发布者身份未经 FollowAgents 验证,归属仅到仓库层面(source_attribution=2)。

可靠稳定9 / 14 · 3.2/5

仓库内部一致性较好:Cargo.toml 版本 0.43.0、发布工作流校验 tag 与 Cargo.toml/tauri.conf.json 一致、README 说明 Toad→Hotline 更名与 Electrobun 版本替换,叙述自洽(self_consistency=2)。依赖可得性有 Cargo.lock、bun --frozen-lockfile、固定工具版本与自托管 runner 回退,但 sherpa-onnx-sys 依赖上游 git commit 与外部脚本下载二进制,存在外部可得性风险(dependency_availability=2)。失败信息在安装脚本测试中体现得较具体(版本不匹配、校验和不符、用户不存在等),但产品运行时错误处理只能从文档推断(failure_messages=2)。

适用触发12 / 18 · 3.3/5

README 明确面向多模型、多 harness、桌面/服务器/手机多场景,受众清晰(audience_and_scenarios=2)。能力边界写得非常细:workspace 与 machine reach、ACP 外部托管、computer 不扩大 reach、Windows 无受限 shell(capability_boundaries=3)。触发精度方面,产品是常驻房间而非按触发词调用的 Agent,仓库未给出触发/路由规则的可评估证据(trigger_precision=1)。环境适配覆盖 macOS/Windows/Linux、headless server、容器运行时三选一,但 Windows 无 shell 沙箱、macOS 无 namespace、Apple container 不保留卷,平台差异明显(environment_fit=2)。

规范维护11 / 18 · 3.1/5

README 结构清晰并链接 docs/design、development、wire、sessions、computer 等,信息架构良好(information_architecture=2)。安装说明给出 curl 安装、server 模式与各平台包,但依赖外部站点脚本,仓库内细节有限(install_notes=2)。命名稳定性有 Toad→Hotline 更名与 ELECTROBUN_ 前缀遗留,虽已解释仍属变动(naming_stability=2)。示例与 FAQ 在可见文件中较少,主要是文档链接(examples_and_faq=1)。已知限制写得异常充分,含接受风险、平台差异、残余风险(known_limitations=3)。许可证为 MIT OR Apache-2.0 双许可,文件与元数据一致(license=3)。版本号存在,但可见文件中没有 CHANGELOG 内容,仅发布流程引用(versioning_changelog=1)。维护责任方面文档提到“George 的产品决策”,但无 CONTRIBUTING、SECURITY 联系方式或维护者声明,发布者亦未验证(maintenance_responsibility=1)。

有效结果7 / 13 · 2.7/5

输出可用性方面,产品形态(桌面+手机房间、多 Agent 协作)明确,但可见文件未展示实际输出样例或 UI 流程(output_usability=2)。边际价值在于多 Agent 同室协作、自带 harness、容器化计算机,相对单聊天工具有差异化,但同类产品竞争激烈且价值依赖配置(marginal_value=2)。成本收益方面,自托管需 Docker/Podman、模型密钥自付、语音模型半 GB 下载、构建链复杂(Rust+Tauri+bun+外部二进制),对普通用户成本偏高(cost_benefit=1)。

证据核验5 / 8 · 3.1/5

claim_traceability:安全文档为多数断言给出具体文件与测试名(如 wire::tests::voice_is_owner_only_through_the_real_handler),可追溯性较好,但部分断言仅文字描述(claim_traceability=2)。cross_source_corroboration:README、security.md、CI 工作流、Cargo.toml 之间在依赖固定、平台支持、许可证上互相印证(cross_source_corroboration=2)。fact_inference_separation:文档明确区分已实现与计划中、接受风险与缺陷,并标注“需设备验证”,分离较清楚(fact_inference_separation=2)。

风险与缓解建议
  • 安全模型依赖“设置时一次性授权”,运行时不逐次确认;一旦授予 machine reach 或 MCP 网关,Agent 可在无人复核下执行外部副作用。
  • 文档明确承认网络在所有 reach 下开启,workspace 内可读数据可外发,且已派发的副作用在撤销后无法召回。
  • 自托管服务器模式下密钥以 0600 文件存放且无自有加密层,root 或磁盘/备份副本可读取全部密钥。
  • 安装依赖 curl 管道执行外部站点脚本,且构建链依赖上游 git commit 与外部二进制下载,供应链面较大。
  • 发布者身份未经 FollowAgents 验证,维护责任与安全联系方式在可见文件中不明确。
  • Windows 无受限 shell、macOS 无 namespace、Apple container 不保留卷,跨平台安全与持久性不一致。
证据充分度:低 评估于 2026年10月27日 审查版本 11449001e45f
查看完整评分方法 →
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents