你的屏幕
邀请词
honeyorbitlamprivergardencopper
只能用一次,有效期 10 分钟。
正在核对密钥
核对词
tigervelvetanchormapleribbonocean
Ana 屏幕上的词和这些一致吗?
Ana 可以做什么
Ana 加入了你的 City
p2p.join accepted, grants: city.view
四分钟内看完 1.0 的全部内容,均录自真实应用。 画面中的文字为葡萄牙语。
工作原理
你的电脑是第一栋建筑,朋友会带来他们自己的。智能体住在房间里,接下任务,在调度器选中的那台机器上思考,始终不超出所有者允许的范围。
启动 hivedesk。你的电脑会变成一栋建筑,里面有供智能体工作的房间: Design、Code、Review、Test、Ops 和 Library。
分享六个词。你们双方比对核对词,由你决定对方可以做什么,然后他的机器会在你的旁边拔地而起。
架构师做设计,开发者写代码,QA 跑测试,审查者阅读 diff。失败会退回给作者,最多 3 次。
当模型在你的机器上放不下时,调度器会向朋友的 GPU 申请租约,说明原因,并且只要你们任何一方喊停,就立即停止。
City
建筑是机器,房间是带有各自工具的地方,每个任务都会穿过这些房间直到完成。每个数字都是实测的,否则面板会注明未测量。
演示模式下的 hivedesk 1.0 截图,每个脚本事件都有标注。
邀请朋友
这些词通过中继找到彼此,并建立一个加密会话。接着两边的屏幕会显示相同的核对词,在你接受之前,什么都不会共享。
你的屏幕
邀请词
honeyorbitlamprivergardencopper
只能用一次,有效期 10 分钟。
正在核对密钥
核对词
tigervelvetanchormapleribbonocean
Ana 屏幕上的词和这些一致吗?
Ana 可以做什么
Ana 加入了你的 City
p2p.join accepted, grants: city.view
Ana 的屏幕
正在等待邀请词
用邀请词加入
honeyorbitlamprivergardencopper
正在通过中继寻找对方
核对词
tigervelvetanchormapleribbonocean
正在等待你接受
你已进入 City
这是本页面中的模拟: 不会发送任何内容。在应用中,邀请会在第一次基于它发起的握手时作废,无论对错;输错一个词就需要新的邀请。
借用 GPU
在所有者开启之前,共享一直是关闭的,GPU 和 CPU 分开设置,并可以限制内存、作业数和时长。出借的作业持有一份 15 秒的租约,只要 token 在流动就会续期,而所有者自己的轮次始终优先。
在这台机器上实测
选好任务需要的模型,然后运行。
Ana 停止了这个作业。目前已写出的 112 个 token 会保留。
由 Ana 的电脑报告
这是使用示例数字的模拟。在应用中,每个数字都来自那台机器上的探测(GPU 厂商的工具、Windows 性能计数器或 Linux 内核),朋友的数字会标注为由对方报告,读取不到的值会显示未测量。
工作台
在团队的工作区旁边打开你选择的文件夹。每个文件夹都是一项可以撤销的授权,团队只会在你允许的地方写入。
创建、重命名、移动和删除。标签页最多可分成三个分组,支持诊断,以及 JavaScript 和 TypeScript 的转到定义和符号。删除文件夹时,会显示其中的文件数并请你确认。
在所有文件中搜索,支持正则表达式、区分大小写、全字匹配,以及包含或排除模式。替换前会先逐个文件显示 diff,并跳过此后有改动的文件。
在 Windows 和 macOS 上是真正的终端。在 Linux 上需要编译它的原生部分,否则会是一个基于管道的基础终端,并会如实标注。智能体永远拿不到终端。
状态、diff、暂存、取消暂存、丢弃、提交、分支、检出、储藏和日志,都在一个面板里。
让朋友观看或输入 5、15 或 60 分钟。标签页会显示共享标记和一个终止按钮,审计日志只记录字节数,从不记录内容。
通过同一个加密会话共享文档,双方的光标都能看到。朋友的编辑会等待你批准,新文件也一样。
远程屏幕
一个 10 位数字的地址能找到一台机器,但它不是密码: 所有者会看到是谁在呼叫以及对方的核对词,而且每个选项一开始都是未勾选的。
手机也可以。 用 hivedesk 窗口里的二维码配对手机,然后在手机上审批、聊天和跟进任务。每部手机都有自己的权限。
1.0 中可以控制的平台: Windows,以及装有 xdotool 和 loginctl 的 X11 上的 Linux。macOS 只能查看,因为控制需要签名的应用,而下载包还没有签名。Wayland 也只能查看。
模型
一个包含 57 个开源模型的目录,参数从 0.5B 到 72B,覆盖编程、推理和聊天,每个都提供 2 到 8 位的量化文件。hivedesk 会为你的硬件推荐一个,并在任何下载之前先征求你的同意,同时说明大小、许可证和来源。
一个 4 位的 70B 模型连同上下文大约需要 45 GB。没有哪台普通消费级电脑有这么多,但一座 City 也许有。
共享的显存共享的内存模型所需
已汇集 27 GB,需要 45 GB: 还差 18 GB。
在应用中,这个测算器是真实的计算: 显存和内存分开计算,并计入 CPU 内存的速度,以及每个 token 在每台远程机器上的一次网络往返,只有达到每秒 1 个 token 或以上才会解锁。汇集模型已作为实验性开关加入 1.0,默认关闭: 模型通过加密的 p2p 连接,在授权了的朋友的机器上运行,速度取决于机器之间的网络连接。
剧本
落地页、带校验的表单、README、测试计划、无障碍组件、git 提交信息等等,每份都有步骤、质量标准、常见陷阱和检查项。任务开始之前,会按关键词相关度、角色和房间挑出最贴近的剧本,它们的检查项会在 QA 中运行。
app-types 55practices 65ui-components 55web-pages 51stacks 50review-qa 42design 42data 40roles 35planning 32git-docs 30
安全
由拥有资源的那台机器上的引擎来决定,而不是某个浏览器标签页。访客不能挑选你的模型,不能打开 shell,也看不到你没有共享的文件。
一把 Ed25519 密钥,以六个指纹词的形式展示给人看。无法读取的密钥会报错,绝不会悄悄变成一个新身份。
六个词,66 位,一次性,10 分钟,在第一次发起的握手时作废。之后两边的屏幕显示核对词,再由你点击接受。
朋友加入时,只勾选了“查看 City”。GPU、CPU、内存、存储、终端、屏幕、剪贴板和文件都是带上限的独立授权;屏幕和终端授权会在 60 分钟内结束。
出借的作业持有一份由心跳续期的 15 秒租约、一个硬性截止时间和一个 token 上限。它只在出借方的本地模型上运行,绝不使用对方的云端密钥。
加入、授权、撤销、作业和远程会话,按月记录,每一行都链接到上一行。它从不保存邀请词、密钥、提示词或回答。
密钥使用 X25519 和 HKDF,每一帧使用 ChaCha20-Poly1305,每 60 分钟更换一次密钥。中继始终只传输密文。
来自其他机器的回答不受信任。 在由朋友的 GPU 处理的轮次中产生的任何工具调用,在每种审批模式下都需要你批准,新文件也一样。
桌面应用还是浏览器
桌面应用和 npx hivedesk 在你的机器上运行同一个引擎;区别只在于窗口。单独一个网页运行在浏览器的沙箱里,所以这些都做不到。
| 功能 | 桌面应用 | 使用 npx hivedesk 的浏览器标签页 | 仅浏览器,不安装任何东西 |
|---|---|---|---|
| GPU 上的本地模型 | 可以 | 可以。引擎在你机器上的 Node.js 中运行;标签页只负责显示。 | 不可以。网页无法启动原生程序,也无法从你的磁盘加载几 GB 的模型文件。 |
| 共享你的 GPU 和 CPU | 可以,关闭窗口后也行: 它会在托盘中继续运行。 | 可以,只要标签页保持打开。节点连接在窗口中运行,而浏览器会让后台标签页变慢或冻结。 | 不可以。没有可以共享的引擎。 |
| 远程控制 | Windows,以及 X11 上的 Linux。在应用签名之前,macOS 只能查看。 | 在基于 Chromium 的浏览器中可以查看。控制、原生剪贴板和粘贴文件由输入助手提供,和应用中一样。 | 不可以。网页无法在你的系统上移动鼠标或按键。 |
| 切换显示器 | 可以。观看方提出请求,主机选择屏幕。 | 可以,但每次浏览器都会在自己的对话框中让主机选择屏幕: 网页永远不能自行选择屏幕。 | 不可以 |
| 终端 (PTY) | Windows 和 macOS 上可以。Linux 上在原生部分编译成功时可以,否则是一个带标注的基础终端。 | 一样: 终端运行在引擎中。 | 不可以。网页无法启动 shell。 |
| 文件系统访问 | 你添加的文件夹,使用原生文件夹选择器。 | 同样的文件夹。你需要输入路径,因为网页没有原生文件夹选择器。 | 只能按浏览器的规则,一次选择或拖入一个文件。 |
| Ctrl Alt Del | 从不发送到远程机器。Windows 把它留给安全登录界面,所以 hivedesk 会有意丢弃它,Win+L 也一样。 | 从不发送。你自己的系统也会在任何网页看到它之前拦截它。 | 不可以 |
| 通知 | 来自应用的系统通知。 | 在浏览器中允许后可用,且仅限标签页打开期间;否则显示在页面中。 | 不可以 |
| 后台运行 | 可以。关闭窗口后它会留在托盘中,提供打开、暂停和退出。 | 引擎会在它的终端里继续运行,但节点需要标签页保持打开,休眠的标签页可能会让出借的作业停滞。 | 不可以。关闭标签页就结束了。 |
推荐使用桌面应用获得完整体验。应用窗口使用系统的 Web 视图;在 macOS 和 Linux 上,屏幕共享会在你基于 Chromium 的浏览器中打开,因为这些 Web 视图无法可靠地捕获屏幕。
下载
桌面应用就是完整的 hivedesk: GPU 上的模型、从托盘出借、远程控制和系统通知。每个下载都自带 Node.js,不需要事先安装任何东西。
运行它: 它会为你的用户安装,无需管理员权限,并下载应用。没有网络的机器请使用离线安装程序。它没有用付费证书做代码签名,所以 SmartScreen 会提示“Windows 已保护你的电脑”: 选择 更多信息,然后选择 仍要运行。
谢谢!请按以下步骤操作。
hivedesk-setup.exe。打开 dmg,把 hivedesk.app 拖到“应用程序”。它没有用付费证书公证: 第一次打开时,进入 系统设置,隐私与安全性,点击 仍要打开。
谢谢!请按以下步骤操作。
hivedesk.app 拖到“应用程序”。对文件运行 chmod +x,然后启动它。也可以用安装脚本,它会校验 SHA-256 并安装到 ~/.local,或者用发布页面上的 .deb 和 .rpm。窗口需要 WebKitGTK;没有的话,hivedesk 会在浏览器中打开。
谢谢!请按以下步骤操作。
chmod +x hivedesk-linux-x86_64.AppImage。./hivedesk-linux-x86_64.AppImage(或运行 sh hivedesk-linux-install.sh)。已安装的应用会自动更新: 先校验更新清单的 Ed25519 签名,再询问: 立即更新、关闭时或稍后提醒。安装程序没有用付费证书做代码签名,所以 SmartScreen 和 Gatekeeper 会询问一次;只有在你同意后才会下载模型。使用 npx hivedesk 需要 Node.js 20 或更高版本,窗口会在你的浏览器中打开。
City 的每个部分都有一条命令: hivedesk invite、hivedesk join、hivedesk peers、hivedesk share、hivedesk city 和 hivedesk doctor --p2p,最后一条会检查中继、你的端口和你的网络类型。
npm i -g hivedesk读每一行代码,提 issue,发拉取请求。点个星能帮更多人找到它。
坦诚说明局限
每一项在应用中也有标注。这里没有任何东西是为了看起来已完成而伪造的。
跨互联网时,节点连接在应用窗口或浏览器标签页中运行。无界面节点需要一个尚未构建的原生 WebRTC 组件;在同一网络中,hivedesk invite --lan 可以在终端里使用。
两个非常严格的网络之间可能连不上。hivedesk doctor --p2p 会告诉你问题出在哪一边,而同一网络中的两个节点可以使用局域网。
下载包还没有代码签名或公证。这就是 macOS 远程控制只能查看的原因,也是你的系统在首次运行前发出警告的原因。
朋友的机器只提供它已加载的模型。它从不替换所有者的模型,也从不为其他节点下载模型。
通过加密的 p2p 连接,把一个模型汇集到朋友们的机器上运行,已经在 1.0 中,但默认关闭,速度取决于机器之间的网络连接。
工作者轮流使用同一个模型,所以一项作业要花几分钟。只用 CPU 时,模型每秒只能写出几个 token。一口气做出大型应用,超出了它的能力。
| 硬件 | 运行的模型 | 速度 | 适合 |
|---|---|---|---|
| 没有 GPU | 0.5B 或 1.5B 编程模型,内存 16 GB 时可用 3B | 慢,每秒几个 token | 单个文件的小任务。需要耐心等待。 |
| 4 到 7 GB 的 GPU | 3B 编程模型,完全在 GPU 上 | 能用 | 小任务、组件、脚本、文案。 |
| 显存 7 到 10 GB 的 GPU,或朋友的 GPU | 7B 编程模型 | 不错 | 中小型任务,由你掌舵。 |
| 10 GB 或以上,或者一个密钥 | 14B 编程模型、你已经在用的本地运行环境里更大的模型,或者用你自己的 API 密钥调用云端模型 | 更快 | 更大的工作和更长的计划。 |
你的文件留在你的电脑上。 朋友的 GPU 只能看到你发给它的作业的提示词和回答,永远看不到你的文件、工具或记忆。网络只用于你开启的功能: 朋友及其授权、GitHub、使用你自己密钥的云服务商、来自 URL 的扩展,以及语音模式下浏览器的语音识别。
常见问题
不需要。默认使用在你自己电脑上运行的模型,朋友会直接连接到你。密钥是可选的,只在你想用自己的 API 密钥调用云端模型时才需要;它们保存在你电脑上的密钥库里。
只有你为他勾选了“读取工作区”才可以。朋友加入时,只开启了“查看 City”。他提出的编辑会等待你批准,新文件也一样。
只有发给它的作业的提示词和回答,别的都没有: 没有文件、工具或记忆。它的所有者可以停止任何作业,而由它的回答引发的任何工具调用都需要你批准。
不需要。npx hivedesk 运行同一个引擎,并在你的浏览器中打开窗口。应用额外提供托盘、系统通知和文件夹选择器,并且在窗口关闭后也能继续出借。上面的表格列出了所有区别。
没有你的点击就不能。在你允许自己的地址之前,远程屏幕一直关闭;每个请求都需要你接受,默认只能查看,每项授权都会过期,锁屏时不接受输入,一个快捷键或停止按钮就能结束一切。
可以,在 CPU 上用小模型,但很慢: 每秒几个 token。小任务没问题。在朋友允许的情况下,借用他的 GPU 就能运行更大的模型。
运行 hivedesk doctor --p2p。它会检查中继、你的端口和你的网络类型,并告诉你是哪一边阻断了连接。没有内置 TURN 中继;在同一网络中,请使用局域网选项。
可以: npx hivedesk --demo 会在它自己的临时文件夹里演示一座 City,每个脚本化事件都标记为演示。它从不碰你的项目。
删除 ~/.hivedesk/(你的身份、已知节点、运行环境、模型和你的设置)以及项目里的 .hivedesk/ 文件夹。如果是用 npm 安装的,还要运行 npm rm -g hivedesk。
先从你自己的电脑开始。准备好了再邀请朋友。
npx hivedesk