Herdr 发布原生桌面应用,统一管理终端与编码智能体
Herdr has released native app
Herdr 发布原生桌面应用,用于管理终端和编码智能体,支持 Linux、macOS(Apple Silicon)与 Windows x64。应用以 space 组织同一机器上的工作,侧边栏汇总各 space 的智能体状态(Working、Blocked、Done、Idle),关闭窗口后终端仍在 core 中继续运行。
Herdr 是一款用于终端和编码代理的桌面应用。将工作保留在空间中,查看哪些代理需要你,并在关闭窗口时让终端继续运行。
安装
Linux 和 macOS
curl -fsSL https://releases.herdr.dev/app/install.sh | shLinux 需要桌面会话和可用的 Vulkan 驱动。macOS 构建版本适用于 Apple Silicon;Intel Mac 用户可以从源代码构建。Linux 构建版本为 x86-64 和 ARM64。
安装程序会将 Herdr 添加到你的应用中,并将命令放入 ~/.local/bin。
如果安装程序提示,请将该文件夹添加到你的 PATH 中。
在 macOS 上,应用位于 ~/Applications/Herdr.app。
要在 Apple Silicon 上通过拖放安装,请下载 Herdr.dmg 并将 Herdr 拖到 Applications。
Windows
在安装了 curl 和 tar 的 x64 Windows 上(Windows 10 1803 或更新版本),在 PowerShell 中运行:
irm https://releases.herdr.dev/app/install.ps1 | iex
Herdr 会出现在开始菜单中。安装程序会将 %LOCALAPPDATA%\Programs\herdr-app 添加到你的用户 PATH 中。打开一个新的终端以使其生效。
两个安装程序都会下载并运行代码。如果你愿意,请先阅读 shell 安装程序或 PowerShell 安装程序。 如果缺少 herdr-core,它们也会安装它。 应用可以帮助安装或更新它无法使用的核心。
找到你的工作
一个空间容纳一台机器上的工作,通常在一个仓库中。每个空间都有标签页。将一个标签页拆分为窗格,以便将终端或 mod 面板并排放置。
未命名的空间会跟随其第一个终端的文件夹。当你想要一个持久的标签时,请命名空间或标签页。 新标签页会在聚焦终端的文件夹中启动。
代理侧边栏将你空间中的代理汇集到一个列表中,包括由另一个代理启动的工作器。 报告状态的代理显示为:
- 工作中:仍在忙碌。
- 受阻:等待你。
- 完成:在你查看别处时已完成。
- 空闲:未工作,或你已查看过的已完成代理。
点击一个代理以查看它。没有窗格的工作器会在你的标签页上方以窥视方式打开。如果你希望它与其他工作并排,请将其保留为标签页。
按住 Ctrl 点击终端文本中的活动终端地址以窥视它;在 macOS 上使用 Cmd 点击。
诸如 t7 的地址表示与显示它的终端在同一台机器上的终端。vps/t7 表示另一台机器上的终端。
窗口安排终端。核心运行它们。 关闭窗口会让它们继续运行;关闭窗格或标签页会结束其终端。 在重启或核心崩溃后,保留的窗格会在其最后所在的文件夹中获得新的 shell,而不是其旧程序。
在另一台机器上工作
从设置 → 机器或侧边栏的添加机器操作中添加 SSH 机器。 从你的 SSH 配置中选择一个主机,或输入 SSH 如何到达它。 该机器上的空间会在那里运行其终端,而不是在你的计算机上。
每台机器都在其核心中保留其空间、标签页和拆分。连接的屏幕共享该结构和活动终端,但保留自己的焦点和缩放。 只要远程机器和核心保持运行,即使你的本地窗口关闭或笔记本电脑休眠,远程工作也会继续运行。
使其成为你的
打开命令面板以按名称查找操作,或打开设置以更改字体、颜色、声音和其他偏好。 内置布局包括 Herdr、Terminals 和 Herdr 98。 布局安排窗口。Mods 是绘制其面板、菜单和对话框的小型 JavaScript 程序。
在更改已发布布局或 mod 的结构或代码之前,先复制一份。你的副本始终归你所有;Herdr 会在启动时更新已发布的版本。 保存个人布局、mod 或按键文件后,窗口会重新加载它。 编辑出错时会保留上一个可用版本并报告错误。
Ctrl+Shift+P 显示所有命令及其快捷键(macOS 上为 Cmd+Shift+P)。在 keys.json 中更改任意按键;格式参见 mod 指南的按键部分。
更新与隐私
已安装的发行版会在后台检查更新,并在运行中的应用旁边下载新应用。当你退出并重新打开,或选择更新操作时,它会接管。你的终端继续在核心中运行。 设置 → 更新会显示可用的内容。更新后会打开“新功能”;你也可以从命令面板再次打开它。 从源码构建的版本不会自行更新。
发行版中默认开启使用情况遥测。可在设置 → 隐私中关闭。 Mod 是受信任的代码,不是沙箱化的扩展。安装他人的 mod 前请阅读安全与隐私。
面向 agent
herdr-app --skill
这会打印用于驱动窗口的 agent 指南。herdr-core 技能会将 agent 指向这里。 使用 herdr-core 运行和协调程序;使用应用来更改你所看到的内容。
herdr-app ls herdr-app status herdr-app commands
前两个命令检查已打开的窗口。命令列表在没有窗口时也可用。 参数参见命令参考。
从源码构建
关于 bug、mod API 请求和代码贡献,请参见贡献指南。
克隆此仓库及其子模块。使用 Rust 1.95.0 和 Zig 0.16.0,即 CI 中使用的版本。 Linux 需要该工作流中列出的开发包。
git clone --recurse-submodules https://github.com/herdrdev/herdr-app.git cd herdr-app just build just test just install
安装 just 以使用这些配方。 平台安装程序会构建一个发行版并将应用添加到你的桌面。 在 Linux 上它会链接到此检出目录,因此请保留该检出目录。 退出并重新打开 Herdr 以使用新构建。
文档检查还需要 Bun:just docs-check 检查生成的页面和 CLI 示例;just docs-generate 刷新参考页面。
要在 Windows、Linux 或 macOS 上比较绘制变化,请对每个构建运行相同的固定工作负载:
python scripts/bench.py --bin <app executable> --set spinners --seconds 20
运行器要求 hc 位于 PATH 中,并使用运行脚本的 Python 可执行文件。它会打印一个唯一的产物文件夹,其中包含运行设置、计数器和结果,然后停止其私有应用、终端和核心。两组都使用 Python 夹具程序;默认组的 TUI 工作负载取代了历史上的 btop 测量。--only spinners 仅测量安静的原生 spinner 场景。保持窗口可见且显示器不休眠,并比较相同的窗口活动和显示设置;非活动窗口可能以较低速率绘制。Windows 会在每个测量边界记录可见性、前台活动和显示 Hz;其他平台将这些观察标记为不可用。可见性不能确定遮挡。绘制是窗口渲染调用。渲染到绘制的耗时在场景最终化、后端绘制、上传和呈现之前停止;它与操作系统进程 CPU 时间分开。两者都不测量物理呈现或 FPS HUD 推导出的 MAX FPS。
python scripts/bench_compare.py ghostty --root <artifact folder> 复用一次运行的假 agent 进行 macOS 比较。基准检查:python -m unittest discover -s scripts -p test_bench.py。
来源:Hacker News · github.com